小爱音箱接ChatGPT:MiGPT完整配置教程
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
MiGPT把小爱音箱接入 ChatGPT、豆包等大模型,零代码新手也能把它改造成专属语音助手。你说"小爱同学,讲个笑话",它回的是现编的段子,不是固定话术。
跑通前,先把这三样备齐
- 硬件:一台小爱音箱(推荐 Pro 型号体验最完整,其他型号的兼容情况见 docs/compatibility.md)
- 账号:一个小米账号(关键凭证是小米ID,一串数字,不是手机号或邮箱)
- 环境:Node.js 16.0 及以上版本(仓库自带 pnpm 锁文件,建议用 pnpm 装依赖)
另外,MiGPT 走的是云端接口,运行它的电脑、NAS 或服务器不必和音箱在同一局域网。确认无误后,在终端执行:
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt pnpm install三步接入:从空仓库到第一次对话
查关键凭证小米ID
打开小爱音箱或米家 App,在"我的"→"个人信息"里找到小米ID。它是纯数字,填成手机号或邮箱是启动时报"70016 登录验证失败"的头号原因。
生成并填写配置文件
先执行cp .migpt.example.js .migpt.js和cp .env.example .env复制出两份配置文件。打开.migpt.js,把speaker段落改成自己的信息,did建议从米家中逐字复制设备名称,注意空格和大小写:
speaker: { userId: "12345678", // 小米ID password: "小米账号密码", did: "小爱音箱Pro", // 米家设备名或设备DID ttsCommand: [5, 1], // TTS语音指令 wakeUpCommand: [5, 3], // 唤醒指令 },后两行拿不准时,去规格站按型号查 SIID 加 AID 即可得到指令组合:
填入大模型API信息
打开.env,凡是兼容 OpenAI SDK 的模型都能用,通义千问、DeepSeek、Moonshot 等直接改值即可;豆包这类不原生兼容的,可通过第三方 API 聚合工具转一道再填进来:
OPENAI_MODEL=gpt-4o OPENAI_API_KEY=sk-xxxxxxxxxxxx OPENAI_BASE_URL=https://api.openai.com/v1密钥到对应模型服务平台的控制台申请,换国产模型时只要替换这三行的值。
点亮它:启动与首次交互验证
在项目根目录运行启动命令,成功时你会看到这样的日志:
pnpm start # 2024-05-21 21:51:44 Speaker ✅ 服务已启动... # 2024-05-21 21:51:51 Speaker 🔥 召唤豆包 # 2024-05-21 21:51:52 Speaker 🎤 你好,我是豆包,很高兴为你服务!现在对着音箱说"小爱同学,请告诉我天空为什么是蓝色的",音箱开口作答,就算完成了第一次对话("请"在默认的 AI 调用词里)。如果日志停在启动失败,先回去核对小米ID和密码。
调教:让助手变成你要的样子
一句话改性格
改.migpt.js里的systemTemplate和bot人设:
systemTemplate: `你是一位活泼开朗的AI助手,回答保持简洁,偶尔使用表情符号。`, bot: { name: "豆包", profile: `女,性格元气,喜欢讲笑话。` },保存重启后,下一次唤醒开始,它的说话方式就换成新人设。
换唤醒和退出关键词
在speaker里替换进入和退出连续对话的口令:
speaker: { wakeUpKeywords: ["召唤豆包", "打开豆包"], exitKeywords: ["退出豆包", "拜拜豆包"], },改完对着音箱说"小爱同学,召唤豆包"即可进入连续对话,说完"小爱同学,退出豆包"结束。
把声音换成豆包同款
默认用小米自带 TTS,想要别的音色就把speaker.tts改为custom,并在.env填TTS_BASE_URL指向你的 TTS 服务(本地部署的 ChatTTS 也可以):
speaker: { tts: "custom", switchSpeakerKeywords: ["把声音换成"], },配置流程详见 docs/tts.md。配好后说"小爱同学,把声音换成 xxx",音色当场切换。
卡住了?对着这张表排查
| 现象 | 大概率原因 | 处理动作 |
|---|---|---|
| 70016 登录验证失败 | 小米ID或密码错 | 重填ID和密码 |
| 找不到设备 | did 与米家不一致 | 米家逐字复制设备名 |
| 有回复却没声音 | ttsCommand 不匹配 | 查 SIID/AID 修改 |
| 回答说到一半断了 | 未配置 playingCommand | 查播放状态参数填入 |
| LLM 401 报错 | API 密钥无效 | 核对密钥与环境变量 |
更完整的排障清单可看 docs/faq.md。
玩出花样
- 🎭 一台设备一个人设:为每只音箱单独起一个容器,各配一套角色设定
- 🤖 本地模型保隐私:把
OPENAI_BASE_URL指向 Ollama 等本地 OpenAI 兼容服务 - 💬 连续对话:开启
streamResponse,不用每句都重复"小爱同学"
接下来你可以做的三件事
- 通读 docs/settings.md 里每个配置项的说明,弄清各个开关的作用
- 换一个国产模型体验不同的对话风格,接入方法见 docs/faq.md
- 遇到问题先在文档里搜索,没解决再去讨论区提问;修好坑也欢迎提交 PR
配置跑通的那一刻,开头那句"想听它现编笑话"就变成每天的日常。设备名、小米ID 和几行配置,就是一台普通音箱和你的专属助手之间全部的距离。接下来慢慢调性格、换音色,让它一点一点习惯你的说话方式。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考