小爱音箱接入 ChatGPT:MiGPT 30 分钟上手指南
2026/9/14 13:15:44 网站建设 项目流程

小爱音箱接入 ChatGPT:MiGPT 30 分钟上手指南

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

周五晚上八点,客厅里孩子在问:"小爱同学,为什么月亮晚上会跟着我走?"音箱用预设的套路话术应付了一句,孩子皱起眉头。如果你也遇到过类似的瞬间,MiGPT 这个项目值得看一眼——它做的事情不复杂:把 ChatGPT 或豆包这类大模型的"大脑"接进小爱音箱,让音箱用你自己的声音、自己的设定回答真问题,而不只是查天气放歌。

MiGPT 能做到什么

它本质上是一个常驻服务:监听小爱音箱收到的语音指令,把命中关键词的问题转给大模型,再把回答转成语音播回音箱。围绕这个核心链路,它顺带解决了几件日常很实用的事:

使用场景对应能力一句话说明
随口问知识、问生活大模型问答换掉固定话术,回答有上下文、有逻辑
睡前陪聊、语音倾诉角色扮演与人格设定给 AI 起名、写人设,说话风格随你定
连续追问多轮唤醒模式与连续对话进入 AI 模式后不必每句都说"小爱同学"
聊过就忘的尴尬长短期记忆对话历史被保存,越聊越接得住
听腻了默认音色第三方 TTS 接入可换火山引擎等音色,语音更像真人

服务跑起来之后,终端里会看到类似上图的日志:唤醒、召唤、应答逐条打出来,方便你确认链路是通的。

动手前的五件事

开工前花两分钟对照自查,能省掉后面大半的排错时间:

  • ☑ 家里有一台米家体系的小爱音箱(Pro 最稳,多数型号可跑)
  • ☑ 有小米账号,且知道"小米 ID"在哪查(不是手机号或邮箱)
  • ☑ 有一台能常开的电脑或服务器,4GB 内存起步
  • ☑ 机器上装好了 Docker,或者熟悉 Node.js 20+
  • ☑ 手里有一个大模型的 API Key(OpenAI 或任意兼容接口均可)

顺带提醒:这个项目只服务小米音箱生态,小度、天猫精灵、HomePod 不在范围内。

主流程:从零到"小爱会回答问题"

先把 Docker 装好

环境准备就一件事:确认docker --version有输出。已有 Docker 的可以直接跳过,后面所有步骤都基于它。

拉下代码并复制配置模板

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管"模型侧"(Key 和模型名),分工很清楚。

填对小米账号与音箱名

打开.migpt.js,只需要认真核对这几行:

