转载请注明出处:小锋学长生活大爆炸[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下来。
- 小爱同学会抢答一两个字,属于正常情况,刷机可解决这个问题。