
前言
小爱音箱本身已经可以完成语音问答和智能家居控制,但如果希望进一步调整回复方式、使用不同的大模型,或者给它设定一个固定的角色和说话风格,原有功能就不一定能够满足这些需求。
MiGPT提供了一种不需要直接修改音箱硬件的实现思路:在电脑上运行一个中间服务,由它连接小爱设备,再把语音请求交给外部大模型处理,得到回复以后继续通过音箱播放。
本文会在Windows中通过Docker部署MiGPT GUI,实际完成小米账号和音箱绑定,再接入阿里云百炼提供的大模型接口,并配置TTS语音服务。中间还会处理一次小米账号安全验证导致的登录问题,最终验证音箱能够正常调用AI进行回答。
在基础对话跑通以后,还会通过Prompt修改角色设定,以"猫娘"作为一个简单的人设示例。这里改变的主要是大模型回复的语气和角色风格,实际效果仍然会受到模型能力、Prompt以及TTS音色的共同影响。
最后还会通过cpolar为MiGPT GUI建立公网访问入口,方便从其他网络环境修改模型、TTS和人设配置。由于这个管理页面涉及小米账号、模型API Key和TTS凭据,公网使用时必须额外做好访问认证,并避免公开实际管理地址。
1 什么是MiGPT GUI?

MiGPT GUI 是一个图形化工具,旨在让用户 轻松将小爱音箱接入人工智能大模型。它通过可视化界面简化了配置和部署流程,即使没有深厚的编程基础,也能快速完成以下操作:
- 接入 MiGPT 大模型,让小爱音箱获得更智能的对话能力;
- 自定义人设和对话风格,让音箱的回答更符合个人需求;
- 支持 TTS(文本转语音),实现自然语音输出;
- 安全快速部署,可在本地或 Docker 环境运行;
- 设备兼容性一目了然:
| 支持类型 | 设备1 | 设备2 | 设备3 | 设备4 | 设备5 | 设备6 |
|---|---|---|---|---|---|---|
| ✅ 支持连续对话 | 小爱音箱 Pro | 小爱音箱 mini | 小爱音箱 Play(2019) | 万能遥控版 | 小米 AI 音箱(1&2代) | 小爱智能家庭屏 10 |
| ⚠️ 不支持连续对话 | 小爱音箱 | 小爱音箱 Play | Play 增强版 | 智能家庭屏 6 | Redmi 触屏音箱 Pro 8 | 小爱音箱 Art |
| ❌ 无法运行 | 小米小爱音箱 HD | 小爱蓝牙音箱随身版 | - | - | - | - |
简单来说,MiGPT GUI 就是小爱音箱接入大模型的"可视化桥梁",把复杂的配置和接口调用都封装在图形界面里,让家庭自建 AI 助手变得轻松可行。
2 Docker一键部署 migpt-server
本教程将以Windows系统上的Docker部署migpt-server作为演示,
首先,电脑摁Win+R键,输入cmd回车,打开命令提示符窗口。然后输入如下命令一键部署migpt-server服务:
shell
docker run -d --name migpt-server -p 36592:36592 lmk123/migpt-server

执行完成后,可以使用如下命令查看Docker容器状态:
shell
docker ps

可以看到**status(状态)**显示为UP,端口为36592,代表正常运行的,接着,浏览器访问如下地址:
shell
http://localhost:36592
可以看到如下页面:

这样,你就成功的部署好了migpt-server啦,是不是很简单!
3 配置migpt-server
前面我们已经成功部署好了 migpt-server 并确认服务正常运行,接下来就可以进行配置,让小爱音箱顺利接入 MiGPT。
3.1 配置小米账号及小爱设备
回到MiGPT 控制面板 页面,下拉找到音箱部分,选择你的音箱型号 :

我这里是小爱音箱 Pro,所以我就选择的它。接着小米账号ID部分,访问如下地址登录你的小米账号:
shell
https://account.xiaomi.com/fe/service/account/profile

将小米ID 复制下来,填写到MiGPT 控制面板 中的小米账号 ID 列中,以及填写好你的小米账号密码:

接着,设备ID这儿,可以访问你的米家APP 中显示的名称,注意空格也要正确填写,比如我的显示为Xiaomi 智能音箱 Pro:

就将该名字填写至设备ID这一列中:

3.2 配置接入AI大模型
这里以阿里云百炼 的API作为演示,阿里云百炼的新用户 登录即有每个模型100万 免费tokens:

登录好以后,进入到密钥管理页面:
shell
https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.60907980OAftBf&tab=model#/api-key

点击页面上的创建API-KEY 按钮,选择你的归属账号 ,然后点击确认 :

确认后即可创建成功,点击页面上的API-Key列 的复制按钮即可复制你的Api-Key密钥:

