☰
小爱音箱如何接入大模型:一篇照着做就能跑通的 MiGPT 部署教程
2026/10/28 9:37:15 网站建设 项目流程

小爱音箱如何接入大模型:一篇照着做就能跑通的 MiGPT 部署教程

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

家里的小爱音箱还能干什么,除了听天气、定闹钟?开源项目 MiGPT 把小爱音箱接入 ChatGPT、通义千问、DeepSeek、豆包等大模型,不用换硬件也不用刷机,它就能接住追问、和你连续对话,还记得你以前说过什么。下面是从零到第一次对话的完整路径。

项目速览:小爱音箱 AI 助手能变成什么样

MiGPT 让小爱音箱只管听和说两件事,思考全交给大模型:它轮询音箱云端对话列表拿到新问题,交给模型生成回答,再用 TTS 合成语音播回去。整套流程走小米 IoT 云端接口,不要求局域网,旧电脑、NAS、云服务器都能托管。

接入之后,主要变化有这几处:

  • AI 问答:不再受固定词条限制,换着说、追问、天文地理代码都能接
  • 角色扮演:人设可定制,温柔还是毒舌随你定
  • 连续对话:进入 AI 模式后连续追问,不用每句重新唤醒
  • 长短期记忆:短期接上下文,长期存偏好,越聊越懂你
  • 音色定制:默认小爱自带音,可接第三方 TTS 现场换声

动手之前:账号、环境和密钥各要准备什么

  • 小米账号:填的是小米ID,不是手机号邮箱,在小米官网「个人信息」里能查到
  • 运行环境:Node.js 16+ 和 Docker 二选一,后者省掉安装环节
  • 模型 API Key:兼容 OpenAI SDK 的密钥都行;不方便直连 OpenAI 就选通义千问、DeepSeek 这类国产模型

设备只需一台小爱音箱,大部分型号可用,Pro 最稳,具体型号与参数对照见兼容列表。

🚀 部署实操:从克隆代码到第一次对话

第一步,选启动方式。克隆代码用 Node 运行:

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

不想折腾环境,用官方 Docker 镜像:

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

两种方式都要先备好.env和.migpt.js;Windows 终端里$(pwd)不可用,写成绝对路径。

第二步,配置音箱账号(.migpt.js)。把根目录的.migpt.example.js重命名为.migpt.js,填入:

speaker: { userId: "987654321", // 小米ID password: "小米账号密码", did: "小爱音箱Pro", // 米家 APP 里的设备名,直接复制 ttsCommand: [5, 1], // TTS 播放指令 wakeUpCommand: [5, 3], // 唤醒指令 },

did最易填错:直接复制米家里的设备名,留意"音响/音箱"错别字、多余空格和 Pro 的大小写。

指令编号因型号而异。到 miot-spec 站点搜你的音箱型号,在intelligent-speaker(SIID 5)服务页对照play-text和wake-up两个方法的编号,填进ttsCommand与wakeUpCommand:

第三步,配置模型密钥(.env)。把.env.example复制为.env。OpenAI 示例:

OPENAI_API_KEY=sk-你的密钥 OPENAI_MODEL=gpt-4o OPENAI_BASE_URL=https://api.openai.com/v1

换国产模型时变量名不变,只改取值:

OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 OPENAI_MODEL=qwen-turbo OPENAI_API_KEY=通义千问密钥

兼容 OpenAI SDK 的服务可以直接接;豆包、文心一言这类,先用 One API 等聚合工具转成 OpenAI 格式再接入。

第四步,启动并验证第一次对话。根目录执行npm start,看到 MiGPT 横幅和"服务已启动"就上线了:

用三种句式召唤 AI:"小爱同学,请xxx"、"小爱同学,你xxx"、"小爱同学,召唤xxx"。记住先喊"小爱同学"再提问,音箱被唤醒后才在听,直接说"请问xxx"是收不到的。

🎯 进阶玩法:连续对话、换人设、记忆

先体验再配置。服务跑起来后,先试这三句:

  1. "小爱同学,召唤傻妞"——进入连续对话(默认唤醒词是 打开/进入/召唤)
  2. "小爱同学,你是蔡徐坤。你是一名歌手,喜欢唱跳rap"——人设当场切换,不改配置不重启
  3. "小爱同学,关闭傻妞"——退出连续对话

试出感觉后,去.migpt.js调对应项:

speaker: { wakeUpKeywords: ["打开", "进入", "召唤"], // 进入连续对话 exitKeywords: ["关闭", "退出", "再见"], // 退出 onEnterAI: ["你好,我是傻妞,很高兴认识你"], onExitAI: ["傻妞已退出"] }

连续对话有两个细节:提示语"我说完了"过 1-2 秒再开口;30 秒无响应会自动退出(exitKeepAliveAfter可调),重新召唤即可。如果音箱突然放起歌,说明唤醒词被当成了歌名,换组词试试。

记忆系统也是内置的(代码在src/services/bot/memory/):短期记忆接上下文,长期记忆存偏好,今天提到"最近在备考",明天它可能还记得。

⚠️ 排障速查:常见报错与解决办法

现象卡点处理
"70016:登录验证失败"小米ID 写成手机号邮箱,或密码错误官网「个人信息」查小米ID 重填
触发异地登录安全验证换网络登录踩中风控与 MiGPT 同网络登录小米官网验证,约 1 小时恢复
"找不到设备:xxx"did 与米家名称对不上复制米家实际名称,核对错别字与 Pro 大小写
"ERR_MODULE_NOT_FOUND".migpt.js缺失或路径错检查挂载路径,Windows 用绝对路径
回答戛然而止型号查不到播放状态查playing-state编号填playingCommand(如[3, 1, 1])
想改唤醒词为"豆包同学""小爱同学"固件写死只能自定义wakeUpKeywords等 AI 关键词

playingCommand查法:miot-spec 搜你的型号,在play-control(SIID 3)服务下找playing-state属性,对应三个数字就是配置值:

更多报错码和边角情况,翻常见问题基本都有答案。

🎙️ 音色定制:第三方 TTS 换声

用腻了出厂机械音,改两处就行:.env的TTS_BASE_URL指向你的 TTS 服务,.migpt.js的speaker.tts设为custom。再加switchSpeakerKeywords: ["把声音换成"],一句"小爱同学,把声音换成甜美台妹"就能当场换声。官方 MiGPT-TTS 方案接火山引擎,实名认证后 21 款常用音色免费,完整搭建见第三方 TTS 教程。

MiGPT 目前停止维护,但核心功能完整可用。跑通后别停在第一次问答:进一轮连续对话、换一次人设、换一次声音,看看哪种组合最适合你家。参数全表在配置参考,人设与 Prompt 在Prompt 指南。现在就可以对着音箱说"小爱同学,召唤你的AI",看它怎么回你。

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

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

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

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

立即咨询