• 技术交流
  • 【教程】使用Astral-Gocq对接OlivOS(一种解决版本过低/风控的尝试方向)

前言

我自己的Bot在LLOneBot和Napcat两种部署方式下都会出现被反复踢下线/版本过低的问题,使用OlivOS内置的Gocq也会出现版本过低的问题(且存在无法接收图片),在交流群内提到相关问题后得知了AstralGocq项目,抱着试一试的心态通过分离式部署对接上了OlivOS,没想到前面的问题都解决了,稳定性在我测试过程中表现非常好(未出现风控/版本过低无法登录的问题,稳定在线天数7+)。

在论坛/交流群/github issue发现很多人遇到类似的问题,使用写篇教程来提供一种解决方向,如有错误欢迎指正

什么是AstralGocq?
Astral-Gocq是由赵怡然(蓝波-zhaodice)接手的GO-CQHTTP,正在迁移至NT协议,使用内置闭源Sign服务器,稳定性不错,使用流程简单,部署配置容易。
项目地址:https://github.com/ProtocolScience/AstralGocq
感兴趣的小伙伴可以去项目主页点点Star

教程使用的版本

OlivOS0.11.51「苏打饼干」
OlivaDice3.3.27
Astral-Gocqv1.3.1-pre-3
系统版本Windows 11 专业版24H2/Windows 10 专业版22H2/Windows Server 2022 Standard 21H2
PS:以上版本均部署成功

需要准备的资源

OlivOS0.11.51「苏打饼干」(如果你是想直接对接OlivaDice可以直接获取OlivaDice)

OlivaDice(推荐)3.3.27(整合包包含OlivOS)

Astral-Gocqv1.3.1-pre-3

2.启动并配置OlivOS

进入OlivaDice文件夹,双击运行OlivOS.exe

Image description

点击创建账号,选择账号类型-onebotV11/Http,填入账号-机器人QQ地址-http://127.0.0.1端口-5700token-随便写写(abc),然后点击保存。(端口也可以自定义,需要在后续AstralGocq的设置中同步修改)

Image description

点击启动OlivOS,耐心等待加载

Image description
Image description

加载完成后,在OlivOS日志中找到上报地址(如下图所示)将其复制出来备用(不过一般都是这个 http://127.0.0.1:55001/OlivOSMsgApi/qq/onebot/default),OlivOS这边配置到这就是完成。

Image description

3.启动并配置Astral-Gocq

进入AstralGocq文件夹,双击运行AstralGocq_windows_amd64.exe,此时会弹出警告,点击确定-确定-确定,窗口会自动关闭并且在目录下生成一个go-cqhttp.bat文件。

Image description
Image description
Image description
Image description

双击运行go-cqhttp.bat,依次输入0-机器人QQ号-机器人QQ密码(密码留空使用手表协议,否则默认安卓Pad协议),然后关闭窗口或者Ctrl+C。

Image description

此时目录下已经生成了AstralGocq的配置文件config.yml,双击打开配置文件(可安装VS Code等软件增加文件可读性,如果没有请使用记事本打开)。

Image description

翻到文件的最下面,找到servers-https-post配置项(图中第87行处),添加配置- url: "http://127.0.0.1:55001/OlivOSMsgApi/qq/onebot/default"(注意缩进,该地址为OlivOS上报地址,注意一致性,如果在OlivOS配置过程中有自定义地址端口需要同步修改),保存并关闭编辑器。

Image description
Image description

再次双击运行go-cqhttp.bat,输入1/2任选一种验证方式。

Image description

验证通过后会显示,如果没有黄色的Warning和红色error应该就是成功了。

Image description
Image description
Image description

可能遇到的问题

1.在配置过程中系统可能会多次出现防火墙放通请求,全部允许即可。
2.如果遇到OlivOS收不到消息(日志没反应)或者以下情况
Image description

请检查你的AstralGocq配置文件中的上报地址和OlivOS上报地址是否一致,提供一个经典错误案例。

Image description

你发现了吗?没错0和O!

注意事项

1.写本教程的初衷为了给目前和我遇到同样问题的骰主提供一种解决方向。
2.据说OlivOS后续会内置该版本的Gocq,如果不想分离部署/不急用的骰主可以耐心等待。
3.截至教程完成,Astral-Gocq以及实现NT协议的图片和语言支持,有需要的骰主可以考虑。
4.本教程中使用的Astral-Gocq v1.3.1-pre-3内部协议为安卓9.1.35,截至本教程完成安卓QQ最新版为9.1.35.22670,理论上完美解决了版本过低的问题。据我以往经验推测的安卓协议>PC协议>手表协议,理论上LLonebot所出现的“身份验证失败,请重新登录”的问题在一定程度也能得到缓解。
5.最后感谢赵赵提供的强力技术支持。

写的有一点啰嗦了好像

最后一次更新时间2025/2/19

6 天 后

Astral-Gocq协议应该是目前唯一在被检测到是bot之后,还能长时间登录的协议了
我目前的小号就是已经被腾讯标记了,使用qqnt/napcat均撑不到一天就得重新扫脸登录,用这个协议目前是可以只需要每十几天才要扫脸一次的

    Desom-fu 是这样的,llonebot/napcat由于开源了对抗方案导致腾讯可能进行了针对性检测,napcat官方并没有准备提供新的对抗方案(在github中甚至明确说过要用户自行寻找对抗方案)
    感觉Astralgocq在性能,易用性,版本和协议上都是很优秀的方案。

    说点什么吧...