WARNING:使用NapCat的方式容易封号,可以考虑替换成QQ官方Bot,AstrBot也是支持的。
先说一个核心判断:今天要聊的这个组合,一个是拿下过GitHub趋势榜单日第一的开源项目——AstrBot,另一个是拥有9.5k star的NapCat。两者搭配,能做的事情相当有意思。
什么是AstrBot
AstrBot是一个开源的一站式Agentic个人和群聊助手,支持的通讯软件覆盖了QQ、小飞机、企业微信等主流平台。
(图片来自官方文档)
从官方这张架构图来看,它的设计思路是高度模块化和解耦的,就像一个三层结构的智能大厦。具体来说:
最顶层是仪表盘生命周期(Dashboard),说白了就是一个可视化控制台,专门用来管理和配置下面那层核心引擎的。
中间是核心生命周期(Core Engine),这是AstrBot真正的业务大脑。它采用事件驱动与流水线设计模式,内部又分了三块:
- 适配层:负责对接消息平台、LLM服务和插件
- 事件处理中枢:事件从进入系统、到消费、再到执行,全在这儿跑
- 内部组件:包括软件更新、向量数据库、数据存储等底层能力
最下面是后端服务与基础设施,涵盖插件市场和多种部署方案。整个架构层次清晰,各司其职。
什么是NapCat
NapCat是基于新版QQ(NTQQ)开发的现代化Bot协议端实现框架。简单来说,就是给开发者一把遥控器,可以通过API来操控QQ发消息。关键的是,NapCat和AstrBot天生契合,两者整合起来非常顺手。
手把手带你部署AstrBot和NapCat
使用Docker部署AstrBot和NapCat
其他部署方案可以参考官方文档:docs.astrbot.app/
1、环境准备
- 确保当前环境已经安装过Docker
- 如果拉取镜像困难,去查一下国内镜像的拉取方式
- 安装wget
2、开始部署
- 采用和NapCat一起部署的方式:
mkdir astrbot
cd astrbot
wget https://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.yml
- 运行docker compose:
sudo docker compose -f astrbot.yml up -d
- 如果看到AstrBot在打印日志,恭喜,大功告成。
- 根据日志里的地址,用浏览器打开,输入默认账密登录(登录后记得改密码)。
- 因为安装方式自带NapCat,安装完毕后你会看到一个链接,点开跟着引导登录你的QQ就行。
- 登录后找到实时调试,记录下Token。
3、配置AstrBot
- 登录完成后,会进入配置引导页面。
- 配置AI模型:以Claude为例,点击「提供商源」→「新增」→「anthropic」,然后配置API Key和API URL。往下滚动,做思考配置,暂时用默认的就行。再往下,配置模型:点击「获取模型列表」,在想要的模型后面点「+」,到已配置的模型里确认一下。最后点击保存配置。
- 回到引导页,配置平台机器人。选择OneBot v11,因为NapCat默认会连6199端口。
配置完毕后,往这个QQ账号发条消息试试?没错,它就能用大模型回复你了。赶紧把它拉进群聊体验一下吧。
参考文献
docs.astrbot.app/
