三步把小爱音箱接上大模型:MiGPT 新手实操手册
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
MiGPT 是一个把小爱音箱接入 ChatGPT、豆包等大模型的开源改造方案,让它变成你的 AI 语音助手。你只需要一个小米账号、能运行 Docker 的设备和一个大模型 API Key,读完本文就能独立完成 MiGPT 部署、模型配置和常见故障排查。
第 1 节|动手前:回答你心里的三个问题
值不值得折腾?
值得。改造后小爱同学从"能放歌"升级到"能对话":上知天文下知地理,还能角色扮演、长短期记忆。说句实话:项目官方已宣布停止更新,但现有功能完整、文档齐全,日常使用完全够用,且不会突然失效。
需要哪些前置条件?
对照下面这张自查表,四项都打勾再动手:
| 前置条件 | ✅ 已具备 | ❌ 不满足时 |
|---|---|---|
| 一台受支持的小爱音箱(docs/compatibility.md 有型号清单,Pro 推荐) | 可开始部署 | 项目仅支持小爱系列,小度、天猫精灵等不支持 |
| 小米账号,以及纯数字的小米 ID | 继续下一步 | 登录小米账号页查看「个人信息-小米 ID」,不是手机号或邮箱 |
| 能运行 Docker 的设备(NAS、云服务器或闲置电脑) | 继续下一步 | 先装好 Docker,或租一台入门云服务器即可 |
| 一个 OpenAI 兼容接口的大模型 API Key | 继续下一步 | 到模型服务商处申请,国内可选手通义千问、DeepSeek 等 |
全流程大概多久?
网络顺畅的话,4 个部署步骤 30 分钟内能跑通;加上模型调试和关键词配置,预留 1 小时比较从容。中途卡住基本都出在第 4 节的故障表里。
一句话记住:先过四道前置条件,再动手,全程预计 1 小时内。
第 2 节|从零到跑起来:MiGPT 部署四步走
下面 4 步,每步都给你成功信号和一个最常见的坑。
步骤 1:克隆项目代码
把 MiGPT 源码拉到你的设备上:
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt确认成功:终端列出 README.md、Dockerfile、.env.example 等文件,说明代码完整。 📌坑:clone 中断或目录为空,检查网络后重新执行;没有 git 就先安装它。
代码到手后,先告诉 MiGPT"大脑"接在哪里。
步骤 2:配置大模型服务
MiGPT 通过 OpenAI 兼容接口调用大模型,.env文件就是填"模型地址和钥匙"的地方:
cp .env.example .env # 用文本编辑器打开 .env,填好这三项(变量名保持不变): OPENAI_MODEL=gpt-4o-mini # 改成你申请的模型名 OPENAI_API_KEY=sk-xxxxxxxx # 改成你的密钥 OPENAI_BASE_URL=https://api.openai.com/v1 # 非 OpenAI 服务改成对应地址确认成功:.env里没有任何 xxx 占位符,Key 与服务商后台一致。 📌坑:国内直连 OpenAI 常失败,建议直接换成国内模型,只需改这三项的值,详见 docs/faq.md。
模型端就绪,接下来告诉 MiGPT 要控制哪台音箱。
步骤 3:配置小爱音箱账号与设备
.migpt.js里填小米账号和设备信息:
cp .migpt.example.js .migpt.js// 打开 .migpt.js,修改 speaker 里的这几项 speaker: { userId: "987654321", // 小米 ID(纯数字,不是手机号) password: "你的密码", // 小米账号密码 did: "小爱音箱Pro", // 与米家 App 中设备名称完全一致 ttsCommand: [5, 1], // 按你的型号查对应指令 wakeUpCommand: [5, 3], }图:按型号查到 ttsCommand 等参数后再填入配置
确认成功:文件保存无语法报错;对错与否在第 4 步启动时验证。 📌坑:did必须和米家中一字不差(是"音箱"不是"音响"、无多余空格、注意大小写),否则会报"找不到设备"。
配置齐了,一条命令启动服务。
步骤 4:启动服务并验证唤醒
docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest确认成功:docker ps里容器状态为 Up,然后对音箱说"小爱同学,召唤傻妞",它回答"你好,我是傻妞,很高兴认识你"即全链路打通。 📌坑:Windows 终端不支持$(pwd),需手写绝对路径,例如-v D:/hello/mi-gpt/.migpt.js:/app/.migpt.js。
图:启动成功后与小爱进行 AI 对话的效果
现在基础功能已经跑起来了,但要想用起来顺手,还有三处场景化的调优。
一句话记住:克隆、改两个配置文件、docker run、唤醒说"召唤傻妞"。
第 3 节|让它真的好用:小爱音箱模型与交互配置
改动全部集中在.migpt.js的speaker区域,改完重启 Docker 容器才生效。按三个真实场景讲。
场景一:出门前问天气(一问一答)
说"小爱同学,请问明天天气"这类以callAIKeywords里某个词开头的话,AI 才会接管回答。把你常用的触发词加进去即可。
场景二:睡前听故事(长回复更顺耳)
故事会被"让我先想想""我说完了"这类提示语打断,显得碎。把onAIAsking和onAIReplied设为空数组[]即可去掉提示语;同时可以在bot.profile人设里加一句"讲故事时语速慢、多用拟声词",效果立刻不一样。
场景三:连续多轮对话
进入唤醒模式后无需每句话都说"小爱同学"。开启streamResponse即可,但注意只有 docs/compatibility.md 中标注支持的型号才适用,其余型号请保持false,否则回答会戛然而止。
三处改动的汇总(每行标了改哪里):
// .migpt.js → speaker 区域 callAIKeywords: ["请", "你", "傻妞"], // 场景一:一问一答触发词 wakeUpKeywords: ["打开", "进入", "召唤"], // 场景二/三:进入连续对话的词 streamResponse: true, // 场景三:开启连续对话 exitKeepAliveAfter: 30, // 连续对话静默 30 秒自动退出一句话记住:关键词决定它何时答、何时连答,改完重启容器。
第 4 节|翻车急救:高频故障速查
| 现象 | 最可能原因 | 一条命令定位 | 解法 |
|---|---|---|---|
| 启动报"70016:登录验证失败" | 填了手机号/邮箱,而非纯数字小米 ID | docker logs 容器ID | 账号页查小米 ID,改userId |
| 提示触发异地登录保护 | 小米账号需安全验证 | 同上,看终端报错 | 在与 MiGPT 相同网络下登录小米官网过验证,等约 1 小时 |
| "找不到设备:xxx" | did与米家不一致(空格/大小写/错字) | 米家 App 查设备名 | 直接复制米家中的名称粘贴,如"小爱音箱Pro" |
| 终端有 AI 回复,音箱不发声 | 该型号 TTS 指令不同 | 无命令,查型号表 | 按型号查ttsCommand正确值后修改 |
| "LLM 响应异常 Connection error" | 网络无法访问模型服务 | docker logs 容器ID | 换国内模型,或在.env填HTTP_PROXY |
图:按型号查询对应的 TTS 播放指令
图:回答总被截断时,按此查询播放状态指令 playingCommand
表外问题的排查万能思路:
docker logs 容器ID看最新报错,错误信息基本直接指向原因;- 在
.migpt.js打开debug: true重启容器,输出更详细的日志再比对; - 仍无解,把完整错误信息拿去项目 FAQ 和 issue 里搜,多数有人踩过(docs/faq.md)。
一句话记住:八成错误都在日志里,先看日志再改配置。
第 5 节|进阶与拓展:多设备、换模型、换音色
- 多设备部署:一台设备一个容器,各自挂载独立的
.migpt.js和.env,家里每个房间都能配一台,入口就是第 2 节那条docker run加不同的-v挂载。 - 接入其他大模型:任何兼容 OpenAI SDK 的服务(通义千问、DeepSeek、Moonshot、本地 Ollama)都能换,只需改
.env里OPENAI_BASE_URL和OPENAI_MODEL两个值。 - 换 AI 音色:可接入豆包同款等第三方 TTS 服务,让回答声音更像真人,配置见 docs/tts.md。
一句话记住:多设备就是复制容器,换模型只改两行环境变量。
结尾
建议先完整跑通第 2 节确认链路畅通,再回来按第 3 节的场景逐项调优。更多细节参见项目文档目录 docs/。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考