

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

MiGPT GUI 是一个图形化工具,旨在让用户 轻松将小爱音箱接入人工智能大模型。它通过可视化界面简化了配置和部署流程,即使没有深厚的编程基础,也能快速完成以下操作:
支持类型 | 设备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 助手变得轻松可行。
本教程将以Windows系统上的Docker部署migpt-server作为演示,
首先,电脑摁Win+R键,输入cmd回车,打开命令提示符窗口。然后输入如下命令一键部署migpt-server服务:
docker run -d --name migpt-server -p 36592:36592 lmk123/migpt-server
执行完成后,可以使用如下命令查看Docker容器状态:
docker ps
可以看到**status(状态)**显示为UP,端口为36592,代表正常运行的,接着,浏览器访问如下地址:
http://localhost:36592可以看到如下页面:

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

我这里是小爱音箱 Pro,所以我就选择的它。接着小米账号ID部分,访问如下地址登录你的小米账号:
https://account.xiaomi.com/fe/service/account/profile
将小米ID复制下来,填写到MiGPT 控制面板中的小米账号 ID列中,以及填写好你的小米账号密码:

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

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

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

登录好以后,进入到密钥管理页面:
https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.60907980OAftBf&tab=model#/api-key
点击页面上的创建API-KEY按钮,选择你的归属账号,然后点击确认:

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

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

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

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

切换后,会有4个参数,首先是对外地址,对外地址需要填写局域网地址或者部署在公网填写公网地址(比如我的电脑局域网IP为):
http://192.168.50.149:36592
接下来是APP ID和Access Token,首先需要登录火山引擎控制台:
https://console.volcengine.com/home
登录上以后,点击左上角3条杠,然后搜索语音合成,点击豆包语音进入:

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

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

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

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

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

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

获取到passToken后,在docker容器内部执行如下命令(注意替换上你的passToken):
cat > /root/.migptgui/default/.mi.json << 'EOF'
{
"mina": {
"pass": {
"passToken": "你的小米账号Token"
}
},
"miiot": {
"pass": {
"passToken": "你的小米账号Token"
}
}
}
EOF
然后验证是否成功创建**.mi.json**文件:
ls -la /root/.migptgui/default/
成功,执行如下命令退出容器即可:
exit修复登录问题后,输入如下命令启动容器(由于前面账号登录问题,容器其实停止了):
docker start migpt-server
再次点击页面上的启动按钮,即可启动:

然后可以回到cmd终端,输入如下命令再次查看migpt-server运行日志(用户对话查看):
docker logs -f migpt-server
可以看到,现在服务成功启动了,在前面可以看到单次对话调用AI的关键词配置的为请、你、傻妞:

这里询问一下,如:
小爱同学,你是谁?
可以看到成功回答了,而且使用的我们配置的音色进行回答的!个别音箱还支持连续对话,可以通过关键词召唤:

这里使用如下指令唤醒连续对话:
召唤
为什么地球是方的?
那为什么地球是圆的?
可以看到成功的都调用AI进行回复啦。这样你的小爱音箱就已经支持AI啦!
前面我们已经完美的配置好了小爱音箱接入大模型DeepSeekV3.2,并且配置上了豆包的音色,本期将带你更换默认人设傻妞。
首先,滚动到最顶部,可以看到如下:

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

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

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

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

打开cpolar官网的下载页面:
点击立即下载 64-bit按钮,下载cpoalr的安装包:

下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:
cpolar version
出现如上版本即代表安装成功!
访问cpolar官网,点击免费注册按钮,进行账号注册

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

注册完成后,在浏览器中输入如下地址访问 web ui管理界面:
http://127.0.0.1:9200
输入刚才注册好的cpolar账号登录即可进入后台页面:

随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲7.2 的固定域名方式,且访问更稳定。
点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

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

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

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

可以看到成功访问啦!
通过前面的配置,我们已经成功实现了MiGPT GUI的远程访问,但免费随机域名方案的局限性也逐渐显现:每24小时左右自动更换域名地址,意味着你需要频繁更新书签、重新分享链接,甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生,能够让你拥有一个永久不变的专属地址。
好啦,接下来开始固定保留二级子域名教程!
首先,进入官网的预留页面:
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接入现有小爱音箱的基础流程。