MiGPT教程:30分钟把小爱音箱改造成大模型AI语音助手
2026/9/14 14:17:35 网站建设 项目流程

MiGPT教程:30分钟把小爱音箱改造成大模型AI语音助手

【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt

接入 MiGPT 后,你对小爱音箱说"小爱,天空为什么是蓝色的",得到的不再是"这个我还不会",而是大模型生成的完整解释。它记得你上一句问了什么,有自己的名字和性格,还支持连续对话。本教程用 Docker 三步完成部署,全程约 30 分钟。

小爱音箱AI改造后能做什么 🔊

能力小爱默认状态接入大模型后
问答只能走预置技能库开放域问答、深度讨论
记忆每次提问互不相干短期 + 长期记忆,越聊越懂你
人设固定音色、固定语气自定义名字、性格与 TTS 音色
交互一问一答唤醒后连续对话

上手前30秒自查:设备、网络、时间 ✅

  • 设备:小爱音箱,大部分型号支持,Pro 系列运行最完整;小度、天猫精灵不在支持范围
  • 网络:部署机能稳定访问大模型 API,国内网络可能需要代理
  • 时间:一个小爱账号 + 一个模型 API Key,从零到跑通约 30 分钟

动手实战:三步完成 MiGPT 部署与大模型接入 🚀

先把代码拿到一台常开的机器上

git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt

建议部署在家里常开的主机(NAS、迷你主机)上。Docker 方式只需装好 Docker;走源码方式则要求 Node.js 16 以上。

再填好两个配置文件

cp .env.example .env cp .migpt.example.js .migpt.js

.env管大模型:OPENAI_API_KEY填你的密钥,OPENAI_MODEL填模型名,默认gpt-4o-mini。接入通义千问、DeepSeek 等兼容 OpenAI 协议的模型,把OPENAI_BASE_URL指向对应接口即可;豆包、文心一言这类不兼容的模型,先挂一个 API 聚合网关,再填网关地址。逐项含义见配置文件说明。

.migpt.js管音箱,四个值重点核对:

  • speaker.userId:小米 ID,不是手机号或邮箱,在米家 App「个人信息」页查看
  • speaker.password:小米账号密码
  • speaker.did:米家中给音箱起的名字,注意空格和错别字
  • ttsCommand/wakeUpCommand:MIoT 指令编号,小爱音箱 Pro 为[5, 1][5, 3],其他型号去规格库按型号搜索确认

规则很简单:play-text方法的 SIID 是 5、AIID 是 1,对应ttsCommand: [5, 1]wake-up方法 AIID 是 3,对应wakeUpCommand: [5, 3]

最后启动服务并验证

Docker 方式一行命令:

docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest

源码方式则执行pnpm install后运行pnpm dev。终端打印"服务已启动"即部署成功,对着音箱说"小爱同学,召唤傻妞"验证。

跑起来之后的三个用法场景 🎬

连续对话:召唤模式

你说:"小爱同学,召唤傻妞。" 音箱:"你好,我是傻妞,很高兴认识你。" 你说:"你喜欢我吗?" 音箱:"喜欢啊,你早上刚问过这个问题,我还记着。" 你说:"傻妞,退出。" 音箱:"傻妞已退出。"

连续对话依赖对音箱播放状态的轮询。部分型号查询状态异常时需要显式配置playingCommand

亲子问答:深度对话

你说:"小爱同学,请告诉我天空为什么是蓝色的。" 音箱:"这是光线散射的结果。阳光里含有各种颜色,蓝光波长最短,在空气中散射得最厉害,所以抬头看是蓝色。" 你说:"那日落为什么是红色?" 音箱:"傍晚光线穿过更厚的大气层,蓝光几乎散完了,剩下波长最长的红光到达你的眼睛。"

角色设定:自定义人设

你说:"小爱同学,你如何看待加班?" 音箱:"我觉得加班不该被美化,该交付的事交付完,剩下的时间属于生活。"

人设由.migpt.js里的bot.profile决定,回复风格由systemTemplate控制。改文案就是改性格,比如把"乖巧可爱"换成"毒舌但靠谱",语气立刻不同。

避坑速查:连接失败、响应慢、不唤醒 🛠️

服务在跑但音箱没反应

  • 现象:容器正常,日志无报错,喊"小爱同学"毫无反应
  • 原因:did与米家中实际名称不一致,或型号不在兼容列表内
  • 动作:打开米家核对名称逐字比对,对照docs/compatibility.md里的参数表修正ttsCommandwakeUpCommand

提问后要等很久才回答

  • 现象:每次提问后静默数秒,中间还夹杂"让我先想想"
  • 原因:默认参数偏保守,onAIAskingonAIReplied两句提示语各占一段时间
  • 动作:把onAIAskingonAIReplied设为空数组,OPENAI_MODEL换成响应更快的模型

AI 该唤醒时不唤醒

  • 现象:偶尔喊了没反应,或说别的词它也搭话
  • 原因:部署机网络抖动导致轮询漏消息,或唤醒关键词太宽泛
  • 动作:检查网络稳定性,把callAIKeywordswakeUpKeywords收窄为自定义词,更多情况见常见问题

进阶方向:角色提示词、多设备分工与本地 TTS 🧩

角色深挖systemTemplate里还能控制携带多少条聊天历史、如何引用短期与长期记忆,改几行模板就能调出"知识导师"或"情绪陪伴"两种截然不同的角色。多设备分工:同一套代码起多个实例,各用独立账号和配置,客厅那台管娱乐闲聊,儿童房那台限定为问答模式。音色与模型本地化:设置TTS_BASE_URL可接入自建的 ChatTTS 等第三方 TTS 服务;本地大模型经聚合网关转成 OpenAI 协议后同样能填进OPENAI_BASE_URL

MiGPT 的完整链路就是"轮询对话列表、大模型生成、TTS 下发播放"三件事,实现都在核心源码里,配置参考配置文件说明。半小时填完两份配置,你的小爱音箱从明天起就不再只会说"这个我还不会"。

【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询