小米遥控器
99 元的小米蓝牙遥控器 2 Pro + 免费开源桥接 + VB-CABLE 虚拟声卡 = 躺在椅子上按住语音键就能跟任何 AI 对话,顺便它还是个顺手的视频遥控器。
> 作者本人每天都在用这套方案,写码、跟 AI 唠嗑、追剧全靠它。不是概念验证,是真在用。
先搞清楚它能干嘛(别只把它当写码工具)
装完之后你手上拿到的是一个躺平遥控器,干两件事:
① 按住说话代替打字 —— 任何需要敲字的地方都能用
写码只是其中一种用法。 只要屏幕上有个光标等着你输入,它就能顶上:
| 场景 | 怎么使 |
|---|---|
| 跟 AI 对话 | 豆包 / DeepSeek / ChatGPT / WorkBuddy / Cursor / Claude Code,按住说,松手上屏 |
| 写码提需求 | Vibe Coding 场景,躺着给 Cursor 下指令,不用坐到键盘前 |
| 口述文档 | 周报、日报、方案、邮件、会议纪要草稿 —— 说出来比敲快得多 |
| 聊天 / 搜索 | 微信聊天框、浏览器搜索框、任何输入框 |
| 手腾不开时 | 吃饭、抱孩子、做家务,按住键说一句就把消息回了 |
| 给 AI 下长指令 | 一口气说完需求,思路不会被打字打断,比手敲快好几倍 |
| 打字慢 / 长辈用 | 不用记键位、不用看键盘,会说话就会用 |
| 不想坐直时 | 靠在椅背上、半躺着操作,脖子和肩膀都松快 |
谁用着最爽:每天要跟 AI 工具对话的人、经常口述长内容的人、打字慢或不方便打字的人、以及单纯想躺着用电脑的人。
重点:中文识别走微信自家引擎,不烧任何 API 额度,用多少都免费。
② 它本来就是个遥控器 —— 看视频时最好使
方向键和 OK 键走的是标准键盘/多媒体信号,所以在播放器里天然可用:
| 操作 | 按键 |
|---|---|
| 播放 / 暂停 | OK 键(多数播放器也吃空格) |
| 快进 / 后退 | 右 / 左方向键 |
| 音量 +/- | 上 / 下方向键(或遥控器音量键) |
| 切全屏 / 退出 | TV 键 / 返回键 |
躺着追剧、刷课程视频,手不用离开扶手。这才是它最日常的用处。
适用条件(请先逐项确认,不满足则本方案不可用)
| 项目 | 要求 |
|---|---|
| 遥控器型号 | 小米蓝牙遥控器 2 Pro(RC003),走 ATVV 语音协议。普通红外 / Redmi 遥控器不支持 |
| 系统 | Windows 10 1809+ / Windows 11(64 位) |
| 语音识别 | 微信电脑版 4.1.7 及以上(自带全局语音输入,默认快捷键 Ctrl+Win) |
| 磁盘 | VB-CABLE 驱动几百 KB(必须 C 盘);桥接程序约 87MB(强制装 C 盘用户目录) |
平台支持
| 平台 | 支持情况 | 说明 |
|---|---|---|
| Windows 10 1809+ / Windows 11(64 位) | ✅ 完整支持 | 本技能全流程适用 |
| macOS | ❌ 不适用 | 见下方说明 |
| Linux | ❌ 不适用 | 无成熟 ATVV 桥接方案 |
为什么 macOS 走不通(硬限制):本方案依赖两个 Windows 专属组件,缺一不可:
1. VB-CABLE —— 基于 Windows 驱动模型的虚拟声卡,没有 macOS 版本
2. Xiaomi Remote Bridge —— PyInstaller 打包 + winrt 库(Windows Runtime)实现,是纯粹的 Windows 程序
另外遥控器本身的 ATVV 语音协议 macOS 同样不原生支持,所以不是"换个软件就行"的问题,是整条链路在 Mac 上不成立。
macOS / 其他平台用户替代思路(⚠️ 本技能未实测验证,仅供参考):
- 最简单:直接用 macOS 自带「听写」(系统设置 → 键盘 → 听写,默认按 Fn 两次唤起),不需要遥控器,中文识别走苹果自家引擎
- 想保留"躺椅上说话"的体验:改用蓝牙/无线麦克风 + 系统听写组合,链路比遥控器方案简单得多
- 市面上有「无线麦 SayAll」等第三方方案,本技能作者未实测,需自行判断
整体链路(排查时按这个顺序逐段验证)
按住遥控器语音键
→ ATVV 蓝牙音频传给 Xiaomi Remote Bridge
→ 灌进 CABLE Input(VB-CABLE 虚拟声卡)
→ CABLE Output 变成一个普通"麦克风"
→ 桥接同时注入 Ctrl+Win 热键
→ 唤起微信电脑版全局语音输入,监听 CABLE Output
→ 识别结果上屏到当前光标处
分段验证法:任何一段断了都会表现为"没反应",所以必须逐段确认,不要瞎猜。
七步实施流程
第 1 步:蓝牙配对
同时长按遥控器「主页键 🏠 + 菜单键 ☰」约 2 秒,底部白灯闪烁 = 进入配对模式。
Windows 设置 → 蓝牙和其他设备 → 添加蓝牙设备 → 选 MI RC。
✅ 验证:状态显示「已连接」(不是"已配对"),按音量键 Windows 有反应即可。
⚠️ 注意:此时不会出现"小米遥控器麦克风",ATVV 麦克风 Windows 认不了,必须有桥接软件。
第 1.5 步:开机自启(必做,否则每次重启都要手动踢一脚)
桥接程序每次冷启动会等蓝牙 GATT 栈就绪,配对地址已填的情况下会每 3 秒自动重连一次,理论上不用手动点——但用户实际体验是「重启后遥控器按键不响应,要打开桥接界面才能恢复」。
原因:Windows 蓝牙 GATT 服务在用户登录后才完全初始化;桥接启动太早,前几次连接尝试失败后虽然会自动重试,但旧版/某些机器上重连节奏跟不上,导致长时间无响应。
解决方案(已验证):在 shell:startup 里放一个延迟启动脚本,等蓝牙栈就绪后再启动桥接:
- 路径:%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\
- 文件名:启动小米遥控器桥接.bat
- 内容:
@echo off
timeout /t 20 /nobreak >nul 2>&1
start "" "%LOCALAPPDATA%\Programs\2655 AI\XiaomiRemoteBridge\XiaomiRemoteBridge.exe"
- 同时禁用安装器自己创建的无延迟快捷方式(同目录下的
小米遥控器桥接.lnk,改名.lnk.bak即可)
20 秒延迟足够覆盖绝大多数机器的蓝牙初始化时间;延迟期间桥接不会运行,不影响使用。
第 2 步:装 VB-CABLE 虚拟声卡(必须 C 盘)
下载:https://vb-audio.com/Cable/ (解压到纯英文路径,中文路径易导致安装失败)
> 国内网络提示:vb-audio.com 是法国站点,国内直连可能较慢或超时。可尝试切换网络(如手机热点),或搜索国内软件站的 VB-CABLE 镜像。第三方来源请自行判断安全性,本技能未实测任何镜像站。
首选装法:右键 VBCABLE_Setup_x64.exe → 以管理员身份运行 → UAC 点「是」→ 点 Install Driver → 重启。
装不上时的备选(成功率更高):用 Windows 官方命令装,还能拿到真实报错:
pnputil /add-driver "C:\path\to\vbMmeCable64_win10.inf" /install
✅ 验证(关键):用 PnP 查端点,不要用"文件是否存在"判断——现代驱动从 DriverStore 加载,
System32\drivers 里没有 .sys 文件是正常的:
Get-PnpDevice -Class AudioEndpoint | Where-Object { $_.FriendlyName -match 'CABLE' }
# 应看到:CABLE Input ... OK、CABLE Output ... OK
第 3 步:装 Xiaomi Remote Bridge
下载 XiaomiRemoteBridgeSetup-1.0.0.exe:
https://github.com/xxb26553663-star/remote-bridge-hub/releases
> 国内网络提示:GitHub Releases 国内访问不稳定。下载不动时可换手机热点,或使用常见的 GitHub 加速/代理方式(第三方服务请自行判断风险)。后续第 5 步用 pip 下载模块时,可加 -i https://pypi.tuna.tsinghua.edu.cn/simple 走清华 PyPI 镜像,速度会快很多。
⚠️ 是 Inno Setup 安装包,不支持 /S /D 静默参数,强制装到:
C:\Users\<用户名>\AppData\Local\Programs\2655 AI\XiaomiRemoteBridge
第 4 步:填遥控器蓝牙地址(最容易漏,漏了必崩)
桥接不会自动填地址,不填就无限崩溃重连。
获取地址:
Get-PnpDevice | Where-Object { $_.FriendlyName -match '小米|Xiaomi|MI RC' }
# 设备 ID 形如 BTHLE\DEV_C05D39C336D5\... → 地址 = C0:5D:39:C3:36:D5
写入配置(也可在程序设置页手填 AA:BB:CC:DD:EE:FF 格式):
- %APPDATA%\XiaomiRemoteBridge\xiaomi.json → "address": "C0:5D:39:C3:36:D5"
- %APPDATA%\XiaomiRemoteBridge\xiaomi_keys.json → "device_match": ["c05d39c336d5"]
⚠️ 改配置前必须先关掉桥接进程,否则退出时会被旧配置覆盖。
第 5 步:补 winrt 模块(官方打包漏了,必现错误)
症状:ModuleNotFoundError: No module named 'winrt.windows.foundation'
原因:PyInstaller 打包时漏了 winrt_windows_foundation(_internal 里只有 runtime / bluetooth / enumeration)。
修复套路(通用,适用于任何 PyInstaller 打包应用缺模块):
1. 看 _internal 里的 python3xx.dll 定 Python 版本,看 winrt_runtime-x.y.z.dist-info 定包版本
2. 下对应 wheel:
python -m pip download winrt-Windows-Foundation==3.2.1 winrt-Windows-Foundation-Collections==3.2.1 \
--no-deps --only-binary :all: --python-version 3.12 --implementation cp --abi cp312 --platform win_amd64 -d ./wheels
- 用 zipfile 把 wheel 解压进
_internal(namespace 包会自动合并进已有的winrt/目录) - 重启应用
⚠️ Git Bash 的 /tmp 路径 Windows Python 认不了,先 cygpath -w 转真实路径。
第 6 步:配置麦克风与语音热键
在桥接程序里:
- 「启用麦克风绑定」旁的设备下拉框 → 选 CABLE Input (VB-Audio Virtual Cable)(选 Input 那头,不是 Output)
- 语音热键 → 左Ctrl + 左Win(正好匹配微信全局语音输入的默认快捷键)
- 触发模式 → hold(按住说话,松手结束)
- 音量/增益 10.0 起步,识别不好再调
第 7 步:微信侧设置
- 微信电脑版升级到 4.1.7+,设置 → 快捷键 → 确认「语音输入」= Ctrl+Win
- 把微信的输入设备指向 CABLE Output:
Windows 设置 → 系统 → 声音 → 音量合成器 → 应用音量和设备首选项 → 微信 → 输入设备选 CABLE Output
(这样不影响其他软件继续用真麦克风;实在不行再临时把 CABLE Output 设为系统默认录音设备)
故障速查表
| 症状 | 日志特征 | 原因 / 解法 |
|---|---|---|
| 按语音键刷出「10:05 2026/9/7」时间戳 | CONNECTING remote=(地址为空)→ ValueError: invalid literal for int() with base 16: '' |
蓝牙地址没填,ATVV 没起来,语音键漏到 HID 通道乱映射。→ 第 4 步 |
| 连不上,反复重连 | ModuleNotFoundError: No module named 'winrt.windows.foundation' |
缺 winrt 模块 → 第 5 步 |
CONNECTED 但马上断 |
RuntimeError: this bridge currently requires ATVV 16 kHz audio |
首次协商拿到 8kHz;一般第二次自动协商成 16000,若持续失败重启遥控器 |
| 出现"开始说话"但松手没文字 | 音频日志正常 | 微信侧麦克风没指向 CABLE Output → 第 7 步 |
| 驱动装了但设备列表没有 CABLE | System32\drivers 无 vbaudio 文件 | 这是正常的,用 Get-PnpDevice -Class AudioEndpoint 判断,别用文件是否存在 |
| UAC 点了没反应 | 无 | 那个"是/否"就是 UAC,必须点「是」,点否程序根本不启动 |
常见问题 FAQ
Q1:按语音键完全没反应,第一步该查什么?
查 %APPDATA%\XiaomiRemoteBridge\logs\bridge.log。九成是蓝牙地址没填——日志会刷 CONNECTING remote= 后面跟空地址。补地址见第 4 步。
Q2:首次安装失败 / VB-CABLE 驱动装不上?
不要靠"System32 里有没有 .sys 文件"判断:现代驱动从 DriverStore 加载,那里没文件是正常的。正确做法是用 Get-PnpDevice -Class AudioEndpoint 查端点,看到 CABLE Input / CABLE Output 两个「OK」才算装好。另外 UAC 弹窗必须点「是」,点否程序根本不启动。
Q3:能识别但延迟高、识别不准?
按顺序排查:① 桥接里把增益调到 10 以上;② 确认微信的输入设备选的是 CABLE Output 而不是真麦克风(见第 7 步);③ 说话时离遥控器近一点——遥控器本身就是麦克风;④ 关掉其他正在占用麦克风的程序。
Q4:Git Bash 里跑 Python 报路径错误?
Git Bash 的 /tmp、/e/xxx 这类路径,Windows 版 Python 认不了。要么用 cygpath -w 转成真实路径,要么直接写成 E:/xxx、C:/xxx 的形式。
Q5:重启电脑后遥控器不响应?
原因是桥接启动太早、蓝牙 GATT 服务尚未就绪。按第 1.5 步加一个 20 秒延迟的自启脚本即可根治。
Q6:蓝牙断连后需要手动重连吗?
桥接默认每 3 秒自动重连一次,短时断开一般能自愈。若长时间未恢复,先看 bridge.log 是否报 ATVV 采样率协商失败(8kHz vs 16kHz);持续失败就重启遥控器。
Q7:Mac 能用吗?
不能,且是硬限制:VB-CABLE 无 macOS 版本、桥接程序依赖 Windows Runtime、ATVV 协议 macOS 也不原生支持。Mac 用户直接用系统自带「听写」(按 Fn 两次唤起)更省事。
Q8:除了写代码还能干什么?
任何需要打字的地方都能用:跟豆包 / DeepSeek / ChatGPT / WorkBuddy 对话、口述周报日报、微信聊天、搜索框输入。此外它本身就是个遥控器——看视频时 OK 键暂停播放、左右键快进后退、上下键调音量。
Q9:会不会烧 API 额度?
不会。中文识别走微信电脑版自带的语音输入引擎,用多少都不花钱。
关键文件路径
桥接程序 C:\Users\<用户>\AppData\Local\Programs\2655 AI\XiaomiRemoteBridge\
模块目录 ...\_internal\ ← 补 winrt 模块放这里
配置文件 %APPDATA%\XiaomiRemoteBridge\xiaomi.json (蓝牙地址、增益、语音热键)
按键映射 %APPDATA%\XiaomiRemoteBridge\xiaomi_keys.json
日志 %APPDATA%\XiaomiRemoteBridge\logs\bridge.log ← 排查第一现场
%APPDATA%\XiaomiRemoteBridge\logs\audio.log (确认输出设备)
排查第一动作永远是读 bridge.log,成功状态长这样:
CONNECTED remote=MI RC; discovering ATVV
ATVV DISCOVERED
READY remote=MI RC audio_router=127.0.0.1:31680 rate=48000; press and hold the remote microphone button
CAPS version=1.0 codec=0x02 sample_rate=16000 frame_size=120
出厂默认按键映射(可在程序里改)
| 键 | 默认 | 写码时建议 | 日常 / 看视频时 |
|---|---|---|---|
| 语音键 | Ctrl+Win(按住说话) | 保持 | 主力键:跟 AI 对话、口述周报、微信聊天全靠它 |
| OK | 回车 | 保持(直接发 prompt) | 播放 / 暂停 |
| 方向键 | 上下左右 | 保持 | 左右 = 快进 / 后退;上下 = 音量或进度 |
| 返回 | 退格 | 保持 | 退出全屏 / 返回上一级 |
| 主页键 | Win+D(显示桌面) | 改成启动你的 IDE,写码时 Win+D 没用 | 保持 Win+D,一键回桌面很实用 |
| 菜单键 | Shift+F10 | 改成 Ctrl+Z(撤回) | 通用撤回,写东西时救命 |
| TV 键 | Alt+Esc | 保持(切窗口) | 改成 Ctrl+Y(重做),或保持切窗口看剧时用 |
| 电源键 | Esc | 保持 | 保持(别怕误触关机) |
一键诊断脚本
python scripts/doctor.py # 只体检,输出每段链路状态
python scripts/doctor.py --fix # 自动修复:补蓝牙地址 + 补 winrt 模块
脚本会依次检查:遥控器是否配对 → 蓝牙地址 → VB-CABLE 端点 → 桥接配置 → 模块完整性 → 最近日志错误。
> 说明:doctor.py 会调用 PowerShell 查询蓝牙设备与音频端点(只读诊断),--fix 模式下会下载缺失的 winrt 模块并写入桥接配置。全部操作仅限本机,不上传任何数据。
总结
一句话推荐:99 块的小米遥控器 2 Pro + 免费开源桥接,做成躺椅上的全能语音遥控器——按住说话就能跟 AI 唠嗑、写周报、发微信,顺便还能当电视遥控器看剧,不烧 API 额度,中文识别走微信自家引擎。
三个卖点:
1. 不只是写码 —— 凡是你要敲字的地方,它都能替你张嘴
2. 不花钱 —— 识别走微信引擎,不用买任何 API 额度,装好之后零成本使用
3. 真在用 —— 作者本人每天都在用这套方案,不是概念验证
两个高频故障点:蓝牙地址必须手填、winrt 模块官方漏打包(后者已有一键脚本自动修复)。按本技能的速查表与 FAQ 走,约 20 分钟可完成配置。