先看一下效果图
本来开始我打算用网页微信的接口,但是考虑到很多微信都不能用网页微信了,所以直接改用桌面微信的API接口
原版的openwechat的API里面会不断的输出调试信息,类似于心跳包,这样在log里面很占用空间,于是我把bot里面414行注释掉了。
软件原理为
桌面微信→接收到消息→发送给chatgpt→接收chatgpt的返回→把返回json整理成文本发送给联系人
当然群里面被@的消息同样也会执行上面的流程,并且会@指定的发消息人
GPT的API接口非常简单
// Completions gtp文本模型回复
// curl https://api.openai.com/v1/completions
// -H "Content-Type: application/json"
// -H "Authorization: Bearer your chatGPT key"
// -d '{"model": "text-davinci-003", "prompt": "give me good song", "temperature": 0, "max_tokens": 7}'
带上你自己的chatgpt key就可以了。
当然,恶心的是,openai不向我大天朝提供服务,所以自己想办法科学上网,科学验证去申请吧~~~~
软件用golang写的,我编译了windows、linux的32位和64位版本,以及darwin的64位版本。
使用非常简单,不同的系统用不同的程序。
首先设置config.json里面的chatgpt key,把双引号内的chatgpt api key替换成你的key即可
auto_pass参数为是否自动加好友,true为是,false为否
注:这里如果为true时,微信上的隐私设置也要对应设置成自动通过,否则微信的API会报错!
设置完config文件就可以直接运行对应系统的程序了。
运行后,首次会直接弹出浏览器打开扫码地址,用微信扫码登录桌面版微信
登录成功后,会生成一个storage.json的文件,这个是微信的热登录,在很长一段时间内,都不需要再重复扫码登录(其实就是微信电脑端)。
如果sessions过期了,需要重新扫码登录,最好先删除storage.json文件,否则微信API可能会报错。
如果你的chatgpt key不正确,会报错。
key正确就是以下效果
一般我喜欢部署在linux的云服务器上,用另一个微信号登录,然后自己的微信号加登录的微信号好友,这样就可以实现chatgpt私人助理了。
云服务器部署建议用后台部署
nohup ./znchat 2>out.log &
查看输出可以直接
cat out.log
注:如果是远程ssh部署的话,不会弹出浏览器,可以直接复制二维码地址,然后打开扫码登录。
目前只对接了文字消息,下一个版本我想加入语音消息,然后识别成文字再发送给chatgpt,具体看心情了~~~~
下载地址:
关注公众号,回复 chatgpt 即可获取