ChatGPT for Bot基于docker部署经验记录(24/2/22)

基于ChatGPT for Bot进行改进,细节请参照原链接

准备材料

Linux服务器(Windows教程参照原链接)

  • 最好是境外服务器,便于连接Github
  • 亲测Debian 12系统可用

机器人QQ号、管理员QQ号

  • 由于机器人QQ号存在被官方封禁的风险,建议重新申请空白QQ号
  • 机器人QQ号需要绑定手机号便于接收验证码

OpenAI api_key

  • 可以使用token接入,但容易失效/被封
  • tb 搜api购买
  • 接入其它大模型请参照原链接(Bing亲测失效)

安装过程

一键Docker部署

bash -c "$(wget -O- https://gist.githubusercontent.com/lss233/2fdd75be3f0724739368d0dcd9d1367d/raw/62a790da4a391af096074b3355c2c2b7ecab3c28/chatgpt-mirai-installer-gocqhttp.sh)"

go-cqhttp登录

到此时看似成功,实则通过docker-compose logs --tail=100查看日志可以看到错误。一般会遇到以下问题

签名服务器(Sign Server)未设置

现在的cqhttp需要签名服务器,否则登录失败率很高,会报45错误。

此处推荐大家自建签名服务器,也可以用现成的签名服务器,参照签名服务器相关问题 · Mrs4s/go-cqhttp · Discussion #2245 · GitHub

此处基于Linux搭建,基于Docker搭建可参考最新版go-cqhttp的sign 签名服务器搭建教程_gocqhttp签名服务器-CSDN博客

自建签名服务器步骤:

下载unidbg-fetch-qsign-1.1.9.zip

wget https://gitee.com/changwenpeng/gocqhttp-qqsign/releases/download/qsign-1.1.9/unidbg-fetch-qsign-1.1.9.zip

解压并进入

unzip unidbg-fetch-qsign-1.1.9.zip
cd unidbg-fetch-qsign-1.1.9

官方建议我们使用8.9.63版本,其余版本可能有未知问题。后台挂载8.9.63版本

nohup ./bin/unidbg-fetch-qsign --basePath=txlib/8.9.63 > nohup.out 2>&1 &

这里实际上是加载了unidbg-fetch-qsign-1.1.9/txlib/8.9.63/config.json文件。文件默认配置如下

{
  "server": {
    "host": "0.0.0.0",
    "port": 8080
  },
  "key": "114514",
……
}

可以看到是本机IP8080端口提供自签服务。

此时需要设置go-cqhttp的chatgpt-qq/gocqhttp/config.yml文件,对应上文主机IP:8080。

account: # 账号相关
……
  sign-servers: 
    - url: 'http://主机IP:8080'
      key: '114514'
      authorization: '-'

注意,由于采用docker运行go-cqhttp,所以127.0.0.1并不代表主机而是代表容器,所以url处填写127.0.0.1/0.0.0.0均不生效。

最后我们需要确定协议登录QQ。可以采用安卓平板登录,需要将 unidbg-fetch-qsign-1.1.9/txlib/8.9.63/android_pad.json 复制为 chatgpt-qq/gocqhttp/data/versions/6.json

cp unidbg-fetch-qsign-1.1.9/txlib/8.9.63/android_pad.json chatgpt-qq/gocqhttp/data/versions/6.json

并将chatgpt-qq/gocqhttp/device.json的protocol字段值改为6

"protocol":6

手动拉取验证码

go-cqhttp默认不能通过验证码,因此我们需要手动拉取

首先确定go-cqhttp服务已关闭

docker stop gocqhttp
docker kill gocqhttp

手动运行

docker-compose run gocqhttp

会提示是否手动抓取提交,输入2选择手动抓取,弹出https://ssl.captcha.qq.com/链接,点击进入验证码界面。此时右键检查->网络进行抓包

确定后抓取到ticket

复制双引号内的内容粘贴进docker即可成功登录

后期调试

重启各项服务

docker-compose restart

参照https://chatgpt-qq.lss233.com/尤其是完整配置文件样例设置config.cfg使用


感谢lss233、Mrs4schangwenpeng等原作者的无私奉献!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值