#2471·go-cqhttp

QQ Bot的未来以及迁移建议

Author: Mrs4sCreated Oct 9, 2023Updated Aug 27, 2026
Labelsdocumentationwontfixneeds decision

由于QQ官方针对协议库的围追堵截 持续 , 不断更新加密方案, 我们已无力继续维护此项目. 在未来 sign-server 方案彻底被官方封死之后 go-cqhttp 将无法继续使用. 同时NTQQ的出现让我们可以使用官方 完美 实现的协议实现来继续开发Bot, 不再担心由于协议实现不完美而导致被识别. 我们建议所有QQBot项目开始做好迁移至无头NTQQ或类似基于官方客户端技术的准备以应对未来的彻底封锁, 如果你的 go-cqhttp 还能继续使用, 不建议立即迁移, 但请开始阅读相关文档并做好迁移准备

推荐项目: 如果你想在电脑/服务器上部署bot -> https://chronocat.vercel.app/blog/0050 如果你想在Android 手机/模拟器上部署bot -> https://github.com/linxinrao/Shamrock 以上项目均为调用官方协议实现 以上项目均被请喝茶了,只能说有缘再见了.

相关问题可以在这个issue下讨论

协议库的时代已经过去, 接下来是Hook官方客户端的时代了, 感谢大家三年来的支持

其实go-cqhttp项目最初只是想做一个能在路由器上跑的酷Q

—————————————————————— 什么是无头NTQQ?

众所周知, QQ官方最新推出的 NTQQ 客户端使用了 electron 技术, 该技术可以非常方便的跨平台同时使用前端已有的技术栈进行客户端开发. NTQQ 客户端项目分为前后端两个部分, 前端是使用 Web 技术开发的 UI 界面供用户交互,后端使用 nodejs addons 技术包装了一个库来处理客户端逻辑和与服务端通信 (wrapper.node). 这个库的作用和 go-cqhttp 非常相似, 所以我们完全可以将前端删除只与这个库交互, 并引出 API 来为我们的Bot服务. 从服务端视角来说我们的 Bot 和正常客户端一样, 因为都是通过 wrapper.node 与服务端通信. 并且由于是官方根据内部文档开发的模块, 我们可以说这是一个 完美go-cqhttp.

优点: 无头模式下相对低的占用. 缺点: 可能会受未来QQ更新的影响.

Shamrock项目是什么原理?

Shamrock 项目使用 xposedhook 技术来实现远程操作 AndroidQQ 客户端. 优点: 不容易受未来更新封堵的影响. 缺点: 需要运行一个完整 AndroidOS 环境.

如果你的服务器资源足够充足, 我个人建议观望并跟进 Shamrock 项目. xposed 是久经考验且生态完善的技术.