复制好以后回到MiGPT 控制面板页面,在接口地址中填写如下链接:
shell
https://dashscope.aliyuncs.com/compatible-mode/v1
密钥部分填写刚才复制下来的Api-Key密钥,模型部分这里以DeepSeek最新的V3.2为例,填写:
shell
deepseek-v3.2
参考如下图:

这样就配置好,接入好AI了!
3.3 配置语音TTS服务
前面已经配置好了AI服务,接下来我们来配置一下语音服务,让你的小爱同学能够使用其他的音色来回答你的问题!
滚动到下方的语音服务项:

可以看到TTS引擎显示为默认 ,默认为小爱同学音色,点击可以切换引擎,这里以豆包为例:

切换后,会有4个参数,首先是对外地址 ,对外地址需要填写局域网地址 或者部署在公网填写公网地址(比如我的电脑局域网IP为):
shell
http://192.168.50.149:36592

接下来是APP ID 和Access Token ,首先需要登录火山引擎控制台:
shell
https://console.volcengine.com/home

登录上以后,点击左上角3条杠,然后搜索语音合成 ,点击豆包语音 进入:

进入以后,点击创建应用 :

然后勾选上语音合成,点击确定即可:

接着在侧边栏的语音合成 里面,就能看到你的APP ID 和Access Token 了:

将其粘贴至MiGPT控制面板 中即可,然后点击测试语音配置 ,就可以试听一下是否配置成功了,默认是使用的灿灿 音色:

如果想要换其他音色,可以参考火山引擎TTS音色列表 ,如下为我在gitee中开源的一个小页面,可以自行部署填写APP ID 和Access Token即可:
shell
https://gitee.com/jun-wan/volcano-engine-tts-sound-list

4 登录问题修复及效果演示
4.1 登录问题修复
配置完成后,点击页面上的启动按钮,即可启动:

然后可以回到cmd终端,输入如下命令查看migpt-server运行日志(用户查看对话):
shell
docker logs -f migpt-server

可以看到控制台提示了小米异地登录安全验证机制,这个问题即使访问链接登录了也不好使,如下为我整理出来的解决方法步骤如下:
shell
1. 进入容器内部,进入 migptgui 容器的交互式 shell
2. 创建配置文件目录,创建 .migptgui/default 目录
3. 登录小米账号,在浏览器中访问小米账户获取授权或信息
4. 创建并写入 .mi.json 文件,在容器内创建文件并写入 Mina 和 Miiot 的 passToken
5. 验证文件是否创建成功,查看 .mi.json 是否存在并显示内容
6. 退出容器内部
我们按照步骤执行,首先需要进入到migpt-server 的容器内部,执行命令(记得用ctrl +c 停止之前查看日志的占用):
shell
docker exec -it migpt-server /bin/sh

接着,在容器内创建配置文件目录,执行如下命令:
shell
mkdir -p /root/.migptgui/default

然后登录小米账号官网,获取到你的passToken:
shell
https://account.xiaomi.com
操作步骤如下:

获取到passToken 后,在docker容器内部执行如下命令(注意替换上你的passToken):
shell
cat > /root/.migptgui/default/.mi.json << 'EOF'
{
"mina": {
"pass": {
"passToken": "你的小米账号Token"
}
},
"miiot": {
"pass": {
"passToken": "你的小米账号Token"
}
}
}
EOF

然后验证是否成功创建**.mi.json**文件:
shell
ls -la /root/.migptgui/default/

成功,执行如下命令退出容器即可:
shell
exit
4.2 效果演示
修复登录问题后,输入如下命令启动容器(由于前面账号登录问题,容器其实停止了):
shell
docker start migpt-server

再次点击页面上的启动按钮,即可启动:

然后可以回到cmd终端,输入如下命令再次查看migpt-server运行日志(用户对话查看):
shell
docker logs -f migpt-server

可以看到,现在服务成功启动了,在前面可以看到单次对话调用AI的关键词配置的为请、你、傻妞 :

这里询问一下,如:
shell
小爱同学,你是谁?

可以看到成功回答了,而且使用的我们配置的音色进行回答的!个别音箱还支持连续对话,可以通过关键词召唤:

这里使用如下指令唤醒连续对话:
shell
召唤
为什么地球是方的?
那为什么地球是圆的?

可以看到成功的都调用AI进行回复啦。这样你的小爱音箱就已经支持AI啦!
5 设置人设
前面我们已经完美的配置好了小爱音箱接入大模型DeepSeekV3.2 ,并且配置上了豆包的音色 ,本期将带你更换默认人设傻妞。
首先,滚动到最顶部,可以看到如下:

我们点击自定义 按钮,然后点击写入默认模板:

可以看到已经插入了默认的模板,我们需要修改成自己喜欢的角色人物,比如这里以猫娘为例(为了省事,直接用AI生成了一个人设):

