手把手:10 分钟把小爱音箱接入大模型,完成 AI 改造
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
周五晚上孩子问"海水为什么是咸的",小爱同学只回了一句"我不太明白你的意思"。开源项目 MiGPT 干的就是小爱音箱 AI 改造这件事:把 ChatGPT 接进音箱,让这句话变成一个完整的讲解。十分钟能跑通,只需改三处账号与设备信息。
你的小爱音箱型号能跑 MiGPT 吗
能不能改,先看硬件。MiGPT 只支持小米自家的小爱系列,小度、天猫精灵、HomePod 都不在适配范围。按实测结果分三档:
| 音箱 | 改造后的体验 |
|---|---|
| 小爱音箱 Pro(LX06)、小米 AI 音箱、Play 2019 款 | 完美运行,支持连续对话 |
| 小爱音箱 mini、Play、Art、各款触屏与家庭屏 | 能用,但不支持连续对话,需关闭streamResponse |
| 小爱音箱 HD、蓝牙随身版 | 不支持 |
完整型号表和对应的
ttsCommand、playingCommand指令都在 兼容性列表,搜到你的型号把参数原样抄走就行。
下图是在小米官方规格站按型号查指令的过程,ttsCommand和wakeUpCommand都能在这里查到:
三步跑通:拉代码 → 填密钥 → 启动
环境只要求 Node 18 以上。先拉代码装依赖:
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt pnpm install --frozen-lockfile把.env.example复制成.env,填入模型密钥。国内网络连不上 OpenAI 时,这里就换成兼容 OpenAI 协议的国内模型:
OPENAI_API_KEY=sk-xxxx OPENAI_MODEL=gpt-4o-mini OPENAI_BASE_URL=https://api.openai.com/v1再把.migpt.example.js改名成.migpt.js,改三处账号与设备信息:
export default { speaker: { userId: "你的小米ID", // 数字 ID,不是手机号或邮箱 password: "账号密码", did: "小爱音箱Pro", // 与米家设备名完全一致 }, };然后pnpm dev启动:
pnpm dev看到控制台打出Speaker 服务已启动和召唤提示语就算跑通了,下图是启动成功后的终端输出:
两个高频坑:小米 ID 要在账号中心"个人信息"里查,填手机号必挂;
did差一个空格、一个大小写都会提示"找不到设备",建议直接从米家复制。
改完能干嘛:小爱音箱接入大模型后的两个场景
改完之后,这两个场景出效果最快。
学习辅导。在.migpt.js的systemTemplate里给 AI 定人设,比如"你是耐心的数学老师,先讲思路不直接给答案",然后:
你说:小爱同学,请解释一下为什么海水是咸的 它回:简单说,岩石里的盐分被雨水冲进河流,最后都汇到海里,水蒸发了盐留下,越积越多
厨房计时。手上全是油的时候,不用碰手机:
你说:小爱同学,请帮我设一个 10 分钟计时 它回:好的,10 分钟后提醒你,番茄可以下锅了
想连续追问,先说"小爱同学,召唤傻妞"进入唤醒模式,之后不用再喊"小爱同学"开头;exitKeepAliveAfter默认 30 秒,超时不说话会自动退出。
它背后在做什么:轮询、调模型、播语音
链路就是"轮询 → 调模型 → 播语音"三段。MiGPT 循环轮询小米 MIoT 云端接口里的对话记录,发现以"请、你、傻妞"这类关键词开头的新消息,就丢给大模型生成回答,再经 TTS 合成语音,用接口命令音箱播放出来。
所以全程走云端接口,不需要和音箱在同一个局域网,也不动音箱固件,部署在哪台机器上都能跑。具体实现细节在 工作原理 里有图解,核心对话逻辑都在src/services/bot/目录。
用久了遇到的 4 类问题
按症状对号入座,改完配置重启即可:
- 症状:回答前总有停顿→ 原因:默认提示语加轮询间隔 → 改哪个:
onAIAsking: []、onAIReplied: []关掉寒暄,checkInterval从 1000 调到 500,开口明显变快 - 症状:句子说到一半戛然而止→ 原因:部分型号查不到播放状态 → 怎么操作:按型号补
playingCommand,或者干脆关掉streamResponse换完整播报 - 症状:启动报 70016→ 原因:登录失败,常见是拿手机号当小米 ID → 改哪个:去账号中心查数字 ID;若触发异地登录保护,在与项目相同的网络下登录小米官网完成验证,约 1 小时后重试
- 症状:国内连不上 OpenAI→ 原因:直连受限 → 怎么操作:换通义千问这类兼容 OpenAI 协议的国内模型,只改
OPENAI_BASE_URL和OPENAI_MODEL,字段含义见 参数设置
下图是在规格站查playingCommand的过程,[3, 1, 1]就是"播放中"对应的指令值:
README 已声明项目停止维护,当前 4.x 版本功能完整、可正常部署,但别指望后续修复,动手前想清楚。今晚就能 clone 一份,把厨房那台小爱音箱先改起来。机型参数和踩坑经验都沉淀在 常见问题 和 更新日志。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考