欢迎通过 Issues 提交功能建议与 Bug 反馈,也欢迎直接提交 Pull Request;使用说明见使用帮助。
Note
本项目自身代码几乎全部由 AI 协助开发,可能存在疏漏,由此给您带来的不便敬请谅解。
MoteDeck 是一个以遥控器语音控制电脑为核心的 Windows 工具,支持小米蓝牙语音遥控器 2 Pro(RC003)、小米遥控器2(RC001)与 Google TV 款的谷歌遥控器(Chromecast;谷歌 TV 遥控器均为第三方生产,存在多个版本,不能保证所有版本都可以使用),通过按键映射与语音输入,把遥控器变成电脑的快捷键和麦克风;连接 OpenMexia 后还可用语音控制米家设备。
按键可以映射成键盘快捷键(可选驱动级注入)、鼠标操作或打开应用,同一按键的单击、双击、长按可以各设一个动作;语音键能触发输入法的语音快捷键,也能用本地 SenseVoice 模型离线识别成文字;连接 OpenMexia 后还能用一句语音开关整屋设备。
提供 Windows 10 / 11 x64 的桌面版本,单窗口三页设置界面(设备 / 按键 / 语音),常驻通知区域并支持开机自启;安装包从 Releases 下载,未签名,首次运行按页面提示处理未就绪项即可。
程序全部在本机运行,不上传遥控器地址、按键记录、录音或个人数据。
本项目是基于 GPL-3.0 的 nijez/open-voice-bridge Windows 实现的改造版本(Windows 实现的历史仓库为 ZSTDJan/windows-remote-mic-app);上游归属、改动范围与 GPL-3.0 §5(a) 修改声明见 ATTRIBUTION.md;其余第三方组件与上游项目的说明详见致谢。
0.1.9 起同时支持小米遥控器2(RC001)与 Google TV 款的谷歌遥控器(Chromecast):设备页可以扫描、添加并选择它们,按键页与设备页会切换成对应遥控器的实物图和键位。小米遥控器2 与 2 Pro 的按键一致,语音按住话筒键录音、松手发送。
谷歌 TV 遥控器均为第三方生产,存在多个版本,不能保证所有版本都可以使用;遇到无法识别或按键对不上的版本,欢迎反馈到 Issues。
- 按键映射:方向、确认、返回、音量、菜单键可设为方向键、快捷键、鼠标操作、打开应用或 Quicker 动作;同一按键的单击、双击、长按可以各设一个动作。
- 语音输入:按住遥控器语音键说话,文字直接落进当前输入框;录音源可以是遥控器自带话筒,也可以是电脑本机麦克风。
- 按应用切换:为不同前台应用保存不同按键布局,切到该应用时自动生效,未配置的按键回落到全局映射。
- 驱动级注入:每个按键可单独选择
SendInput或 Interception 驱动级注入,长按和组合键更接近真实键盘手感。 - 米家设备联动:和同作者的 OpenMexia 连接后,按键动作里多出「米家设备」分组,可以直接开关灯、调亮度与色温。
- 配置管理:复制、应用、重命名、删除配置副本,支持导出/导入;当前映射自动保存,应用条可以直接拖动排序。
已随 0.1.4 发布,配合同作者的智能家居控制中枢 OpenMexia(0.1.11 及以上)使用:在沙发上按一下遥控器,就能开关灯、调亮度和色温,不必先走到电脑前。
分工保持清晰——MoteDeck 只负责「按键 → 指令」,米家登录、设备状态与通信全部由 OpenMexia 承担。两者通过本机回环 HTTP 通信(仅监听 127.0.0.1,每次启动随机 token 校验),MoteDeck 不会接触你的米家凭据,也不会上传任何设备数据。
- 覆盖范围:开关、亮度、色温、风速,以及 OpenMexia 里支持的自定义动作
- 配置方式:在「语音」页点「连接 OpenMexia」,按键页的动作下拉里就多出「米家设备」分组,选中「客厅灯 · 开灯」即完成绑定
- 语音控制:OpenMexia 连接后会多出一条专属语音键,按住说话、松手后由本机 SenseVoice 模型离线识别成文字交给 OpenMexia 执行;识别模型在「语音识别…」里按需安装(约 228MB,只下一次),不联网也不需要账号
Vokie 原生支持外接语音设备,MoteDeck 按它的插件协议做了适配,配套插件 MoteDeck2Vokie 已随 0.1.4 发布(插件版本 0.1.2)。装上之后,遥控器就是 Vokie 自己的语音设备:按住话筒键说话,音频由插件推进 Vokie 会话,松手后整理成完整文字再落进输入框。
- 不用再配虚拟声卡和模拟快捷键:插件与 MoteDeck 走本机回环
127.0.0.1直连(随机端口 + 共享 token),控制指令和音频都从这里过 - Vokie 的语音模式会同步到 MoteDeck 的语音键配置,遥控器上按一下就能切换
- 插件按 Vokie 当前会话类型走:闪记、翻译、语音指令各有各的通道,被拒时自动退回普通语音输入,不会出现「按了没反应」
- 安装:在 MoteDeck「语音」页点「下载插件」,把 MoteDeck2Vokie-0.1.2.zip 装进 Vokie 的插件目录,再在插件里点「开启连接」
这是插件界面里的通路总图:左边是不开插件时的虚拟声卡链路,右边是开插件后的直连链路,下方是两者的连接与语音键同步流程。
四段链路里只有两个地方需要你亲手选:MoteDeck 的「输出端点」选 CABLE Input,输入法里的麦克风选 CABLE Output。这两项选反了,麦克风就会“有声音但没文字”。
到 Releases 下载最新的 MoteDeckSetup-<版本号>-unsigned.exe,也可以先在 官网 查看当前版本与更新说明。
当前正式版为 0.1.9。直接下载 MoteDeckSetup-0.1.9-unsigned.exe,或查看 v0.1.9 版本说明。发布页同时提供 SHA256SUMS.txt,下载后可用 Get-FileHash -Algorithm SHA256 核对文件。
需要 Vokie 插件时,同一版本页提供 MoteDeck2Vokie-0.1.2.zip,也可以直接在软件「语音」页的「外部应用程序支持」里点「下载插件」。
- 系统要求:64 位 Windows 10 1809 或更高版本。
- 双击安装包按提示安装,默认装到
%LOCALAPPDATA%\MoteDeck,并创建开始菜单与桌面快捷方式;之后从 Windows 设置 → 应用 → MoteDeck 卸载。 - 程序未签名,Windows 首次运行可能弹出 SmartScreen 提示,选择“更多信息 → 仍要运行”。请只从本仓库或官网下载。
- 完整的使用说明见 使用说明。
- 先在 Windows 蓝牙设置里配对遥控器,再打开 MoteDeck。
- 在“设备”页点“选择设备”,选中刚配对的遥控器并点“使用此设备”,然后点“启动服务”。
- 按页面提示处理未就绪的项目,直到显示已连接。
在“按键”页选中遥控器上的按键,分别设置单击、双击或长按动作,点“完成”即保存。改完后按一次实体按键确认效果。
- 在“语音”页安装虚拟音频组件。MoteDeck 的“输出端点”选
CABLE Input,输入法的麦克风选CABLE Output。 - 核对 MoteDeck 里的「语音按键」与输入法里设置的语音快捷键一致;自动读取失败时可以手动录入。搜狗、微信、豆包、Vokie 等带语音快捷键的输入法都可以这样接。
- 先在记事本里用电脑键盘试一次这个快捷键,确认能唤起语音输入;再把光标留在输入框里,用遥控器说话。
需要 Python 3.12(Windows x64)。
Set-Location apps/windows/rc003
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements-dev.txt
$env:PYTHONPATH = Join-Path (Get-Location) 'src'
.\.venv\Scripts\python.exe -m ovb_rc003 --settings构建、测试和发布流程见 开发者文档 与 TESTING.md。
“设备”页的“检查更新”只查询本仓库 HZDavy/MoteDeck 的 GitHub Releases。启动后每天最多自动检查一次;下载由你手动触发,不会自动运行下载文件或覆盖当前安装,保存到桌面后请先完全退出 MoteDeck,再手动运行新下载的安装包。
- 遥控器地址、按键记录、录音、配置和日志都只保存在本机
%LOCALAPPDATA%\RemoteMic\RC003,不会上传到项目服务器。 - 检查更新只向 GitHub 请求公开发布信息,不发送本机数据。
- 关闭设置窗口默认只是隐藏到通知区域;需要结束时右键通知区域图标并选择“完全退出”。
- 自定义按键映射需要一次管理员授权安装本机权限助手;取消后自定义映射不会生效。普通按键和语音不受影响。
MoteDeck 由 Mote(远程、轻巧)和 Deck(控制面板)组成。
- 问题与建议:GitHub Issues
- 官网:hzdavy.github.io/MoteDeck
不管是提 issue 报告问题、提建议,还是改代码、写文档、做设计、帮忙测试,都算贡献。感谢每一位帮过忙的人:
Ultraw 🐛 |
vermouth587 🐛 |
||||||
|
|
|||||||
代码按 GPL-3.0-only 发布;第三方组件和素材按各自的许可与授权使用,见 第三方说明 与 素材授权。
本项目为个人学习交流用途,非官方软件,与小米/米家官方无任何关联,也未获其授权或背书。所用接口来自公开资料与开源项目,可能随固件或系统更新变化。请在符合当地法律法规和软件许可的前提下使用。
Windows RC003 客户端在 GPL-3.0 条件下基于 nijez/open-voice-bridge 改造,Windows 实现的历史仓库为 ZSTDJan/windows-remote-mic-app。感谢原作者的贡献,完整归属说明见 ATTRIBUTION.md。
小米遥控器2(RC001)的实现,以及小米遥控器 2 / 2 Pro 的型号判断(先按蓝牙名匹配,再读 GATT 0x2A24),参考了 GetSayAll/remote-mic-app-windows(SayAll Windows 版),由 Echo 提交(PR #7)。感谢他的公开实现。
驱动级注入用的内核驱动是第三方项目 Interception(作者 oblitum / Francisco Lopes):使用的是官方发布包里未修改的 interception.dll 与 install-interception.exe(由官方安装程序安装原版驱动),按 LGPL-3.0 用于非商业用途,许可与校验信息见 第三方说明。
离线语音识别用 sherpa-onnx(Apache-2.0,随包附带并内置 ONNX Runtime)跑 SenseVoice(MIT,阿里通义实验室)的模型;模型不随包分发,只在用户点击安装时下载,转换后的模型文件由 csukuangfj 提供。
nijez open-voice-bridge |
ZSTDJan windows-remote-mic-app |
Echo remote-mic-app-windows |
oblitum Interception |
k2-fsa sherpa-onnx |
QwenAudio SenseVoice |
csukuangfj SenseVoice 模型 |



