news 2026/9/14 8:51:41

5 分钟跑通 MiGPT:小爱音箱接入大模型完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5 分钟跑通 MiGPT:小爱音箱接入大模型完整指南

5 分钟跑通 MiGPT:小爱音箱接入大模型完整指南

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

MiGPT 把小爱音箱接入 ChatGPT、豆包等大模型,让普通智能音箱听懂自然语言并开口回答。本文带你从零到跑起来:拉代码、改两个配置文件、启动服务,家里就多一个能问答的语音管家。

它解决什么痛点 🎧

  • 深夜想听新闻,懒得掏手机:说“小爱同学,请总结今天头条新闻”,音箱让大模型生成摘要念给你听,不碰屏幕、没有广告。
  • 孩子连珠炮式提问:“为什么天会黑?”套话答案一句就完,接入大模型后能一步步解释,还能接住下一问。
  • 不想要冷冰冰的助手:给它起个名字、设定人设,它会角色扮演,每个家庭成员都能拥有自己的“专属管家”。

本质是:音箱负责听和说,大模型负责思考,MiGPT 负责把两头接起来。

从零到跑起来:MiGPT 最快配置方法

拉代码并准备两个配置文件

克隆仓库、复制两份示例配置、安装依赖:

git clone https://gitcode.com/GitHub_Trending/mi/mi-gpt cd mi-gpt cp .migpt.example.js .migpt.js cp .env.example .env pnpm install

.env管大模型(密钥、模型名、接口地址),.migpt.js管音箱(账号、设备、人设)。先跑起来,细节后面慢慢调。

填好音箱与模型信息

.migpt.js里三个关键项:userId填小米 ID(不是手机号或邮箱),password填账号密码,did填音箱在米家 App 里的名称(注意空格和大小写)。ttsCommandwakeUpCommand两个数字是音箱的“朗读”和“唤醒”指令,各型号数值不同,查 支持型号 或自己搜规格:

规格里Intelligent Speaker(SIID 5)下的play-text方法对应ttsCommandwake-up对应wakeUpCommand

.env里只需大模型的密钥、模型名、接口地址三项,换国内或国外模型都只改这几个变量的值:

OPENAI_API_KEY=sk-... OPENAI_MODEL=gpt-4o OPENAI_BASE_URL=https://api.openai.com/v1

启动并验证

在项目目录直接pnpm start;不想自己装 Node 环境,用一条 Docker 命令也行:

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

日志出现“服务已启动”后,说一句“小爱同学,召唤傻妞”,音箱开口回答就说明接通了。

跑通后,“请 xxx”“你 xxx”是一问一答;“召唤 xxx”会进入 AI 模式,之后几轮对话不用再说“小爱同学”,直接聊。

让它更像“你的”助手

模型怎么切换:兼容 OpenAI SDK 的模型(通义千问、DeepSeek 等)只改.env三个变量;不直接兼容的模型,可经第三方 API 聚合服务转成兼容接口再接入,示例见 常见问题。

人设怎么定制.migpt.jsbot.profile写角色简介,master.profile写你的简介,性别、性格、爱好各一句即可。默认的systemTemplate(系统提示词)已内置聊天历史和记忆,只改简介不用重写模板,写法见 Prompt 说明。

唤醒词怎么改callAIKeywordswakeUpKeywordsexitKeywords分别对应一问一答、进入 AI 模式、退出 AI 模式。把“召唤”换成“唤醒”“开始”都行,onEnterAI等提示语数组置空可让说话更干脆。

进阶玩法:记忆、TTS、连续对话

  • 长短期记忆:对话历史存在本地 SQLite(见 记忆模块),短期记忆管当轮上下文,长期记忆记偏好,越用越“记得你说过”。
  • 第三方 TTS:可接任意 TTS 服务(含本地部署的 ChatTTS),在.envTTS_BASE_URL.migpt.jstts字段,说“把声音换成 xxx”即可切换音色,教程见 TTS 定制。
  • 连续对话:开启streamResponse后,音箱播完会自动听下一问;部分型号播放状态查询不准,需关闭,对照 支持型号 表。playingCommand就是查询播放状态的指令:

避坑指南:4 个高频问题

  • 现象:登录账号失败→ 原因:userId填成了手机号或邮箱 → 处理:改成小米 ID。
  • 现象:能连上但音箱不出声→ 原因:ttsCommand与型号不匹配,或did写错 → 处理:对照 支持型号 查数值,did与米家名称逐字核对。
  • 现象:AI 不回答或特别慢→ 原因:密钥失效或网络访问不到模型接口 → 处理:验证密钥与OPENAI_BASE_URL,打开debug看日志。
  • 现象:连续对话中断或复读→ 原因:部分型号播放状态查询不准 → 处理:关闭streamResponse,或配置playingCommand

文档与源码导航

  • 配置参数:.migpt.js.env全部字段说明
  • 支持型号:音箱型号兼容性与指令参数
  • 核心源码:音箱连接、记忆、对话等模块实现

音箱跑起来之后,人设、音色、唤醒词都可以一项项调,用久了它就是“你的”。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 8:51:10

实体店GEO营销实战:3公里精准获客与热力地图分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 8:50:10

RN鸿蒙开发中的Git与工程配置优化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华