将人设 覆盖之前的模板,然后重新点击启动按钮即可:

让我们询问一下小爱同学看看:
shell
小爱同学,你是谁?

可以看到,我们设置的人设已经生效了!现在你的小爱音箱已经变身为一个具备个性化人设的AI智能助手,快去和它聊聊天吧!
6 下载安装cpolar
到这里,MiGPT GUI 已经在本地跑起来了,但问题也随之而来------每次想换个人设 、调整TTS音色 、或者切换大模型API,都得守在电脑前操作。万一人在外面,家里的小爱音箱突然"抽风"或者想临时改个设定,那就只能干着急。
有了 cpolar 内网穿透 ,这些烦恼就迎刃而解了。只需简单配置,就能随时随地通过公网访问 MiGPT GUI 管理面板,远程调参、切换模型、更新人设,统统不在话下。
6.1 什么是cpolar?

- cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
- 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。
6.2 下载cpolar
打开cpolar官网的下载页面:
点击立即下载 64-bit按钮,下载cpoalr的安装包:

下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:
shell
cpolar version

出现如上版本即代表安装成功!
6.3 注册及登录cpolar web ui管理界面
访问cpolar官网,点击免费注册按钮,进行账号注册

进入到如下的注册页面进行账号注册:

注册完成后,在浏览器中输入如下地址访问 web ui管理界面:
shell
http://127.0.0.1:9200

输入刚才注册好的cpolar账号登录即可进入后台页面:

7 穿透MiGPT GUI实现公网访问
7.1 随机域名方式(免费方案)
随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲7.2 的固定域名方式 ,且访问更稳定。
点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:
- remoteDesktop隧道,指向3389端口,tcp协议
- website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

点击编辑website的隧道,修改成我们MiGPT GUI需要的信息:

接着,点击左侧菜单的状态菜单,接着点击在线隧道列表菜单按钮,可以看到有2个migpt的隧道,一个为http协议,另一个为https协议:

注意:每个用户创建的隧道显示的公网地址都不一样!
接下来在浏览器中访问migpt隧道生成的公网地址(http和https皆可),这里以https为例:

可以看到成功访问啦!
7.2 固定域名方式
通过前面的配置,我们已经成功实现了MiGPT GUI 的远程访问,但免费随机域名方案 的局限性也逐渐显现:每24小时左右 自动更换域名地址,意味着你需要频繁更新书签、重新分享链接,甚至可能因为忘记更新而无法访问。固定域名方案 正是为了解决这些痛点而生,能够让你拥有一个永久不变的专属地址。
好啦,接下来开始固定保留二级子域名教程!
首先,进入官网的预留页面:
shell
https://dashboard.cpolar.com/reserved
选择预留菜单,即可看到保留二级子域名项,填写其中的地区、名称、描述(可不填)项,然后点击保留按钮,操作步骤图如下:

列表中显示了一条已保留的二级子域名记录:
- 地区:显示为
China Top。 - 二级域名:显示为
migpt。
注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主
接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为migpt的隧道,点击编辑按钮进入编辑页面:

修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:

接着,来到状态菜单下的在线隧道列表可以看到隧道名称为migpt的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

这里以https协议做访问测试:

访问成功!这样一来,你就拥有了一个永久不变的专属域名,再也不用担心24小时域名更换的问题啦!
总结
完成以上配置后,MiGPT已经通过Docker运行在Windows主机中,并成功连接到本文测试的小爱音箱。
本文先完成了小米账号和设备配置,再接入外部大模型接口,让音箱的部分对话请求能够交给AI生成回复。随后加入TTS服务,使生成内容可以继续以配置后的语音输出。
针对小米账号异地登录验证,还在MiGPT容器中补充了对应的登录Token配置,并通过实际对话确认服务能够继续工作。由于passToken、小米账号密码、大模型API Key以及TTS Access Token都属于敏感凭据,实际使用时不应把这些信息写入公开文章、截图或代码仓库。
基础对话正常以后,还可以通过修改Prompt设置新的角色和回复风格。本文使用"猫娘"作为人设测试,实际效果证明新的角色设定已经参与了后续大模型回复,但模型输出仍然需要按照AI生成内容来看待,并不能保证每一次回答都完全符合设定或事实。
通过cpolar为36592端口建立公网入口后,MiGPT GUI还可以从其他网络环境访问。由于这个页面能够修改账号、模型、语音和人设等关键配置,长期远程管理时应优先使用HTTPS,并增加独立的访问认证,不建议把管理后台作为无认证页面直接公开。
从Docker部署、小爱设备绑定,到大模型、TTS、人设配置以及远程管理,本文完成了一套MiGPT接入现有小爱音箱的基础流程。