小爱音箱AI升级指南:把音箱接入大模型,1 小时拥有自己的AI语音助手
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
MiGPT 是一个开源项目,能把家里的小爱音箱接入 ChatGPT、豆包等大模型,完成小爱音箱AI升级,让它从只回固定话术变成随问随答的语音助手。本文带你走 Docker 部署、两个配置文件的修改和常见故障排查,命令很少,零基础也能照做。
✨ 升级后小爱音箱能做什么
- 大模型问答:天文地理都能接,告别敷衍回答
- 角色扮演:给它起名、写人设,性格随你调教
- 连续对话:进入 AI 模式后免唤醒词连续聊
- 长短期记忆:记住聊过的细节,越聊越懂你
- 自定义音色:接入第三方 TTS,换掉原生嗓音
📋 部署前准备清单
| 资源 | 最低要求 | 获取途径 |
|---|---|---|
| 小爱音箱 | 兼容型号,推荐小爱音箱 Pro | 已购设备即可 |
| 电脑或服务器 | 4GB 内存以上,能常开 | 家里的旧电脑也行 |
| 运行环境 | Docker(或 Node.js 20+) | 各大发行版包管理器 |
| 小米账号 | 音箱已绑定该账号 | 米家 App |
| 大模型 API Key | 有可用额度 | 各大模型平台注册 |
装好 Docker 后,先打开米家 App 进音箱详情页,记下两样东西:型号(如 LX06)和设备名称,并对照 docs/compatibility.md 确认你的型号属于"完美运行"还是"正常运行"档。型号决定了后面要填的设备指令。
🐳 Docker 一键部署(推荐路径)
整个部署只有四步:装环境、拉代码、改配置、启动验证。
第 1 步:安装 Docker
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io -y验证:执行docker --version,能输出版本号即成功。
第 2 步:克隆项目代码
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt验证:在这个目录下能看到.migpt.example.js和.env.example两个示例文件。
第 3 步:复制并修改配置
cp .migpt.example.js .migpt.js cp .env.example .env验证:用编辑器打开这两个新文件能正常读写。具体改什么,看下一节,先不用急着填。
第 4 步:启动服务并验证
docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest验证:docker logs看到"服务已启动"字样后,对小爱音箱说"小爱同学,请介绍一下你自己",能正常发声回答即部署完成。注意 Windows 终端下$(pwd)不可用,要换成配置文件的绝对路径。
📝 两个配置文件讲透:.migpt.js 与 .env
整个项目只需维护这两个文件。.migpt.js管"小米账号和音箱",.env管"大模型"。
.migpt.js:账号、音箱与交互规则
必填参数如下:
| 参数 | 含义 | 注意 |
|---|---|---|
userId | 小米 ID | 是数字 ID,不是手机号或邮箱 |
password | 小米账号密码 | 与绑定音箱的账号一致 |
did | 音箱 ID 或米家设备名称 | 空格、大小写、错别字都会导致"找不到设备" |
ttsCommand | TTS 播放指令 | 小爱音箱 Pro(LX06)为[5, 1] |
wakeUpCommand | 唤醒指令 | 小爱音箱 Pro(LX06)为[5, 3] |
callAIKeywords | 以这些词开头时调用 AI 回答 | 默认含"请""你"等 |
wakeUpKeywords | 进入 AI 唤醒模式的词 | 如"打开""召唤" |
exitKeywords | 退出 AI 模式的词 | 如"关闭""退出" |
代码里只需动这一段(其余保持默认):
speaker: { userId: "你的小米ID", // 在小米账号中心「个人信息-小米ID」查看 password: "你的小米账号密码", did: "小爱音箱Pro", // 从米家App原样复制设备名称 ttsCommand: [5, 1], // 按你的型号查询填写 wakeUpCommand: [5, 3] }ttsCommand和wakeUpCommand不是猜的:不同型号的指令不同,按型号去 MIoT 规格查询站搜设备规格,找到对应的 SIID 和 AIID 组合即可。
.env:接入大模型
| 参数 | 含义 | 注意 |
|---|---|---|
OPENAI_API_KEY | 模型服务的 API 密钥 | 无效会报 401 |
OPENAI_MODEL | 使用的模型名 | 如gpt-4o-mini、qwen-turbo |
OPENAI_BASE_URL | 模型服务接口地址 | 一般以/v1结尾,可选 |
接入通义千问时,改完这三行就能用:
OPENAI_MODEL=qwen-turbo OPENAI_API_KEY=你的API密钥 OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1变量名不用改,只换值即可。豆包等不兼容 OpenAI 接口的模型,可以先用 One API 这类聚合工具转成 OpenAI 格式,再把地址填进OPENAI_BASE_URL。
🎛 调优与场景定制
- 让回答更快:确认
tts: "xiaoai"使用音箱自带 TTS;把onAIAsking、onAIReplied设为空数组,去掉首尾提示语;连续对话场景把checkInterval调到 500 毫秒,回复之间的停顿感会明显减少。 - 开启连续对话:
streamResponse: true后进入 AI 模式就能免唤醒连聊,exitKeepAliveAfter控制多久没人说话自动退出(默认 30 秒)。部分型号查不到播放状态,这类机器要关掉该选项,兼容列表里每个型号都标了是否支持。 - 换个音色:小爱原生嗓音听腻了,可以部署第三方 TTS 服务(如豆包同款的火山引擎音色),
.env里填TTS_BASE_URL,.migpt.js里把tts改为custom,之后说"把声音换成 xxx"即可切换音色,详见 docs/tts.md。 - 调教角色人设:
bot.name、bot.profile、master.name决定了 AI 以什么身份跟你说话;systemTemplate控制行为规则。运行中也可以直接语音改人设,比如"小爱同学,你是xxx,你xxx"。 - 几个常见用法:给孩子当学习问答伙伴;睡前定时讲故事的闲聊陪伴;出门前问今天天气和日程的晨间播报。同一套配置,换人设就能换场景。
🛠 故障速查
| 现象 | 常见原因 | 解决办法 |
|---|---|---|
| 启动报"70016:登录验证失败" | userId填成了手机号或邮箱 | 去小米账号中心查"小米 ID"数字串填入 |
| 启动报"找不到设备" | did与米家设备名称不一致(错别字、空格、大小写) | 从米家 App 原样复制名称;仍失败就打开debug查设备的miotDID |
| 说了"小爱同学,请xxx"却没有 AI 回答 | 没有先唤醒,或开头词不在callAIKeywords里 | 先唤醒小爱再提问;确认"请"等词在关键词列表中 |
| 控制台有回复,音箱却不发声 | 该型号的ttsCommand填错 | 按型号查 MIoT 规格站,替换成正确指令 |
| 回答说到一半戛然而止 | 型号无法查询播放状态 | 按规格站填playingCommand;无效则关闭streamResponse |
🚀 动手改造你的音箱
一台吃灰的小爱音箱加一段下午时间,就能换回一个随问随答的家庭 AI 语音助手,改坏了大不了删掉容器重来。建议从 docs/settings.md 过一遍完整参数,遇到问题先翻 docs/faq.md,想换音色再看 docs/tts.md。现在就启动你的第一次"小爱同学,请介绍你自己"吧。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考