小爱音箱接入 ChatGPT 完全指南:5 步把智能音箱改造成专属 AI 语音助手
2026/9/13 17:27:01 网站建设 项目流程

小爱音箱接入 ChatGPT 完全指南:5 步把智能音箱改造成专属 AI 语音助手

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

傍晚,孩子举着作业本凑过来:"为什么铁会生锈?"你随口喊了声"小爱同学,铁为什么会生锈",音箱回了一句不痛不痒的套话。要是家里这台小爱音箱背后坐着的不是固定语料库,而是一个真正的大模型呢?开源项目MiGPT干的就是这件事:将小爱音箱接入 ChatGPT、豆包等主流大模型,让它从"答非所问的玩具"变成一台随时待命的家庭语音问答机。

不用刷机、不用买新硬件,一台闲置的小米路由器旁、旧电脑甚至云服务器上跑一个容器,改造就完成了。


先说透:普通小爱到底"差"在哪

你可能没意识到,小爱音箱的"笨"其实来自三件小事:

  • 知识是"冻"在出厂那天:它的回答来自预置语料库,问得越深入,翻车越彻底
  • 一问一答,聊不下去:它没有上下文记忆,追问一句"那铝呢?"它已经忘了你在聊铁
  • 千人一面的声音:永远是同一个语气、同一副嗓子,想让它换个身份陪你聊天?没戏

MiGPT 正好逐条打翻这三点:接上大模型后它上知天文下知地理;内置长短期记忆,越聊越默契;还能通过.migpt.js配置文件给它设定人设——贴心闺蜜、毒舌军师都行;甚至支持换装第三方 TTS 音色。一句话:把"人工智障"升级成"随叫随到的问答管家"。

30 秒看懂原理:它凭什么能"听懂"你

MiGPT 并没有动音箱一根线,整个流程就三步,全程走小米 IoT 生态的官方云端接口:

  1. 盯梢:轮询小米 MIoT / MiNA 开放接口,从你的小爱音箱对话列表里捕获最新一句话
  2. 问脑:把这句话连同上下文丢给大模型(OpenAI、通义千问等),拿到回答
  3. 出声:调用 TTS 把文字合成语音,再通过音箱接口播放出来

有个细节特别有意思:检测到原生的小爱要"抢话"时,MiGPT 会先播一段静音音频把它的嘴堵上——官方管这叫"曲线救国"。原理细节可以看 docs/how-it-works.md。

另外别误会:它走的是云端接口,MiGPT 不需要和小爱音箱在同一局域网,扔在任意一台机器上跑都行。

5 步上手:最快配置方法

第 1 步:确认你的音箱在"名单"上

大部分小爱系列都支持,小爱音箱 Pro 体验最完整(完美运行连续对话)。动手前查一下 docs/compatibility.md,找到你的型号对应的ttsCommandwakeUpCommand参数。

第 2 步:把代码领回家

环境要求 Node.js 16 以上。克隆仓库并安装依赖:

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

第 3 步:填两份"身份证"

第一份.env(管 AI):把根目录的.env.example改名成.env,填上你的大模型密钥:

OPENAI_API_KEY=你的密钥 OPENAI_MODEL=gpt-3.5-turbo

💡 国内网络环境直接把OPENAI_BASE_URL指到通义千问等兼容 OpenAI 协议的国内服务即可,环境变量名不用改。更多玩法见 docs/faq.md。

第二份.migpt.js(管音箱):把.migpt.example.js改名成.migpt.js,填三个关键项:

speaker: { userId: "你的小米ID", // 注意:不是手机号也不是邮箱! password: "账号密码", did: "小爱音箱Pro", // 必须与米家 App 里的设备名一字不差 }

拿不准型号指令参数时,去 MIoT 规格站搜你的型号即可查到对应值:

第 4 步:一行命令启动

不想折腾 Node 环境的同学,Docker 是省心的路子:

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

⚠️ Windows 终端不认$(pwd),请改用配置文件的绝对路径。

第 5 步:唤醒它

启动成功后,对着音箱说三种话就能召唤 AI:

  • 小爱同学,请 xxx(比如"请解释一下量子纠缠")
  • 小爱同学,你 xxx(比如"你喜欢我吗?")
  • 小爱同学,召唤 xxx(进入连续对话模式,后面每句话都不用再说"小爱同学"了)

3 个真实场景:改造前后差多少

📚 场景一:作业辅导机改造前问"为什么天空是蓝色的",得到的是百度百科式的一句话;改造后,AI 会先讲瑞利散射的来龙去脉,再打一个"阳光里蓝光最容易被弹开"的比方。想让它更有耐心?改.migpt.js里的systemTemplate提示词(模板写法参考 docs/prompt.md),一句"面对 10 岁小孩,每步解释不超过 20 字"就够了。

🎭 场景二:角色扮演陪聊在配置里给 bot 写上人设——"性别女,性格乖巧可爱,爱吃醋"——然后用"小爱同学,召唤傻妞"进入唤醒模式。此后直接追问,不用每句都喊唤醒词,它还记得你们前几轮聊了什么。冷场 30 秒它会自动退出,不会一直占线。

🎙️ 场景三:换个嗓子说话听腻了小爱的默认音色?按 docs/tts.md 接入第三方 TTS 服务后,说一句"小爱同学,把声音换成 xxx",音箱立刻换上新嗓子,效果接近真人语音消息。

进阶与避坑:这 5 个坑帮你踩过了

坑 1:启动报70016 登录验证失败九成是userId填错了——它要的是小米 ID(数字串),不是手机号。在小米官网"个人信息 - 小米 ID"里能看到。若提示触发异地登录保护,在同一网络环境下先手动登录一次官网通过安全验证,等约 1 小时再试。

坑 2:说话没反应两个高频原因:一是你没先喊"小爱同学"就直接说"请问 xxx"——没唤醒,它根本听不见;二是did和米家设备名对不上("小爱音响"vs"小爱音箱"、多一个空格、大小写不同都会翻车),建议直接复制米家里的名字。实在不行就在.migpt.js打开debug: true,从日志里找到miotDID填进去。

坑 3:回答到一半戛然而止部分型号查不到播放状态,导致连续对话"抢跑"。按 docs/compatibility.md 给你的型号补上playingCommand参数:

改了还不行,说明该型号不开放播放状态查询,可关闭streamResponse换回"一问一答"模式——代价是失去连续对话。

坑 4:回答太慢,等得着急默认配置偏保守。把checkInterval调到 500(最低值)、把onAIAsking/onAIReplied提示语置空([]),再选响应快的模型,体感能快一大截。

坑 5:原生小爱抢答从它开口到你听到 AI 的回答,中间有 1~2 秒的云端轮询延迟,这是接口方案的先天限制,MiGPT 用静音音频尽量缩短。介意的话等 AI 说完提示语再追问,体验会更顺。


写在最后:你的音箱,该"换脑"了

作为 MIT 协议的开源项目,MiGPT 已经走过了从"能聊"到"记得住、换得了声、控得住人设"的完整路程。需要留意的是,README 顶部注明项目已停止维护——但功能已经成熟稳定,照着 docs/changelog.md 和历史 issue 里的经验,够你折腾很久。

今晚就能做的一步:挑一台闲置的小爱音箱,按上面 5 步把容器跑起来,然后当着孩子的面问它一个"为什么"。

你会发现,那个总说"我不太明白"的小家伙,已经悄悄变成了家里最耐心的老师。

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

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

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

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

立即咨询