【教程】让小爱音箱Play增强版接入Mi-GPT

2024-06-28 14:05:15 浏览数 (1)

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

项目地址:https://github.com/idootop/mi-gpt MiIOT:小米小爱音箱Play 增强版 - 产品规格 - Xiaomi Miot Spec

实现效果图:

1、安装pnpm

代码语言:javascript复制
sudo apt-get install -y nodejs
sudo npm install -g pnpm@latest

2、下载工程源码

代码语言:javascript复制
git clone https://kkgithub.com/idootop/mi-gpt.git

3、修改配置文件

  • 把 .migpt.example.js 改为 .migpt.js
  • 把 .env.example 改为 .env

在 .env.json 中填写OpenAI Key:

代码语言:javascript复制
OPENAI_MODEL=gpt-3.5-turbo
OPENAI_API_KEY=sk-SOxxxx
# 注意URL后面不需要带 chat/completions
OPENAI_BASE_URL=xxxxxx

在 .migpt.js中填写小米ID等信息:

代码语言:javascript复制
speaker: {
    // 小米 ID
    // 注意这里改成你的!!!
    userId: "xxxx", // 注意:不是手机号或邮箱,请在「个人信息」-「小米 ID」查看
    // 账号密码
    // 注意这里改成你的!!!
    password: "xxxx",
    // 小爱音箱 ID 或在米家中设置的名称
    did: "小爱音箱Play增强版",
    // 当消息以下面的关键词开头时,会调用 AI 来回复消息
    callAIKeywords: ["请", "你", "傻妞"],
    // 当消息以下面的关键词开头时,会进入 AI 唤醒状态
    wakeUpKeywords: ["打开", "进入", "召唤"],
    // 当消息以下面的关键词开头时,会退出 AI 唤醒状态
    exitKeywords: ["关闭", "退出", "再见"],
    // 进入 AI 模式的欢迎语
    onEnterAI: ["你好,我是傻妞,很高兴认识你"],
    // 退出 AI 模式的提示语
    onExitAI: ["傻妞已退出"],
    // AI 开始回答时的提示语
    onAIAsking: ["让我先想想", "请稍等"],
    // AI 结束回答时的提示语
    onAIReplied: ["我说完了", "还有其他问题吗"],
    // AI 回答异常时的提示语
    onAIError: ["啊哦,出错了,请稍后再试吧!"],
    // 无响应一段时间后,多久自动退出唤醒模式(默认 30 秒)
    exitKeepAliveAfter: 30,
    // TTS 指令,https://home.miot-spec.com/spec/xiaomi.wifispeaker.l05c
    // 注意改成这个!!!
    ttsCommand: [5, 3],
    // 设备唤醒指令,https://home.miot-spec.com/spec/xiaomi.wifispeaker.l05c
    // 注意改成这个!!!
    wakeUpCommand: [5, 1],
    // 是否启用流式响应,部分小爱音箱型号不支持查询播放状态,此时需要关闭流式响应
    // 注意不要开启!!!
    streamResponse: false,
    // 查询是否在播放中指令
    // 注意不要开启!!!
    // playingCommand: [3, 1, 1],
  },

4、编译项目

代码语言:javascript复制
cd mi-gpt
pnpm install && pnpm build

5、启动项目

代码语言:javascript复制
node --env-file=.env app.js

保持程序运行,可参考使用nohop或者screen。

6、用法(语音命令顺序):

  • 小爱同学
  • 你 在干什么
  • 小爱同学
  • 召唤傻妞

7、注意事项:

  • Windows上运行可能会有点问题。
  • Docker需要魔法,反正我是一直没pull下来。
  • 小爱同学会抢答一两个字,属于正常情况,刷机可解决这个问题。

0 人点赞