ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

MiGPT完整指南:30分钟把小爱音箱接入ChatGPT,如何改造出你的专属语音助手

MiGPT完整指南:30分钟把小爱音箱接入ChatGPT,如何改造出你的专属语音助手 MiGPT完整指南30分钟把小爱音箱接入ChatGPT如何改造出你的专属语音助手【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt当你对着音箱说出小爱同学召唤傻妞回应你的不再是那个只会定闹钟、放歌的原厂助手——她变成了一个你亲手设定性格的伙伴能回答天文地理能连续多轮对话记得住聊过的上下文还能用你喜欢的音色开口说话。这就是开源项目MiGPT做的事把家里的小爱音箱接入 ChatGPT、豆包等大模型服务不刷机、不换新硬件只需一份配置就能完成改造。无论你是只会跑 Docker 的新手还是想深挖源码的开发者这篇指南都能帮你在 30 分钟内让它跑起来。三分钟看懂 MiGPT给小爱装个第二大脑一句话定位MiGPT 是跑在你自己机器上的中转服务它替你盯住小爱音箱的问题转发给你指定的大模型再把模型的回复用语音播报回音箱。让我们先看一张改造前后对照表感受一下差别对比维度默认的小爱同学接入 MiGPT 后知识问答内置知识库答案固定套路大模型实时生成开放问题也能接住人设固定的小爱形象你和她的人设、称呼都能自定义对话方式一问一答每次都要唤醒唤醒模式下可连续多轮对话上下文记忆不记得前面聊过什么短期长期记忆越聊越连贯播报音色小爱原厂声音可接第三方 TTS解锁豆包同款音色原理其实一句话就能讲明白把 MiGPT 想象成一个值班收发员。你对小爱说的每句话都会被音箱当作信投递到小米云端这个收发员每隔一小会儿查一次信箱发现新信你的提问就立刻转交给专家你配置的大模型专家回信后再由她把内容读出来放给音箱。因为是定期查信而不是实时通话所以会有 12 秒的延迟——但这恰恰意味着不刷机、不买新硬件一台能 7×24 小时开机的 NAS、旧电脑或云主机就够了。顺便说一句专家不限于 OpenAI。只要接口说的是 OpenAI API 这套普通话通义千问、Moonshot、DeepSeek甚至你用 Ollama 在本地部署的模型改几个环境变量就能换。 原理小抄MiGPT 核心就三步——盯问题轮询小米开放接口、问专家调用大模型、读回答TTS 合成语音音箱播放。想挖更深的实现细节可以看 docs/how-it-works.md。开工前自查哪些音箱和环境能用动手前花两分钟对照下表能帮你避开配完参数发现设备用不了的尴尬。设备端完整清单见 docs/compatibility.md运行档位代表型号体验说明✅ 完美运行小爱音箱 ProLX06、小米智能音箱 ProOH2P、Xiaomi 智能音箱OH2、小米 AI 音箱及二代、小爱音箱万能遥控版、Play2019 款、小爱智能家庭屏 10、Xiaomi Sound Pro全部功能可用含连续对话 正常运行小爱音箱L06A、miniLX01、PlayL05B、Play 增强版L05C、Art、触屏音箱、家庭屏 Mini/6、Redmi 触屏 Pro 8 英寸等问答正常但查不到播放状态需关闭streamResponse连续对话不可用❌ 不支持小米小爱音箱 HDSM4、小米小爱蓝牙音箱随身版无适配计划再明确几条不能用的边界别抱侥幸心理本项目只支持小米生态的小爱系列。小度、天猫精灵、HomePod 均不支持也没有适配计划。共享设备用不了音箱如果是别人账号共享给你的MiNA 接口拉不到这台设备务必用登录该音箱的主账号。服务器不需要和音箱在同一局域网它走的是 MIoT 云端接口异地跑完全没问题。环境端项目最低要求推荐配置运行环境Docker或 Node.js ≥16改源码建议 Node 20Docker 一键启动 / Node 20网络能访问你所用大模型的 APIOpenAI 在国内需代理国内大模型 API免代理更省心账号小米账号密码建议用一个专门的小米账号部署中唯一容易踩坑的是ttsCommand播报文本和wakeUpCommand唤醒两个指令参数不同型号值不一样需要去小米 IoT 规格查询站miot-spec.com首页搜索框输入你的型号如 LX06点规格逐台查。查法看上图即可这一步别跳过。 关键提示配置里的userId是小米 ID——一串纯数字在小米账号个人信息页查看不是手机号或邮箱。填错是70016 登录验证失败的头号原因。30 分钟跑起来从代码到第一声回答阶段一拿到项目约 5 分钟本步目标把代码放到一台能长期开机的机器上NAS、旧电脑、云主机均可。最小命令git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt进入目录后把两个配置模板复制成正式文件cp .migpt.example.js .migpt.js和cp .env.example .env。如何判断成功目录里能看到.migpt.js和.env两个文件且内容可正常打开。阶段二填两份配置约 10 分钟本步目标告诉 MiGPT 三件事——用谁的账号、控哪台音箱、调哪个大模型。.env是大模型的执照重点填OPENAI_API_KEY和OPENAI_MODEL模板默认gpt-4o-mini用国内模型时加一行OPENAI_BASE_URL指向对应服务地址变量名保持不变、只改值即可。.migpt.js是音箱的身份证核心四个参数userId/password小米账号再次提醒userId 不是手机号did音箱在米家 APP 里的名称直接从米家复制手敲极易错音响vs音箱、多余空格、大小写都会导致找不到设备ttsCommand/wakeUpCommand上一步查到的值例如小爱音箱 Pro 分别是[5, 1]和[5, 3]bot/master双方人设先保留默认值也能跑后面再慢慢调如何判断成功两份文件保存后无语法报错did与米家中设备名逐字符一致。阶段三启动服务约 5 分钟本步目标让 MiGPT 在后台常驻运行。快速版Docker新手推荐docker run -d --env-file $(pwd)/.env \ -v $(pwd)/.migpt.js:/app/.migpt.js \ idootop/mi-gpt:latest注意Windows 终端里$(pwd)不生效请把两个文件写成绝对路径。自定义版Node.js适合要改代码的开发者先执行npm install mi-gpt安装然后在代码里MiGPT.create({...})创建实例并调用start().migpt.js里的参数作为初始化参数传入——此模式不会自动读取.env和.migpt.js环境变量和参数都要手动传。想直接改源码的话克隆后pnpm install→pnpm build→pnpm dev还能用 VS Code 按 F5 断点调试详见 docs/development.md。如何判断成功docker ps能看到mi-gpt容器在跑日志打印出 ASCII 横幅和服务已启动。阶段四首次对话测试约 5 分钟本步目标和换了大脑的小爱完成第一次对话。站到音箱前依次试这三种说法小爱同学请问地球为什么是圆的触发请关键词走 AI 回答小爱同学你喜欢我吗触发你关键词小爱同学召唤傻妞进入唤醒模式之后可以连续提问如何判断成功小爱先说一句让我先想想之类的提示语随后播报大模型的回答终端日志里也能看到完整的回复文本。 进阶技巧嫌等待感太长把.migpt.js里的onAIAsking设成空数组去掉提示语、checkInterval降到 500再配一个响应快的模型体感能明显提速。跑起来后先做这三件事1. 给小爱写一张人设卡默认的小爱比较素。.migpt.js里bot和master的profile字段就是给双方写人设填得越具体语气越像活人// .migpt.js bot: { name: 晴禾, profile: 女性30岁退休的语文老师语气温和喜欢打比方。, }, master: { name: 老刘, profile: 中年程序员加班多爱喝茶最近睡眠不好。, },真实案例程序员老刘按上面这样配置后把小爱改成了退休语文老师晴禾。晚上回家他常走到音箱前说小爱同学你今天觉得怎么样晴禾会顺着他加班、喝茶这些细节寒暄偶尔批评他熬夜。老刘的原话比原来只会讲冷笑话的出厂版有意思多了家里人都开始跟她聊天了。2. 打开唤醒模式连续对话不用每句都喊默认每次提问都要以小爱同学开头。如果你习惯连着聊可以开启连续对话仅完美运行档位的机型体验完整// .migpt.js speaker: { streamResponse: true, // 开启连续对话 wakeUpKeywords: [召唤, 打开], // 进入唤醒模式 exitKeywords: [退出, 关闭], // 退出唤醒模式 exitKeepAliveAfter: 60, // 60 秒没提问自动退出 },注意唤醒词别用唤醒这类词——小爱可能把它当成歌名播放用召唤打开更稳。另外连续对话目前属于实验性功能日常求稳的话关掉streamResponse也不影响普通问答。真实案例开发者老周开启后做饭时先说一句小爱同学召唤晴禾接着连问烤箱烤鸡腿多少度烤几分钟配什么菜全程不用重复唤醒做完说一声退出音箱立刻交还给家人当普通小爱用互不打扰。3. 把小爱的嗓音换成你喜欢的默认的 TTS 音色不合口味MiGPT 支持接入任意第三方 TTS 服务——包括与豆包同款的火山 TTS以及本地部署的 ChatTTS 等。做法分三步先部署好你的 TTS 服务在.env里加一行TTS_BASE_URL指向它注意不要用 localhost要写局域网或公网地址再把.migpt.js的tts改成对应引擎。配置后还可以加switchSpeakerKeywords: [把声音换成]之后直接说小爱同学把声音换成某某就能现场换音色。完整教程见 docs/tts.md。真实案例声音控小琳在家庭服务器上起了火山 TTS把播报换成了温暖女声还配了两种音色讲题时用讲解版给三岁的娃讲故事时切哄睡版——用语音一句话切换孩子已经管音箱叫晴禾阿姨了。⚠️ 安全提示.env里是你的 API Key.migpt.js里是小米账号密码这两个文件不要提交进任何代码仓库也不要贴给别人。首次登录成功后本地会生成.mi.json凭证文件可以备份但同样要管好。出问题先自查高频故障快速排查先查这张表绝大多数问题都落在里面每条的详细解法可对照 docs/faq.md现象最可能的原因解决办法启动报70016登录验证失败小米 ID 或密码错误把手机号当 userId 了去个人信息页拿正确的小米 ID提示触发异地登录保护小米账号安全机制拦截在与 MiGPT 相同的网络环境下登录小米官网完成验证等约 1 小时再试找不到设备xxxdid与米家名称不一致空格/大小写/错别字直接复制米家中设备名仍失败就开debug: trueenableTrace: true从日志 MiNA 设备列表里抄miotDID填进配置ERR_MODULE_NOT_FOUND.migpt.js没挂进容器或 Windows 下$(pwd)失效确认文件挂载到/app/.migpt.jsWindows 改用绝对路径控制台有 AI 回复但音箱不发声该型号的ttsCommand配错了到规格查询站核对机型指令后更新配置回答总被拦腰截断机型查不到播放状态补上该型号的playingCommand如[3, 1, 1]若机型不支持则关闭streamResponse保证完整播报LLM 响应异常 Connection error国内网络访问不了 OpenAI环境变量里加代理或改用国内大模型并配OPENAI_BASE_URL404 The model does not exist账号没有 gpt-4 系列权限新账号未绑卡常见换成gpt-3.5-turbo等已授权的模型再挑 4 个问得最多的问题说一下小爱同学这个唤醒词能换吗不能它写死在音箱固件里改需要刷机不在本项目范围但进入 AI 的wakeUpKeywords可以随便定。为什么小爱会抢答AI 回答前先蹦一句从音箱→小米云→MiGPT 轮询有 12 秒固有延迟属于已知限制无解但无碍。小爱说个没完怎么打断重新唤醒一句小爱同学请你闭嘴或直接问下一个问题。能多音箱、多账号一起用吗单实例只支持一台设备一个账号需要多设备就建多个容器各自挂不同的配置文件。如果话说了、但 AI 没反应按这张图走一遍基本都能定位更进一步文档、源码与项目走向官方文档导航docs/settings.md全部配置参数唤醒词、提示语、连续对话节奏等docs/faq.md高频问题与各种报错码的解法docs/tts.md第三方 TTS 接入教程docs/prompt.md系统提示词模板怎么写docs/compatibility.md机型清单与各型号指令参数docs/development.md本地开发、构建 Docker 镜像docs/roadmap.md计划中的功能列表源码模块结构很清晰想魔改可以从这三处入手src/services/speaker/负责音箱控制与语音输出src/services/bot/memory/是短期/长期记忆的实现数据落在本地 SQLite 库里src/services/openai.ts是大模型调用入口。项目走向作者已在 Roadmap 中规划了智能家居 Agent让小爱直接联动米家设备、插件系统联网搜索、自定义语音指令等方向。需要提醒的是README 中已声明项目停止维护——好在核心功能已完整可用日常使用不受影响遇到新机型参数问题社区在 docs/compatibility.md 的型号分享区仍在持续补充。一台旧音箱和大模型之间只差一点配置第二春就已经开始了。MiGPT 是 MIT 协议的开源免费项目代码全部摊在你面前。别再收藏吃灰了——现在就去你家小爱面前说出那句小爱同学请问今天适合做什么吧。【免费下载链接】mi-gpt 将小爱音箱接入 ChatGPT 和豆包改造成你的专属语音助手。项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表