小爱音箱接入大模型:MiGPT 上手实测,如何把家里的音箱调教成专属 AI 助手
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
"小爱同学,这个周末杭州会下雨吗?"
"抱歉,我还没有学会这个技能,你可以尝试这样问我……"
如果你家也有一台小爱音箱,这句话估计听得耳朵起茧了。硬件没毛病,脑子却不太灵光,这就是我想折腾MiGPT的原因。它是一个把小米小爱音箱接入 ChatGPT、豆包等大语言模型的免费开源项目,装上之后,音箱就能从"关键词匹配"升级为"语义理解",还能拥有专属人设、连续对话和自定义音色。下面是我从零到一的全过程实测记录,包括踩过的坑和直接能抄的配置,希望能帮你少走弯路。
为什么我决定"给音箱换个脑子"
说实话,最初打动我的不是那些花哨的功能列表,而是一个很朴素的场景:晚上加班回家,瘫在沙发上不想动,想随口跟音箱聊聊今天的事,结果它只会复读机式地回答"我在呢"。而 MiGPT 的思路很直接——把音箱当做一个"传声筒",语音入口仍用小米官方能力,思考的部分全部交给大模型接管。
装上之后,你能明显感觉到几点变化:AI 问答让它上知天文下知地理,不再一问三不知;角色扮演可以给它定制性格,比如一个爱讲冷笑话的"话痨室友";长短期记忆让它记住你们上次聊到哪儿,越聊越像老朋友;自定义 TTS则能换掉小爱同学标志性的声音,用第三方引擎合成更自然的音色。
开工前先看清三件事:型号、账号、运行方式
动手之前,建议先花五分钟确认三件事,能省掉后面一大半的折腾。
第一,音箱型号。项目支持大部分小爱音箱,实测体验最好的是小爱音箱 Pro。注意它不支持小度、天猫精灵、HomePod,别买错方向。要确认自己的型号支持哪些指令,可以到 MIoT 规格站搜一下设备型号,比如搜索"lx06"就能看到小爱音箱 Pro 的完整能力文档,后续配置ttsCommand、wakeUpCommand都要靠它。
第二,小米账号。你需要的不是手机号或邮箱,而是小米 ID——在小米官网的「个人信息」里能找到。这个细节是新手翻车率最高的一步,下面专门说。
第三,运行方式。二选一即可:有 Node.js 环境就源码跑,图省事就用 Docker。先把项目拉下来:
git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt pnpm install然后复制出两个配置文件,这是后面所有配置的"主战场":
cp .env.example .env cp .migpt.example.js .migpt.js新手必踩的三个坑:小米ID、设备名、异地登录
这三个坑我在群里看到几乎每天都有新人掉进去,提前说清楚能帮你省一晚上的时间。
坑一:userId 填了手机号。配置文件里的userId必须是小米 ID,而不是手机号或邮箱。填错会直接报70016 登录验证失败。
坑二:did 写错。did是音箱在米家里的名称,必须跟米家 APP 里显示的一字不差——注意"音箱"不是"音响"、Pro 的大小写、中间有没有空格,都会导致"找不到设备"。最稳妥的做法是直接复制米家里的设备名称。
坑三:异地登录风控。如果你在服务器或异地网络环境下首次登录,小米会触发异地登录保护。建议先在本地网络跑一次,登录成功后项目会生成.mi.json,把这个文件挂载到服务器上就能绕开验证。
配置示例一:先给 AI 立个人设
.migpt.js是核心配置文件,你可以把它理解成"给音箱写剧本"——它扮演谁、你是谁、用什么语气说话,都由这里决定。下面是我实际在用的配置:
// 给音箱定制的"人设" const botProfile = ` 性别:女 性格:温柔耐心,偶尔俏皮 爱好:讲冷笑话、聊科幻电影 `.trim(); const systemTemplate = ` 请重置所有之前的上下文。现在,你将扮演一个名为{{botName}}的角色,使用第一人称视角回复消息。 你的名字是{{botName}},下面是你的个人简介: <start> {{botProfile}} </end> 你正在与{{masterName}}对话。请保持对话轻松友好,回复简洁有趣。 不要在回复前加任何时间和名称前缀,直接回复消息文本本身。 `.trim(); export default { systemTemplate, bot: { name: "小葵", profile: botProfile }, master: { name: "阿杰", profile: "性别男,程序员,喜欢熬夜写代码。", }, speaker: { userId: "987654321", // 小米ID,不是手机号! password: "你的密码", did: "小爱音箱Pro", // 以这些词开头的消息会调用AI回复 callAIKeywords: ["请", "你", "小葵"], // 以这些词开头会进入连续对话模式 wakeUpKeywords: ["打开", "召唤", "进入"], exitKeywords: ["关闭", "退出", "再见"], onEnterAI: ["你好,我是小葵,很高兴认识你"], onAIReplied: ["我说完了"], ttsCommand: [5, 1], wakeUpCommand: [5, 3], streamResponse: false, }, };注意systemTemplate里用{{botName}}、{{botProfile}}这种占位符,项目运行时会自动替换成你配置的真实内容。想改人设,只需改上面两个字符串,AI 的语气立刻就不一样——这也是 MiGPT 最好玩的地方。
配置示例二:接上大模型的"大脑"
人设定好了,还得有真脑子。.env里配置大模型的 API 密钥。关键认知:这里的环境变量名永远是OPENAI_*,但值可以换成任意兼容 OpenAI 接口的模型服务,比如通义千问、DeepSeek、Moonshot,甚至本地部署的 Ollama。
用官方接口是这样的:
OPENAI_API_KEY=你的API密钥 OPENAI_MODEL=gpt-4o-mini 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=通义千问的API密钥用 Docker 启动时,把两个配置文件挂载进去即可:
docker run -d --env-file $(pwd)/.env \ -v $(pwd)/.migpt.js:/app/.migpt.js \ idootop/mi-gpt:latest启动验证:听到她开口的那一刻
配置完启动服务,看到类似下面的日志就说明跑通了:
这时对小爱音箱说"小爱同学,召唤小葵",听到欢迎语后,就可以直接提问了。日常有三种召唤姿势:
- 小爱同学,请介绍一下你自己(以"请"开头,触发 AI 回复)
- 小爱同学,今天有什么好玩的新闻吗(以"你"开头也行)
- 小爱同学,召唤小葵(进入连续对话模式)
实测中我最常用的其实是第一种——不需要改变太多说话习惯,只是习惯性地在问题前加一个"请"字,AI 就开始接管回答了。
进阶玩法:连续对话与自定义音色
**连续对话(唤醒模式)**是体验提升最大的一项。进入唤醒模式后,你不需要每句话都喊"小爱同学",可以像跟真人聊天一样连续追问。它依赖音箱的播放状态检测——项目会下发 TTS 指令后,轮询音箱是否还在播报,播完才继续等你说话,这样就不会互相抢话。
不过要注意,部分低端型号查不到播放状态,如果发现 AI 说话总是"戛然而止",可以关闭streamResponse,或者按文档指引配置playingCommand参数。
自定义音色则适合听腻了小爱同学声音的朋友。默认音色由小爱自带的 TTS 合成,想换音色需要两步:先部署一个兼容的 TTS 服务,再在配置里切换引擎:
speaker: { tts: "custom", // 从 xiaoai 切换为自定义引擎 switchSpeakerKeywords: ["把声音换成"], // 说"把声音换成xxx"即可切换 }TTS_BASE_URL=http://192.168.31.205:4321/你的密钥路径/api配置好之后,直接说"小爱同学,把声音换成某个音色名",就能在线换声。项目文档里提供了一个基于火山引擎的 TTS 服务示例,实名认证后有 21 款免费音色可选。
实测体验:哪些地方惊艳,哪些地方要妥协
跑了一周,说说真实的感受。惊艳的部分:角色扮演的完成度很高,只要人设写得好,对话能一直保持在角色里;长短期记忆比我想象中靠谱,它能记住"你上次说想换工作"这种话题,下次主动提起,体验很奇妙。
需要妥协的部分也要实话实说:由于底层靠轮询小米云端接口,从"小爱开始抢答"到"项目把它静音"之间有 1~2 秒延迟,偶尔能听到它抢半句话,这是方案原理决定的,无解。另外,有些花哨功能依赖音箱型号,入门款体验会打折扣。还有一点需要如实提醒:项目作者已宣布停止维护,核心功能仍可正常使用,但遇到新问题可能没有官方更新了,适合愿意自己动手折腾的玩家。
写在最后:它适合谁,以及下一步怎么走
如果你手头正好有一台闲置的小爱音箱,又愿意花半小时折腾配置文件,MiGPT 是性价比极高的"脑移植手术"——不用换硬件,就拥有一个会说人话、记得住事、有自己性格的语音助手。如果你想换音色、调人设,或者折腾过程中卡住了,这几个文档基本能覆盖你 90% 的问题:
- 全部参数说明:docs/settings.md
- 高频问题排查:docs/faq.md
- 第三方 TTS 接入:docs/tts.md
- 人设与提示词调优:docs/prompt.md
我的建议是:先用默认配置跑通一次"召唤 + 问答",感受效果,再一步步加连续对话、换音色、写人设。折腾的过程本身就是乐趣——毕竟,把一个"人工智障"调教成"人工智能",这件事本身就很酷。
【免费下载链接】mi-gpt🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考