弥补遗憾,让手机输入法成为电脑的“最强外挂”
很多好用的输入法(如豆包输入法)在手机端体验极佳,却迟迟没有电脑版。为了能直接在电脑上使用手机的高质量语音识别和联想输入,我开发了这个轻量工具。它将手机化身为电脑的“无线键盘”,实现跨设备输入无缝衔接。
- 🎙️ 语音输入神器:电脑打字累了?利用手机端强大的语音转文字功能(如豆包、讯飞),对着手机说话,文字即刻“飞”上电脑屏幕。
- 🔗 扫码即用:无需数据线,无需注册账号。只要手机和电脑处于同一 Wi-Fi,使用微信或浏览器扫码即连。
- 🧠 智能同步算法:
- 双向感应:在手机上删字,电脑同步退格;检测到电脑主动打字时,手机端自动避让,绝不打乱现有文稿。
- 极低延迟:基于 WebSocket 协议和增量同步技术,输入体验如丝般顺滑。
- 双向感应:在手机上删字,电脑同步退格;检测到电脑主动打字时,手机端自动避让,绝不打乱现有文稿。
- 极低延迟:基于 WebSocket 协议和增量同步技术,输入体验如丝般顺滑。
- 🎨 极简设计:轻量级后台运行,支持最小化至系统托盘,不打扰你的正常工作流。
- ⚙️ 自定义设置:支持自定义局域网IP、端口号、窗口大小、退格限制、智能感知开关、自动清空开关和自动清空时间,满足不同网络环境和个人需求。
项目采用模块化架构方案:
- 后端:基于 Python 的
aiohttp异步框架,确保高并发下的输入稳定性。 - 前端:移动端采用原生 HTML5 + WebSocket,兼容市面 99% 的手机浏览器。
- 核心逻辑:自研增量同步算法,仅传输变动字符,极大节省流量并降低延迟。
- 跨平台:支持 Windows 与 macOS。
- 下载安装:前往 Release 页面 下载最新版
InputSyncHelper_Win64_setup.exe。 - 启动服务:双击运行,程序会自动生成连接二维码和访问链接。
- 扫码连接:使用手机浏览器(推荐 Chrome/Safari)或微信扫描二维码,或直接在手机浏览器中输入显示的链接。
- 开始创作:在手机输入框内打字或使用语音,文字将实时录入电脑光标位置。
- 自定义设置:点击左上角的"自定义"按钮,可设置以下选项:
- 局域网IP:留空使用自动检测
- 端口号:默认5000
- 窗口大小:主窗口大小,格式为"宽x高"
- 设置窗口:设置窗口大小,格式为"宽x高"
- 退格限制:最大退格次数,防止误删
- 智能感知:开启后,电脑操作会重置同步状态
- 自动清空:开启后,输入一段时间后会自动清空输入框
- 清空时间:自动清空的时间(秒) 设置保存后会自动应用并重启服务器。
适合开发者或想直接跑最新代码的用户。项目依赖在 requirements.txt,用 uv 可以快速配环境。
1. 安装 uv(Windows PowerShell,只需一次)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"安装后新开一个终端,确认:uv --version
2. 进入项目目录,创建环境并安装依赖
cd InputSyncHelper
uv venv --python 3.10
.\.venv\Scripts\Activate.ps1
uv pip install -r requirements.txt3. 启动
python main.py一条命令直接跑(不用手动 activate)
uv run --python 3.10 --with-requirements requirements.txt python main.py启动后流程与安装版相同:电脑显示二维码 → 手机同 Wi-Fi 扫码 → 即可输入同步。
用户配置会写入
%APPDATA%\InputSyncHelper\settings.json,与 Release 安装版一致。
- 网络连接:确保手机和电脑处于同一 Wi-Fi 网络环境下。
- 安全提示:
- 由于程序需要模拟键盘输入和获取网络信息等敏感权限,部分安全软件(如卡巴斯基)可能会将其识别为病毒或木马。
- 这是误报,因为程序需要这些权限来实现跨设备输入同步功能。
- 如需验证安全性,可自行审查代码后打包使用,或在安全软件中添加信任例外。
- 使用建议:推荐使用手机端的语音输入法(如豆包、讯飞)以获得最佳体验。
- 问题修复:修复了与语音输入法的剪贴板冲突问题。之前复制的内容会被错误粘贴,现在输入完成后会清空剪贴板,避免干扰语音输入等使用剪贴板的功能。
- 新增功能:添加了智能感知开关,可控制电脑操作是否重置同步状态。
- 新增功能:添加了自动清空开关和时间自定义功能,可控制输入框是否自动清空及清空时间。
- 界面优化:为设置窗口添加了滚动条,确保所有设置项都能正常显示。
- 界面优化:将保存设置按钮移到设置窗口顶部,方便用户操作。
- 用户体验:实现了窗口大小的自适应功能,确保在不同分辨率的电脑上都能正常显示。
- 默认设置:默认关闭自动清空功能,避免输入多句话被清空的问题。
- 新增功能:添加了完整的自定义设置功能,支持自定义局域网IP、端口号、窗口大小和退格限制。
- 界面优化:将设置功能移到左上角的"自定义"按钮,点击打开独立的设置窗口。
- 默认设置:默认局域网IP设置为 192.168.10.23,提高连接稳定性。
- 用户体验:保存设置后自动重启服务器并更新二维码,确保设置立即生效。
- 数据持久化:所有设置会保存到 settings.json 文件,下次启动时自动加载。
- 新增功能:添加了退格次数限制自定义功能,用户可以在图形界面中输入自己想要的退格次数限制。
- 界面优化:在主界面中添加了退格次数设置区域,包含输入框和保存按钮。
- 用户体验:添加了输入验证和保存成功的提示信息,确保用户设置的有效性。
- 网络优化:改进了 IP 地址获取方式,确保服务能够正确绑定到本地网络地址。
本项目在开发过程中参考了 CatDB 的设计思路,感谢原作者 @1900chen 的开源贡献。
A: 请检查以下几点:
- 确保手机和电脑处于同一 Wi-Fi 网络
- 检查防火墙是否阻止了端口 5000 的访问
- 确认程序是否正常运行,端口 5000 是否被占用
A: 请确保网络连接稳定,避免使用信号较弱的 Wi-Fi。
A: 程序启动后会在界面上显示完整的访问链接,包含当前电脑的 IP 地址。

