Windows部署MiGPT GUI:小爱音箱接入大模型、TTS与自定义人设

前言

小爱音箱本身已经可以完成语音问答和智能家居控制,但如果希望进一步调整回复方式、使用不同的大模型,或者给它设定一个固定的角色和说话风格,原有功能就不一定能够满足这些需求。

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 IDAccess Token ,首先需要登录火山引擎控制台

shell 复制代码
https://console.volcengine.com/home

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

进入以后,点击创建应用

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

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

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

如果想要换其他音色,可以参考火山引擎TTS音色列表 ,如下为我在gitee中开源的一个小页面,可以自行部署填写APP IDAccess 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接入现有小爱音箱的基础流程。

相关推荐
源码学社2 小时前
DeerFlow Windows 本地运行教程(uv)
windows·uv·沙箱·deerflow·超级智能体·deerflow安装
Sombra_Olivia2 小时前
复现Windows Server服务RPC请求缓冲区溢出漏洞(MS08067)
网络·windows·安全·web安全·网络安全·渗透测试·vulhub
-天道酬勤-2 小时前
查看Windows电脑开机时间
windows·电脑
该用户可能存在3 小时前
【Win11优化】StartAllBack实战:解决任务栏合并、右键折叠等痛点
windows·性能优化·win11·windows 11·startallback·任务栏·开始菜单
特立独行的猫a5 小时前
Windows安装Rust环境 Clang替代GCC MinGW环境LLVM工具链(详细教程)
开发语言·windows·rust·mingw·环境搭建·llvm
安且惜13 小时前
Windows或mac支持本地抓包
windows·macos
深念Y1 天前
AMD 芯片组驱动触发高频 SSD 写入的问题及解决方案
windows·bug·ssd·日志·芯片·驱动·amd
sukalot1 天前
windows 驱动实例分析系列: wintun驱动分析-example篇(下)
windows
怦怦蓝1 天前
Windows 安装 Docker Desktop 踩坑完整实战指南(WSL2 故障排错实录)
windows·docker·容器