大致流程

最近入手了一款小爱音响,想着把小爱音响接入 chatGPT, 在 github 上找了一个非常优秀的开源项目,整个过程还是比较简单的,一次就完成了。

其中最难的技术点是 如何获取与小爱的对话记录?如何让小爱播放文本?

让我自己想的话,估计就是想着各种办法去破解小爱同学,但是这需要很深的硬件知识。学习成本很高。

这个开源项目用了一个比较野的路子:

  1. 手机端上的小爱同学有一个查看会话记录功能,通过抓包工具可以拿到这个接口信息
  2. 循环调用这个接口就可以拿到最新的会话文本信息
  3. 剩下的就是把该文本作为参数与 chatGPT 进行交互了,官方有现成的 API
  4. 拿到 GPT 返回的结果
  5. 再调用小米服务可以让小爱同学播放返回的文本。
  6. 同时还可以用微软的 tts 代替小爱同学的语音输出

这样小爱同学只用来语音转文本,然后播放一段声音了。

扩展

我还自定义了唤醒词,如果以“电脑”开头。就会调用一个部署在我本机的一个服务,来控制我的电脑,比如“电脑音量调到百分之五十”

项目地址请看:

  • https://github.com/dccmmtop/xiaogpt
  • 电脑控制服务示例

该项目存在的问题

那么频繁的调用小爱同学会话记录接口,很难长久稳定的运行,肯定会被小米封的