小米音箱接入 gpt

设备要求

项目地址: https://github.com/idootop/mi-gpt,查看自己的设备是否符合要求,目前仅支持小米音箱

docker安装

修改docker镜像地址

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
sudo vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://ueo0uggy.mirror.aliyuncs.com",
    "https://docker.m.daocloud.io",
    "https://cf-workers-docker-io-apl.pages.dev",
    "http://95.169.25.181"
  ]
}

配置.env.migpt.js文件

下载 .env.example.migpt.example.js 文件,并重命名为 .env.migpt.js

/images/documents/小米音箱接入gpt/1.png
(图1)

根据自身需求修改 .env 文件,我使用的是 DeepSeek

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# OpenAI(也支持通义千问、MoonShot、DeepSeek 等模型)
OPENAI_MODEL=deepseek-chat
OPENAI_API_KEY=xxxxxx
# 你的大模型服务接口,比如:https://api.openai.com/v1(注意:一般以 /v1 结尾)
OPENAI_BASE_URL=https://api.deepseek.com/v1

# Azure OpenAI Service(可选)
# OPENAI_API_VERSION=2024-04-01-preview
# AZURE_OPENAI_API_KEY=你的密钥
# AZURE_OPENAI_ENDPOINT=https://你的资源名.openai.azure.com
# AZURE_OPENAI_DEPLOYMENT=你的模型部署名,比如:gpt-35-turbo-instruct

# 提示音效(可选,一般不用填,你也可以换上自己的提示音链接试试看效果)
# AUDIO_SILENT=静音音频链接,示例:https://example.com/slient.wav
# AUDIO_BEEP=默认提示音链接,同上
# AUDIO_ACTIVE=唤醒提示音链接,同上
# AUDIO_ERROR=出错了提示音链接,同上

# 第三方 TTS(可选,用于调用第三方 TTS 服务)
# TTS_BASE_URL=http://你的局域网或公网地址]:[端口号/SECRET_PATH/api
# 比如:http://192.168.31.205:4321/xxxx/api(注意:不要使用 localhost 或 127.0.0.1)

根据自身需求修改 .migpt.js 文件,重要的部分是账号基本信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
speaker: {
  /**
   * 🏠 账号基本信息
   */

  // 小米 ID
  userId: "987654321", // 注意:不是手机号或邮箱,请在「个人信息」-「小米 ID」查看
  // 账号密码
  password: "123456",
  // 小爱音箱 DID 或在米家中设置的名称
  did: "小爱音箱Pro", // 注意空格、大小写和错别字(音响 👉 音箱)
}

安装

1
2
3
4
5
6
7
8
# 拉取镜像
docker pull idootop/mi-gpt

# 在 .env 和 .migpt.js 所在的目录中执行命令
docker run -d --env-file $(pwd)/.env -v $(pwd)/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest

# 查看镜像日志输出
docker logs 镜像id

问题及解决

1
2
3
4
5
日志消息:
🐛 注意:授权成功后,大约需要等待 1 个小时左右账号信息才会更新,请在更新后再尝试重新登录。
❌ 小米账号登录失败 &&&START&&&。。。。。。这里省略一些。。。
2024/06/22 09:53:38 Speaker ❌ 初始化 Mi Services 失败
2024/06/22 09:53:38 database ❌ Error: ❌ Assertion failed

如果出现以上报错,根据提示在浏览器打开链接,输入手机验证码授权

尝试手机验证码授权,仍然不行,在 #121 问题中,有相关的解决方案

/images/documents/小米音箱接入gpt/2.png
(图1)

步骤

1.在 windows 上安装 docker desktop 2.重复上面的流程,拉取镜像,启动

1
2
# 注意:在 Windows 终端下需要将配置文件路径 $(pwd) 替换为绝对路径。
docker run -d --env-file D:/xiaomi/.env -v D:/xiaomi/.migpt.js:/app/.migpt.js idootop/mi-gpt:latest

3.替换文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 进入容器,查找 .mi.json 所在的位置
docker exec -it 容器id /bin/bash

# 将容器中的 .mi.json 文件下载下来
docker cp 容器id:/app/.mi.json D:/xiaomi/.mi.json

# 将 .mi.json 文件上传到服务器上,并替换容器中的 .mi.json 
docker cp ./.mi.json 容器id:/app/.mi.json

# 重启容器
docker restart 容器id
提示

每次修改配置文件后,需要删除容器,再次创建


0%