小爱音箱接入 ChatGPT 和豆包怎么做:MiGPT 新手完整指南
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
MiGPT 是一个把家里的小爱音箱接入 ChatGPT、豆包等大模型的开源项目,不刷机、不拆硬件,改好两个配置文件再跑一条命令,音箱就能变成会记忆、会角色扮演的专属语音助手。这篇文章带你从零走到音箱开口回话,顺带把新手最容易卡住的坑提前讲清楚。
改造后你会得到什么
改造前,音箱依赖内置问答库:库内问题有答案,库外问题就卡壳,每次对话互不相干,语气也永远是官方腔。接入 MiGPT 之后,体验差异主要体现在这几点:
| 体验维度 | 改造前 | 接入 MiGPT 后 |
|---|---|---|
| 问答 | 内置问答库,超出范围就卡壳 | 大模型自由对话,复杂问题也能答 |
| 交互 | 每次都要唤醒,一问一答 | 可进唤醒模式,连续追问 |
| 性格 | 固定助手腔 | 可设定姓名与人设 |
| 音色 | 官方默认音 | 可接第三方 TTS 换声音 |
原理上不难理解:MiGPT 跑在你的电脑或服务器上,通过小米云接口监听音箱的对话,再把 AI 的回复用 TTS 指令播回音箱。详见 工作原理。不用深究细节,只要记住一点:服务不需要和音箱在同一局域网,任意能常驻开机的设备都能跑。
动手前:确认型号并拿到项目
先确认你的音箱在支持范围内:大部分小爱音箱型号都能跑,小爱音箱 Pro 最顺滑,且每个型号的指令参数不同,提前查好型号能少踩坑,完整列表见 兼容型号。小度、天猫精灵、HomePod 不在支持范围内。
把代码拉到本地:
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt再复制两份模板文件,得到你的正式配置:
cp .migpt.example.js .migpt.js cp .env.example .env填好两份配置文件
.migpt.js管的是“音箱是谁、你的小米账号是什么”,.env管的是“用哪个大模型”。
.migpt.js里必填的核心字段长这样:
speaker: { userId: "你的小米ID", // 不是手机号或邮箱 password: "你的密码", did: "小爱音箱Pro", // 与米家名称完全一致 },三个容易翻车的点:
userId是小米 ID,不是手机号或邮箱,在账号个人信息页的「小米 ID」处查看。启动失败大多栽在这里。did是米家中的设备名,空格、大小写、错别字都会导致“找不到设备”,建议从米家直接复制粘贴。- AI 的名字和人设写在
bot.name与bot.profile里,示例文件默认是“傻妞”。全部参数说明见 参数设置。
.env起步只需两行:
OPENAI_API_KEY=sk-xxxxxxxx OPENAI_MODEL=gpt-4o-mini一条命令跑起来
新手推荐 Docker,这条命令会把上面两份配置挂载进容器:
docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latestWindows 终端不能用$(pwd),要换成D:/hello/mi-gpt这类绝对路径。
如果你习惯源码方式,先安装依赖:
npm install mi-gpt然后按仓库内示例调用MiGPT.create初始化。注意 Node 模式下不会自动读取.env,配置需要手动传入。控制台出现✅ 服务已启动...就成了。
三种口令“召唤”它
启动后,用这三句话和音箱打交道:
- 小爱同学,请 xxx——单次问答,比如“小爱同学,请说说地球为什么是圆的”
- 小爱同学,你 xxx——和 AI 闲聊,比如“小爱同学,你喜欢我吗”
- 小爱同学,召唤 xxx——进入唤醒模式,之后可以连续追问,说“退出”类口令离场
两个要点:
- 必须先喊“小爱同学”唤醒,直接对音箱说“请 xxx”它是听不见的。
- 唤醒模式依赖播放状态查询,部分型号不支持连续对话(见 兼容型号 表格),你的型号在“正常运行”列表里的话,把配置中
streamResponse设为false更稳妥。
🎙️ 没声音?查设备指令
控制台明明打印了 AI 回复,音箱却不出声,或者话说到一半戛然而止,多半是两组数字没配对:ttsCommand(让音箱播放文本)和wakeUpCommand(唤醒音箱)。小爱音箱 Pro 分别是[5, 1]和[5, 3],其他型号各不相同。
查法:在 MIoT 开放平台(miot-spec)搜音箱型号,比如LX06,点开「规格」:
规格页里play-text方法对应ttsCommand,wake-up方法对应wakeUpCommand,取值就是 SIID 加 AIID 两个数字:
如果回复总被截断,而你的型号有playing-state属性(对应[3, 1, 1]),可以再把playingCommand配上,让 MiGPT 正确判断播放状态:
🌐 接国产大模型与换音色
.env完全兼容 OpenAI 接口规范,换OPENAI_BASE_URL、模型名和密钥就能切换服务商。以通义千问为例:
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 OPENAI_MODEL=qwen-turbo OPENAI_API_KEY=你的千问密钥豆包、Moonshot(Kimi)、DeepSeek 同理;若某家模型不提供 OpenAI 兼容接口,可先用 API 聚合工具转一层。国内网络访问与代理问题,常见问题 里有详细处理办法。
不习惯官方音色的话,可以部署一个第三方 TTS 服务,之后说“小爱同学,把声音换成 xxx”就能切换音色,配置步骤见 使用第三方 TTS。
🩹 常见坑与修复
错误信息基本都会打在启动日志里,对照着看:
70016:登录验证失败——账号密码有误,或userId填成了手机号,回去核对小米 ID。- 触发异地登录保护——在跑 MiGPT 的同一网络下登录小米官网账号,手动通过安全验证,等约 1 小时再启动。
- “找不到设备”——
did和米家名称不一致,直接复制;或在配置里开debug: true和enableTrace: true,从日志的设备列表里拿miotDID填进去。 LLM 响应异常 Connection error——国内网络到不了 OpenAI,配代理或改用国产大模型。- 回复偏慢——把
checkInterval调小到 500,checkTTSStatusAfter酌情调大或调小,并清空onAIAsking这类过渡提示语,整体节奏会顺不少。
更多场景见 常见问题。
💬 两个日常玩法
- 晚间作业搭子:在
bot.profile里把 AI 设定成耐心的“家教”,孩子卡壳时说“小爱同学,请给我讲一下这道题”,音箱会把讲解读出来,比盯着手机屏幕省心。 - 家庭娱乐伙伴:晚上用“召唤傻妞”进入唤醒模式,让它讲故事、闲聊、推荐歌单,连续对话模式下可以直接追问,不用每句都重新唤醒。
🚀 现在开始
最短路径是:确认型号支持 → 复制两份模板填好小米账号和密钥 → Docker 一条命令启动 → 喊一句“小爱同学,请 xxx” 听它回答。卡住时先翻 常见问题,多数报错那里都有答案。
一句温和的提醒:本项目已停止维护,功能稳定但不会再有新修复,建议定期备份.migpt.js、.env和数据库文件,环境折腾坏了也能随时恢复。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考