MiGPT实战:3步把小爱音箱变成AI语音助手
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
问小爱"为什么天空是蓝的",原版只会给你念一句百科摘要;用 MiGPT 把小爱音箱接入 ChatGPT 这类大模型后,她会用连贯的口语把原因完整讲出来,还能接着上次的话题聊。MiGPT 是个开源项目,干的事很单纯:把音箱收到的话交给大模型处理,再把回答合成语音念回来。项目目前已停止维护,但现有代码可以直接用,本文按仓库文档整理。
原理:一句话是怎么变成回答的
MiGPT 跑在电脑上,通过小米 IoT 开放接口轮询你和小爱之间的对话记录。检测到新消息后,它把内容发给大模型(ChatGPT、通义千问等兼容 OpenAI 接口的都行),拿到回复再调用 TTS 合成语音,让音箱播出来。进的是语音,中间是大模型,出来的还是语音,就这么个循环。
部署前先查:你的小爱音箱支持哪一档
小爱音箱型号不少,MiGPT 的支持程度分三档,差别主要在"连续对话":支持连续对话的机型可以先进入 AI 模式,之后连续追问,不用每句都喊"小爱同学";基本支持的机型每次提问都得重新喊一遍唤醒词。
| 档位 | 型号 | 连续对话 |
|---|---|---|
| 完美支持 | 小爱音箱 Pro(LX06)、小米AI音箱第二代(L15A)、小爱智能家庭屏 10(X10A)等 | 支持 |
| 基本支持 | 小爱音箱 mini(LX01)、小爱音箱 Play(L05B)、Play增强版(L05C)、小爱触屏音箱(LX04)等 | 不支持 |
| 不支持 | 小米小爱音箱 HD(SM4)、小爱蓝牙音箱随身版;小度、天猫精灵、HomePod 等非小米设备 | 不支持 |
型号怎么查:打开米家 APP,点进小爱音箱主页,右上角"更多"里能看到设备名称和具体型号。完整清单在 docs/compatibility.md,配置参数以仓库文档为准。
MiGPT安装:从克隆到启动
第一步,克隆仓库
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt执行完本地会出现mi-gpt目录,后面所有操作都在这个目录里做。
第二步,准备两份配置
把示例文件复制成正式文件:
cp .migpt.example.js .migpt.js cp .env.example .env执行完目录里多出.migpt.js和.env两个文件,接下来往里填。
.migpt.js管"账号 + 设备",关键就四行:
speaker: { userId: "987654321", // 小米ID,不是手机号或邮箱,在小米官网「个人信息-小米ID」查 password: "123456", // 小米账号密码 did: "小爱音箱Pro", // 必须和米家APP里的设备名称完全一致,含空格大小写 ttsCommand: [5, 1], // 按设备型号填,LX06/L15A/X10A 对应值见 docs/compatibility.md }wakeUpCommand同理,别漏。.env管"大模型",最少填两项:
OPENAI_API_KEY=sk-你的API密钥 OPENAI_MODEL=gpt-4o-mini想接通义千问、DeepSeek 这类兼容 OpenAI 接口的服务,就再改OPENAI_BASE_URL和模型名;其余可选项(提示音、第三方 TTS)先不管。
第三步,启动,Docker 和源码二选一
不想装 Node 环境的,直接一行 Docker 命令:
docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest执行完命令返回即容器已在后台跑,把两份配置挂进容器。Windows 终端下$(pwd)不生效,要换成两个文件的绝对路径。
有 Node.js 环境、想边看边调的,用源码方式:
pnpm install pnpm devpnpm install会自动初始化数据库;pnpm dev直接读.env和.migpt.js,控制台实时输出日志,改完配置重启就行。
第四步,验证它真的生效了
对着音箱说:"小爱同学,请解释一下黑洞是什么。"正常的话,音箱先播提示语"让我先想想",停顿一两秒后开始朗读——注意,念出来的不再是百科摘要,而是一段连贯的口语化回答。想试连续对话就说"小爱同学,召唤傻妞",进入 AI 模式后连续追问即可,说"退出"或"关闭"退出。
没反应时,第一步永远是看终端日志:账号密码错误会报"70016 登录验证失败";设备名对不上会报"找不到设备";日志一切正常但音箱没声音,多半是ttsCommand没按你的型号配对。
把音箱调教成你的
唤醒词和提示语。.migpt.js里:
callAIKeywords: ["请", "你", "傻妞"], // 这些词开头的消息才会触发AI onAIAsking: [], // 提示语设为空数组即关闭改callAIKeywords等于换"咒语";把onAIAsking、onAIReplied设成空数组,回答直接开始、没有垫话,听起来更快。
角色人设。文件顶部的bot和master就是双方人设,改name和profile即可。不想改文件,也可以直接说"小爱同学,你是 xxx,你 xxx"临时换人设。
连续对话开关。streamResponse设为true才开连续对话,只有"完美支持"档的机型建议开;其他机型保持false,用"我说完了"这种提示语收尾,回答更完整。
踩坑速查
| 现象 | 怎么查 | 怎么处理 |
|---|---|---|
| 音箱无反应 | 看终端日志有无报错 | 账号密码错会报"70016 登录验证失败";网络不通看 LLM 连接报错 |
| 找不到设备 | 日志报"找不到设备:xxx" | 打开米家 APP,把设备名称原样复制进did,空格大小写都要一致 |
| 有提示音但不朗读 | 控制台能打印出 AI 回复 | ttsCommand配错了,按设备型号查对应值 |
| 回答说到一半停 | 长回复被截断 | streamResponse改成false,代价是每次都要重新喊唤醒词 |
两条诊断命令:
docker ps docker logs -f mi-gpt前者确认容器还在跑,后者实时看日志,多数问题一眼定位。
部署完别急着关终端。现在就可以对着音箱试三种问法:单次"小爱同学,请 xxx"、召唤后连续追问、说"退出"回到日常模式。碰到报错先翻 docs/faq.md,里面按错误信息分好了类。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考