这是一个基于 Docker Compose 的 XiaoGPT 部署方案,特别集成了自动登录补丁,用于解决官方版本在部分环境下出现的 Login failed 和 passToken 缺失等报错问题。
xiaogpt/
├── config/
│ ├── config.yaml # 核心配置文件
│ └── entrypoint.sh # 多平台通用启动脚本(自动解决登录报错)
├── data/ # 令牌持续化目录(挂载至容器 /root)
└── docker-compose.yml # 容器编排文件
- 自动身份激活 (Auto-Auth):
脚本
entrypoint.sh会在启动前自动触发mina和miio接口的双重登录。这有效解决了部分账号在登录米家接口时出现的passToken缺失报错。 - 增强型持久化挂载:
采用目录级挂载(
./data:/root)而非单文件挂载。- Windows:避免了文件系统锁定导致的
Device or resource busy错误。 - Linux:确保了容器重启后令牌(
.mi.token)依然有效,减少频繁登录风险。
- Windows:避免了文件系统锁定导致的
- 多平台环境适配:
- Windows 用户:建议在
docker-compose.yml中禁用network_mode: host以获得更稳定的 DNS 解析。 - Linux 用户:强烈建议开启
network_mode: host,以确保音箱在局域网内的自动发现和更低的播放延迟。
- Windows 用户:建议在
- 进入
config目录,将config.example.yaml复制一份并重命名为config.yaml。 - 根据你的实际情况填写
config.yaml中的以下信息:account: 小米账号 (数字 ID 或手机号)password: 小米密码hardware: 音箱型号 (如S12A,LX06等)openai_key: 你的 AI API Key
Important
安全提醒:请务必确保 config.yaml 仅留在本地。本项目已配置 .gitignore 自动忽略该文件,防止隐私泄露。
在终端(PowerShell 或 Bash)执行:
docker compose down
docker compose up -ddocker logs -f xiaogpt| 现象 | 建议操作 |
|---|---|
| Login failed / KeyError | 在浏览器登录 account.xiaomi.com 检查是否有异地登录验证。 |
| 音箱播放无声音 | 检查音箱是否与运行容器的机器在同一网段,Linux 环境确保开启了 host 网络模式。 |
| 配置文件未生效 | 修改配置后需执行 docker compose restart 重启容器。 |
- 非官方项目:本项目仅为个人兴趣开发的第三方工具,与小米公司(Xiaomi)及任何 AI 服务提供商无官方关联。
- 账号风险:使用本项目涉及调用小米非公开 API。虽然目前较为稳定,但仍存在账号被风控、封禁或功能受限的风险,开发者及贡献者不对此承担任何责任。
- 合规使用:请确保在遵守当地法律法规、小米服务协议及 AI 平台使用条款的前提下使用。严禁将本项目用于商业用途或任何非法活动。
- 隐私保护:本项目不会收集你的账号密码。所有凭据均存储在你本地的
config.yaml中,请妥善保管,切勿将包含敏感信息的配置文件上传至任何公开仓库。 - 自行承担:用户需自行承担因使用本项目而产生的任何直接或间接后果。
Powered by Antigravity AI Assistant