export default { speaker: { userId: "987654321", // 小米 ID,去账号页个人信息里查 password: "账号密码", did: "小爱音箱 Pro", // 米家里的设备名,逐字复制 ttsCommand: [5, 1], // 播放文字指令 wakeUpCommand: [5, 3], // 唤醒指令 }, };

did最容易出错:打开米家 App,进入音箱主页,右上角更多 → 设备名称,直接复制原文。"小爱音响"和"小爱音箱"一字之差就会找不到设备。

ttsCommandwakeUpCommand不同型号数值不同,照抄示例只对部分机型有效。查法是在小米 IoT 规格站搜你的型号(比如 LX06),找到 Intelligent Speaker 方法表:

图里红框标出的play-text(AID 1)对应ttsCommandwake-up(AID 3)对应wakeUpCommand,前面的 SIID 5 就是数组第一个数字。你的型号如果已在 支持的音箱型号 列表里,直接抄现成参数即可。

指定要用的大模型

编辑.env,最小可用配置只有两行:

OPENAI_API_KEY=sk-xxxxxxxxxxxx OPENAI_MODEL=gpt-4o-mini # 用其他兼容 OpenAI 格式的模型时,取消下行注释并填写 # OPENAI_BASE_URL=https://your-service/v1

注意变量名保持OPENAI_*不变,想换通义千问、DeepSeek 这类服务商时,只改OPENAI_BASE_URL和 Key 的值就行。

一条命令拉起服务

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

Windows 终端下把$(pwd)换成配置的绝对路径。启动成功后用docker ps | grep mi-gpt确认容器在跑,日志里出现"服务已启动"就齐活了。

对着音箱验证效果

验证按由浅入深来:

  1. 说"小爱同学,请问地球为什么是圆的"——走"请"字开头的即时问答链路;
  2. 说"小爱同学,召唤傻妞"——进入唤醒模式,之后直接提问即可,不用每句带"小爱同学";
  3. 回答完等它说"我说完了",停顿一两秒再追问,体验连续对话;
  4. 说"小爱同学,退出傻妞"——回到普通小爱状态。

四条都走得通,接入就算完成。

值得动手改的三个参数

改唤醒词和退出词

改哪里.migpt.jsspeaker段。为什么:默认词是"傻妞",换成自己喜欢的称呼,家里人才好记;退出词独立设置,避免误触。怎么改

speaker: { callAIKeywords: ["请", "小贝"], wakeUpKeywords: ["召唤小贝", "打开小贝"], exitKeywords: ["退出小贝"], },

改完记得重启容器。

把默认音色换掉

改哪里.migpt.jsspeaker.tts.envTTS_BASE_URL为什么:小米自带 TTS 遇到敏感词会拒播,且音色单一;接第三方服务(如火山引擎,实名后有多款免费音色)听感更接近真人。怎么改

speaker: { tts: "custom", switchSpeakerKeywords: ["把声音换成"], }
TTS_BASE_URL=http://192.168.x.x:4321/xxxx/api

注意地址要写局域网或公网 IP,localhost音箱访问不到。配好后说"小爱同学,把声音换成灿灿"即可切换音色,详见 第三方 TTS 说明。

让回答更快

改哪里.migpt.js里回答前后的提示语。为什么:默认"让我先想想""我说完了"每轮都播,体感拖沓。怎么改:把onAIAskingonAIReplied置为空数组,再选响应快的模型(如 gpt-4o-mini),一来一回省下的等待最直观。

三种进阶玩法

给自己立一个人格。.migpt.js里的botmaster简介和systemTemplate,比如设定"一个说话带点毒舌但句句在理的邻居姐姐",AI 会用第一人称扮演,连称呼都跟着人设走。

做孩子的作业搭子。在系统 Prompt 里约束"你是一位耐心的小学老师,回答不超过三句话,先给思路再给答案",配合长短期记忆,它记得住孩子昨天问错的那道应用题。

换一颗更懂中文的大脑。不必只用 OpenAI:通义千问、DeepSeek 等兼容 OpenAI 格式的服务,改.env里三个值就切换;豆包这类不兼容的接口,前面垫一层 API 聚合网关转成 OpenAI 格式再接入即可。

避坑手记

现象:启动时报"70016:登录验证失败"。原因:把手机号或邮箱填进了userId,它只认小米 ID。解法:登录小米账号官网,进个人信息页抄那串数字。

现象:提示"找不到设备:xxx"。原因:did与米家中设备名不一致,多为手打时的错别字。解法:回米家设备名页面复制原文粘贴,别凭记忆敲。

现象:服务器登录被异地风控拦下。原因:部署环境的 IP 与平时登录地差异太大,触发小米安全验证。解法:在与服务器相同的网络下手动登录一次小米官网、完成验证,等约一小时再试;仍不行的话在本地跑通后把生成的.mi.json挂到容器的/app/.mi.json下。

现象:连续对话时说话没反应。原因:提问时机不对——AI 正在回答、或音箱在放音乐时根本听不见你。解法:等"我说完了"之后停一两秒再问;正在播歌就先暂停;实在没响应,用"小爱同学"重新唤醒再说一次。

延伸资料

  • 参数设置:每个配置项的完整含义与默认值
  • 常见问题:启动失败、连续对话等高频问题的官方答复
  • 支持的音箱型号:各型号的指令参数对照表
  • 工作原理:指令如何被截获与回传的链路说明

MiGPT 更适合两类人:手上有一台吃灰小爱音箱、想让它真正"会说话"的家庭用户;以及想低成本验证"大模型 + 语音硬件"玩法的开发者。前者照前文走完主流程即可,后者可以顺着 源码目录 从services/speaker/的指令收发读起。项目目前已停止维护,功能以现有版本为准,动手前留个心理预期就好。

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

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

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

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

立即咨询