分离部署项目优劣分析
目前有四个主要的可用项目可以实现 OneBot 协议的 QQ 机器人 API,它们分别是 Lagrange(lgr/拉格兰)、Napcat(nc)、LiteloaderOneBot(LLOB) 和 Shamrock(四叶草)。这些项目各有优劣,没有绝对的优劣之分。归根结底,只要能满足你的需求和预期,那就是合适的选择,同理对其他人也是这样,你可以推荐,但不应该存在什么“鄙视链”。接下来,我将尽量客观地分析它们的优缺点和可能存在的问题,供你参考。
运行原理概述
当前 QQ 的非官方机器人实现,主要分为两种运行途径:协议端 和 Hook。
协议端:
协议端通过模拟 QQ 的行为,实质上就是一个“假的 QQ 客户端”。这种实现方式资源占用低,能够同时处理大量群聊,是性能最佳的选择。Lagrange 和几乎已经死差不多了的 GOCQ 属于这一类型。
Hook 式:
Hook 则是通过修改 QQ 客户端,劫持消息来实现机器人协议。
这种方式需要运行一个完整的屎山 QQ 客户端,众所周知QQ客户端无论在哪都是极度的臃肿,因此资源占用较高。尤其是当群聊数量较多时,效率急剧下降,难以支持大规模机器人。
不过,它也有一个独特优势:由于是基于“真 QQ 客户端”,被腾讯察觉和封号的概率相对更低。Napcat、LiteloaderOneBot 和 Shamrock 都属于这一类。(腾讯:不好意思,聊天软件需要虚幻引擎)
性能警告
Hook 式项目的性能问题在服务器上尤其明显,服务器一般不会有家用电脑那样强劲的CPU性能,运存也比动辄32GB的家用电脑少,而且最重要的是,大部分常见云厂商的硬盘IO极差,而 Hook 式项目的主要性能瓶颈就是硬盘IO。
这里建议如果日消息几千甚至一万的情况,就别使用Hook方式的项目了,要不然等个回复可能会要数秒,还有可能导致频繁崩溃。
如果部署这一类的项目后发现它回复很慢并且经常崩溃,那就说明你的机器人体量过大了,换去协议端类型的项目吧。
项目分析
Sealdice 选定 Lagrange 作为内置客户端上游,还受到绝大多数视频和博客站等的推荐,作为一个协议端,Lagrange 的兼容性和性能无疑是极好的。它能在各种设备环境下运行,甚至连路由器上都可以(没错我真这么干过)。
理论上,它的低资源占用使其能够处理更多的大型机器人账号,是资源有限的最佳选择,大型机器人的唯一选择。
然而,Lagrange 的核心问题在于签名服务。由于各种因素,Lagrange 需要通过签名才能使用,签名服务并非开源,Lagrange 官方只提供了一个公共签名服务,且主机位于海外,并使用 Cloudflare 保护的服务器提供。对网络极为玄学的中国大陆用户来说,Cloudflare 的访问体验简直是抽抽又象象。如果你部署在国外,体验会更好些。
如果你的主机在国内,可以尝试雪桃的反代签名。你可以直接使用 雪桃 の Lagrange 一键包生成器 生成使用了雪桃反代签名的 Lagrange 一键包。
![典中之典:onebot | warn: Lagrange.Core.BotContext [0] 典中之典:onebot | warn: Lagrange.Core.BotContext [0]](https://blog.xuetao.host/usr/uploads/2025/04/3496333221.png)
此外,由于它是“假的 QQ 客户端”,相较于在 Linux 系统部署的 Hook 式协议端,更容易被腾讯察觉。拦截消息,踢下线甚至封号的概率理论上会更高。另外,Lagrange的协议版本更新横向对比 LiteloaderOneBot 和 Napcat 是偏慢的,有些天选之人 QQ 账号可能被腾讯强制要求使用最新的 NTQQ 版本登入,这种情况下 Lagrange 将不再是一个选项。
2025/08/26更新:比 Windows Napcat 稳。Windows 不搞 WSL 或 Docker 这是你最稳的选择了。
Lagrange 官方是有一个 fork 的 GOCQ 的。需要注意的是,本质上这玩意就是一个低占用版的 Lagrange,和各位熟知的并非是一个 GOCQ 哦~
2025/08/26更新:傻逼腾讯的大手发力了,不建议 Windows 部署。Linux 依然稳定,真要在 Windows 用 Napcat 请自行折腾 WSL 或 Docker。直接部署导致的死号问题你自己承担。
日志读取优雅,直接在 WebUI 中即可查看。更重要的是,它支持“无头运行”——无需渲染 NTQQ 页面,从而大幅降低资源占用。
并且,Napcat 最大的优势在于其反检测能力:在 NTQQ 高版本中,它可以成功拦截检测包,并绕过部分检测点,有很不错的稳定性。
- 但也有限制:由于 Hook 的运行机制,本质上仍然是启动了一个修改后的 NTQQ,即使无头运行也会有不小的资源开销。因此 Napcat 并不适合承担大体量机器人账号的任务。
除此之外,Napcat 几乎都是优点。
如果你打算部署 Napcat,我推荐使用 Linux 环境部署,因为在 Linux 上运行的 NTQQ 几乎没有检测机制,Linux 上的 Napcat 几乎是最稳的选择之一。
如果你仍希望在 Windows 环境部署,以下是一些建议:
- 进阶用户:推荐使用 Docker 部署 Napcat。Napcat 官方 Docker 镜像
- 新手用户:可以尝试安装 NTQQ 的 27597 版本并登入账号。若可成功登入,可继续使用该版本搭配 Napcat Framework 安装方式(该方式没有反检测,但此版本是最后一个未强制检测的 NTQQ 版本)。历史版本 NTQQ 存档
- 如果账号无法登入 27597 版本,可退而求其次使用 Napcat 的一键包(在 Napcat GitHub Release 获取)。一键包已集成反检测机制,能拦截大部分检测,但仍建议避免用于新注册账号或风险偏高的账号,以防被封。
⚠️ 请不要在 27597 之后的版本使用 Framework 安装方式,检测包拦截将无法完全生效。
关于性能:
Napcat 的运行瓶颈主要在于硬盘 IO。这在服务器环境中尤其明显,尤其是国内一些大厂云服务,硬盘性能简直可以用王八壳来形容。
我这里点名批评华为云与京东云,其硬盘 IO 低得离谱,比二十年前的古董机械硬盘还差,甚至连 USB 2.0 的 U 盘都不如。价格拼不过阿里云腾讯云,性能还显著更差。当然,阿里云和腾讯云的硬盘 IO 表现也好不到哪去。
在这种环境下,如果你的账号每日处理消息数量超过三千,极有可能会出现严重的性能下降,表现为回复延迟、频繁崩溃等问题。
- 想要使用 Napcat 稳定地运行大型机器人,建议:
1. 找一家硬盘 IO 高的服务商;
2. 自建家里云,直接吃到一块 SSD 的完整性能。
- 如果你不确定你的机器是否足够强大,可以先部署 Napcat 并观察运行情况:
1. 是否频繁崩溃?
2. 在排除网络问题后,消息是否响应缓慢?
如果这些问题都没有发生,那就说明你的主机可以胜任 Napcat 的运行。
2025/08/26更新:说是现在 LiteloaderOneBot 变成读内存搞的注入了?以后搞机器人还得要 DMA 是吧...稳定性存疑,等待补充信息。不过我可以肯定性能会很糟糕,群多点的号一定瓶颈不小。
LLTwoBot 就是这玩意。
- 日志查看极其不便。如果你在运行中遇到协议端问题,必须自己手动进入文件夹层层翻找日志文件,调试体验极差;如果你想在群里反馈问题,还得先经历一轮“翻山越岭”式的日志提取流程。
- 它存在一些玄学问题。例如前端显示已连接,后端 LiteloaderOneBot 实际却没有任何数据传输。我自己就多次遇到过这种情况,在群里也看到很多类似报告。此类问题通常只能通过重启 NTQQ 甚至重启整台主机来解决,有时还需要多次重启才能恢复正常运行。
虽然从功能上来说,它和 Napcat 基本相当,但 Napcat 支持无头与有头双模式运行,而 LiteloaderOneBot 只能运行在有头模式下,这意味着它的资源占用会更高。
不推荐在高版本NTQQ使用
LiteloaderOneBot 在使用新版本 NTQQ 作为宿主时仍然频繁被踢,没有任何反检测机制,会狠狠被腾讯查,并且非常容易封号。
而且,如果你想在 Linux 上部署该项目,还必须额外安装桌面环境才能运行 NTQQ——对大部分云服务器用户而言,这显然非常不友好。
只能有头运行、资源占用高、Linux 环境又麻烦,这种限制使得 LiteloaderOneBot 在实际部署中处境非常尴尬。
Windows 低版本NTQQ宿主使用是好选择
LiteloaderOneBot 为 27597 这最后一个没有检测的 NTQQ版本 依然做了适配,对比起只能用 2.x 的 远古版本 Napcat,是有着更多问题修复和 API 支持的,如果你在 Windows 使用 27597 版本的 NTQQ 作为宿主进行部署,实际是比使用 Napcat 要更好一些的选择。
总而言之:Napcat 目前已经集成了较为完善的反检测手段,而 LiteloaderOneBot 仍未解决这些基础性问题。在高版本 NTQQ 上使用 LLOB 存在不小的封号风险。低版本可用且使用体验比 Napcat 好一些,因此,我仅推荐在 Windows 端 在低版本NTQQ 上使用这个项目,其他情况下则不建议使用,因为相比之下,Napcat 在体验与稳定性方面都更胜一筹。
Shamrock 是我另一个非常喜欢的项目,虽然它已经归档不再维护。它也是 Hook 式的实现,但不同于 Napcat 和 LiteloaderOneBot,它修补的是安卓端 QQ 客户端。
由于它使用安卓端 QQ,于是就可以在这个模块以外使用其他模块,通过搭配 QAuxiliary 模块,使用它的 禁用热补丁 和 环境检测 功能,从而实现高稳定性运行。这一套操作下来,Shamrock 的稳定性表现的上限会比使用 NTQQ 的 Hook 项目更好。
- 缺点也很明显:
- 操作复杂:需要 Android 设备,并进行 Root 或使用 LSPatch,安装模块,还要配置保活,会很麻烦,也稍微需要写技术。
- 已归档:不再开发维护,随着时间推移会逐渐不可用,并且 Github 上 Action 内容已经全部过期无法下载。不过,我有对它最后一次 Action 进行存档,感兴趣的话可以在我的杂货铺找到。
总结
根据当前的项目现状和实际需求,我的建议是:
最稳定:在 Linux 环境中部署的 Napcat,是目前稳定性最优的方案。
Windows 环境:目前只有 Lagrange 稳定。如果你有能力,可以用 WSL 或 Docker 部署 Linux 环境的 Napcat。
Linux 环境:**Napcat 是最推荐的项目。其稳定性、性能与操作友好度都很不错。官方提供了一键脚本,小白也能轻松部署与管理,适合体量不大的服务常驻运行。
大体量机器人部署:**需要支持大规模群聊或高并发消息处理的用户,Lagrange 是当前综合能力最强的选择。但请特别注意签名服务对网络条件的敏感性。
Napcat 虽可胜任一定规模,但主要瓶颈在于硬盘 IO。在国内常见的云服务器厂商极易触发性能瓶颈,导致崩溃、消息延迟等问题。
如果你有硬盘IO性能优秀的主机,Napcat 依然可试,但若发现频繁崩溃、回复缓慢等情况,那就意味着 Napcat 会有性能瓶颈,不适合你当前环境。
LiteloaderOneBot:新部署请千万别他妈用。
如果你之前已经部署了 LLOB,并且运行稳定——千万别动。
不要更新 NTQQ 版本,不要动插件,不要点那该死的“升级”。一动就可能戳中腾讯的G点,然后对你疯狂检测,接着你就等着频繁掉线甚至直接死号吧。
如果没有踢号问题,请务必停留在你当前所使用版本!如果想在 WIndows 端 使用,请使用 27597 和它之前版本的 NTQQ 作为宿主!
选择适合自己的项目最重要。不需要过度执着某一方案,也请不要带有滤镜。
这里仅对原理分析,实际因为腾讯这傻逼玩意的存在玄学属性一大堆。
总而言之,能稳定跑、少出问题的,就是好项目。
每个账号的“体质”也不一样——腾讯这抽象检测机制下,有人 Linux Napcat 死号,有人高版本 LLOB 能成为耐活王……所以最靠谱的项目,永远是你亲自试过能跑得稳的那个方案。
希望这篇总结能帮你找到最适合的部署方式,让你的 QQ 机器人稳如老狗!
最后,祝你家 bot 成为耐活王,随一首 See You Again 加速版冲出火葬场!(x)
本文更新时间为 2025 年 4 月 23 日,未来可能会因项目更新或环境变化与我的描述有所出入,但对于协议端和Hook的区别,大体逻辑不会变。希望能帮到你!
[...]在这里你可以查到海豹手册未提及的常见故障。如果你根据本篇内容自查后仍然无法解决问题,再去群里提问,并严格按照提问守则进行提问,不催人,不拍屏,主动给出截屏日志,主动给出更多信息(详细的问题描述,使用的分离项目,你如何进行配置,你的配置文件怎么写的)基础:什么是日志?日志就是 Sealdice 主页显示的内容,以及 Napcat 等分离项目的“黑框”。具体详情请查看 如何提问。日志问题排查须知:日志[...]
Thanks , I've recently been looking for information approximately
this topic for a long time and yours is the best I have discovered till now.
But, what about the conclusion? Are you certain in regards
to the source?
Hey! Do you know if they make any plugins to assist with Search Engine Optimization?
I'm trying to get my blog to rank for some targeted keywords
but I'm not seeing very good results. If you know of any please share.
Thanks!
Usually I don't read post on blogs, however I would like to say that this write-up very pressured me to check out and do it!
Your writing style has been amazed me. Thanks, very great article.
These are in fact wonderful ideas in regarding blogging.
You have touched some good factors here. Any way keep up wrinting.
Hello! I've been following your site for some time now and
finally got the courage to go ahead and give you a shout out from Houston Texas!
Just wanted to say keep up the good work!
I'm curious to find out what blog platform you
have been using? I'm experiencing some small security issues with
my latest website and I would like to find something more risk-free.
Do you have any suggestions?
Great delivery. Sound arguments. Keep up the amazing work.
I have learn several just right stuff here. Definitely worth
bookmarking for revisiting. I wonder how so much attempt you set to create this kind of excellent informative site.
Pretty! This has been an incredibly wonderful post.
Thanks for providing these details.
Thanks for another excellent post. Where else may anyone get that kind of
information in such a perfect approach of writing? I have a presentation subsequent week, and
I'm at the look for such info.
Every weekend i used to pay a visit this website, because i want
enjoyment, since this this site conations genuinely fastidious funny
data too.
This is a topic that's near to my heart... Cheers!
Where are your contact details though?
Your style is so unique compared to other people I have read stuff from.
Thanks for posting when you have the opportunity, Guess I will just book mark this page.
At this time I am going away to do my breakfast, later than having my breakfast coming over again to read additional news.
Having read this I thought it was really informative.
I appreciate you finding the time and effort to put this short
article together. I once again find myself spending way too much time both reading
and posting comments. But so what, it was still worthwhile!
Oh my goodness! Awesome article dude! Thanks, However I am encountering issues with your RSS.
I don't understand the reason why I am unable to join it. Is there
anybody else getting identical RSS issues? Anyone that knows the
solution can you kindly respond? Thanks!!
Hey there! I've been following your web site for
some time now and finally got the courage to go ahead and give you a shout out
from Houston Tx! Just wanted to say keep up the fantastic job!
whoah this blog is wonderful i like studying your articles.
Stay up the great work! You know, a lot of persons are looking around for this info, you could aid them greatly.
Wow, fantastic weblog format! How long have you been running a blog for?
you made running a blog glance easy. The total glance of your web site is wonderful,
let alone the content!
I'm really loving the theme/design of your web site. Do you ever run into any web browser compatibility issues?
A few of my blog visitors have complained about my website not working correctly in Explorer but
looks great in Opera. Do you have any recommendations to
help fix this issue?