当你的电脑没有麦克风,或者电脑自带的麦克风效果不佳时,PhoneMic 可以帮你轻松解决语音输入问题。你只需用手机扫码,即可将手机上任意输入法(如豆包、讯飞、搜狗等)识别出的文字,实时发送到电脑当前光标位置。
简单来说,PhoneMic 把手机变成电脑的"无线麦克风"——手机负责拾音和语音识别,电脑负责接收文字并自动填入,让你在电脑上也能享受手机端成熟的语音输入体验。
除了语音输入,PhoneMic 还能让手机当无线鼠标/触控板用、一键触发快捷键,以及把手机上的文件和图片直接传到电脑上,具体可以在手机端页面自行探索。
核心特性:
- ✅ 无需安装 App – 手机扫码即用,浏览器直接访问,不占手机空间
- ✅ 完美适配电脑无麦场景 – 电脑无需任何麦克风硬件,全靠手机端输入法完成语音转文字
- ✅ 实时预览 – 电脑悬浮窗实时显示输入内容,无焦点不干扰
- ✅ 自动发送 – 语音识别结束后自动上屏,流畅高效
- ✅ 语音命令 – 自定义文字触发模拟按键、输入文本或运行外部程序
- ✅ 终端也能上屏 – 除剪贴板粘贴外,还可切换为模拟键盘逐字符输入,在 cmd / PowerShell / Windows Terminal / SSH 客户端 / vim 等不支持 Ctrl+V 的程序里照样可用;选「模拟键盘(实时)」则像输入法一样,说话过程中文字就逐字出现在光标处
- ✅ 手机遥控电脑 – 手机端可展开控制面板,当触控板、鼠标摇杆用,还能一键触发常用快捷键(Ctrl+Z / Alt+Tab等)
- ✅ 文件/图片传输 – 手机上的文件直接传到电脑下载目录,图片则一键写入剪贴板,粘贴即用
- ✅ 隐私安全 – 通信全程端到端加密,密钥只在手机和电脑两端,中间节点看不到内容:局域网数据不经过云端,Cloudflare 则在 HTTPS 之上再叠加一层(0.6.1 起所有模式一律加密,此前局域网模式可以选择不加密)。认证方式可选 人工认证(局域网默认,首次在电脑上核对 4 位识别码并点「允许」,之后自动认证)或 扫码认证,在菜单 网络 里切换;两种都能扫码连接,人工认证也可以直接输入地址。
-
下载安装
从以下任一平台下载最新的安装包并运行安装:提供两个版本:标准版(
PhoneMic_Setup_...exe)和内嵌版(PhoneMic_Setup_bundled_...exe,自带 cloudflared,开箱即用)。 -
启动程序
安装完成后,双击桌面图标或从开始菜单启动 PhoneMic。 -
连接手机
- 程序启动后,如果检测到多个 IP 地址,请选择手机所在网络的 IP。
- 用手机相机扫描主界面上的二维码,手机浏览器会自动打开 PhoneMic 页面。
- 当手机页面显示“已连接”时,即可开始使用。
- 不方便扫码时,也可在手机浏览器直接输入主界面显示的地址;若认证方式是「人工认证」(局域网默认),扫码和输入地址都一样,首次连接需在电脑上点一次「允许」(详见加密与认证)。
-
开始使用
- 在手机输入框中输入文字(或使用语音输入),电脑悬浮窗会实时显示。
- 默认自动发送模式:语音识别结束后文字自动上屏。
- 如果发送的文本符合用户定义命令,会触发自定义动作,例如手机语音发送“确定”,电脑端会触发回车。
- 您也可以在手机页面切换到手动发送模式,点击“发送”按钮上屏。
前往以下任一 Releases 页面下载安装包:
提供内嵌版本(PhoneMic_Setup_bundled_...exe,自带 cloudflared,开箱即用)。
需要先安装 uv,详见 https://docs.astral.sh/uv/getting-started/installation/ ,windows安装命令如下:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"打开命令行,依次运行下列命令:
# 克隆仓库(如果github连接不上可选镜像 https://gitee.com/franj/PhoneMic.git )
git clone https://github.com/franj/PhoneMic.git
cd PhoneMic
# 安装依赖
uv venv --python 3.13.14
uv sync --no-dev
# 运行程序
uvw run app创建从源码运行的桌面快捷方式(可选):依赖同步(uv sync)完成后,运行仓库自带的 make_windows_lnk.ps1,即可在桌面生成名为 PhoneMic Dev 的快捷方式,之后双击图标就能启动,无需每次开命令行,也不用下载安装包:
powershell -ExecutionPolicy Bypass -File .\make_windows_lnk.ps1make_windows_lnk脚本会以当前仓库为工作目录,用源码目录下 .venv 里的 pythonw.exe 启动程序,并套用 phonemic/resources/favicon.ico 作为图标。若项目移动位置,需重新运行一次make_windows_lnk。
从源码运行时,如需使用 Cloudflare 隧道模式,需自行安装
cloudflared,详见下文前置条件。
PhoneMic 默认在局域网内工作。如果手机和电脑不在同一局域网(如手机使用移动数据,或处于访客 WiFi、VPN 等隔离网络),可以切换到 Cloudflare 隧道模式,它会自动建立 HTTPS 加密隧道,无需公网 IP 和端口映射。
-
安装
cloudflared(三选一):- bundled 安装包用户: cloudflared 已内嵌,无需额外安装,跳过即可。
- 安装版: 前往 cloudflared Releases 下载
.msi安装包,双击安装,自动配置 PATH。 - 免安装版: 下载
cloudflared-windows-amd64.exe,重命名为cloudflared.exe,放到系统 PATH 目录下(如C:\Windows\),或放到 PhoneMic 程序同级目录。 - 安装后在命令行执行
cloudflared --version确认可用(bundled 用户可跳过此步)。
-
无需 Cloudflare 账号。PhoneMic 使用的是 Cloudflare 免费快速隧道(
trycloudflare.com),每次启动会分配一个随机域名。
- 在 PhoneMic 主界面菜单栏点击 网络 → Cloudflare 切换模式。
- 程序会自动启动隧道,成功后界面显示二维码。
- 用手机扫码打开页面,手机端自动完成密钥交换与认证(该模式固定使用扫码认证)。
- 认证通过后即可正常使用。
- 安全性: 隧道本身提供 HTTPS 加密,PhoneMic 的端到端加密又在此之上叠加一层:PC 公钥通过二维码带外传递,手机用 crypto_box_seal 密封自己的公钥发送给 PC,此后双向通信全部加密,Cloudflare 中间节点也只能看到密文。
- 域名变化: 每次启动隧道域名会变,程序会自动更新二维码,重新扫码即可。
- 回退机制: 如果
cloudflared未安装或启动失败,程序会自动回退到局域网模式。 - 中国大陆用户: Cloudflare 隧道在国内可能有连接不稳定的情况,如遇问题请使用局域网模式。
- 公司/单位网络: 如果局域网直连都不通,说明网络管控较严。Cloudflare 隧道通过互联网中转,连接本身有 HTTPS 加密且叠加端到端加密,但请确认单位是否允许建立外部隧道连接,使用前请确认是否违反单位安全规定。
PhoneMic 支持自定义命令,在手机完成发送文本后,电脑将特定文字映射为模拟按键、输入文本或运行外部程序。
- 打开命令管理:主界面菜单栏
程序 → 命令配置,或右键系统托盘图标选择命令配置。 - 新增命令:点击"新增",填写名称、匹配类型(完全/前缀/正则)、匹配模式、动作类型(按键/程序)和动作参数。
动作参数(按键类型)由"按键段"和"文本段"混合组成,用逗号分隔:
| 段类型 | 写法 | 含义 |
|---|---|---|
| 按键 | 不带引号,如 ctrl+a |
模拟按键组合 |
| 文本 | 带引号,如 "hello" |
输入文本,支持占位符 |
常用命令示例:
| 你想实现的 | 匹配模式 | 动作参数 |
|---|---|---|
| 说"确定"就按回车 | 确定 |
enter |
| 说"清空"就全选再删除 | 清空 |
ctrl+a, delete |
| 输入一对双引号并移到中间 | 双引号 |
"\"\"", left |
| 输入当前时间 | 时间 |
"{time}" |
| 输入今天的日期 | 日期 |
"{date}" |
| 说"超级确定"就按 Ctrl+Enter | 超级确定 |
ctrl+enter |
| 运行 AutoHotkey 脚本(完全匹配) | 帮我收集今天股票涨停信息 |
"C:\Program Files\AutoHotkey\AutoHotkey.exe" D:\scripts\collect_stocks.ahk |
| 带参数运行脚本(前缀匹配) | 请记录待办 |
cmd /c echo {content} >> D:\todo.txt |
更多说明:
- 按键段:支持组合键,如
ctrl+a, delete(先全选后删除)。 - 文本段:用双引号或单引号包裹要输入的文本。引号内的逗号不算分隔符。要输入字面的引号用反斜杠转义(
\"或\')。 - 占位符(按键段和运行程序都支持):
{time}(当前时间 HH:MM:SS)、{date}(今天日期 YYYY-MM-DD)、{content}、{prefix}、{all_text}会被自动替换;正则匹配额外支持{0}(整段匹配)、{1}(第 1 个捕获组)等引用捕获组。 - 运行程序:
calc(打开计算器),python D:\script.py {content}(使用动态内容)。 - 自定义工作目录:在命令行前加
{cwd:"绝对路径"},如{cwd:"D:\\work"} python run.py。
所有命令立即生效,无需重启。
进阶用户提示:你可以直接编辑配置文件 C:\Users\你的用户名\AppData\Local\PhoneMic\config\commands.json 来批量管理命令。修改前请备份,并确保 JSON 格式正确(逗号、引号等)。
本项目 (PhoneMic) 采用 Apache 2.0 许可证开源,详见 LICENSE 文件。
本软件使用了以下开源组件:
- PySide6 (LGPL v3) – 主页
- Starlette (BSD 3-Clause) – 主页
- Uvicorn (BSD 3-Clause) – 主页
- PyWin32 (PSF License)
- PyAutoGUI (BSD 3-Clause)
- Pyperclip (BSD 3-Clause)
- netifaces (MIT)
- psutil (BSD 3-Clause)
- qrcode (BSD 3-Clause)
- pyparsing (MIT)
- PyNaCl (BSD 3-Clause) – 主页
- msgpack (Apache 2.0) – 主页
- libsodium.js (ISC) – 主页
- @msgpack/msgpack.js (MIT) – 主页
- cloudflared (Apache 2.0, 可选) – 主页
详细的版权和许可声明请参阅 NOTICE.txt 文件。
根据 LGPL 协议要求,您可以替换 PySide6 的动态库文件,并获取 Qt 的完整源代码(见 NOTICE.txt)。
欢迎提交 Issue 和 Pull Request!请确保代码符合 PEP8 规范,并尽可能添加测试。
- 项目主页:
- 报告问题:
© 2026 PhoneMic 开发者
