NapCat:
一个致力于打破 QQ 机器人开发壁垒的开源项目。利用 NTQQ 的底层能力, 构建了一个无需 GUI 即可在服务器端稳定运行的 Headless 框架。无论是个人开发者还是企业用户,NapCat 都能提供开箱即用的 OneBot 11 协议支持, 助您快速将创意转化为现实。

基于 TypeScript 构建的 Bot 框架,通过相应的启动器或者框架,主动调用 QQ Node 模块提供给客户端的接口,实现 Bot 的功能。

NapCat 与很多框架都有本质性的区别:
- • 协议端相比,并非完全自己实现 QQ SendMsg 这种功能,而是主动调用客户端存在的功能。
- • Hook 端相比,NapCat 可以完全自身引导 QQ 程序的启动,而非借助客户端启动流程,所以 API 所有权几乎完全拥有,不需要 Hook。
- • Electron IPC Hook 端对比,NapCat 本身并不依赖 Electron 与注入框架,调用来源 IPC 更下层封装的 Node 模块,也许甚至脱离 QQ 主程序运行。
安装
Docker Compose
services:
napcat:
image: mlikiowa/napcat-docker:latest
container_name: napcat
ports:
- 3000:3000
- 3001:3001
- 6099:6099
environment:
- NAPCAT_UID=0
- NAPCAT_GID=0
volumes:
- ./QQ:/app/.config/QQ
- ./config:/app/napcat/config
- ./plugins:/app/napcat/plugins
restart: always
参数说明(更多参数建议去看文档)
:::
/app/.config/QQ(路径,可选):QQ 持久化数据路径
/app/napcat/config(路径,可选):NapCat 配置文件路径
/app/napcat/plugins(路径,可选):NapCat 插件目录路径
:::
使用
浏览器中输入 http://NAS的IP:6099 就能看到界面

这里提示需要输入 Token,需要去查看容器日志信息

滑动到最顶的二维码,上面就能看到 token 信息

下面需要登录 QQ 账号,手机扫描就行(最好用小号登录,电脑客户端会被挤下线录)

能看到个人信息说明就登录成功了

日志能看到 QQ 接收到的所有消息

支持各种网络配置,开发者可以对接进行通信调试

功能挺丰富的,我就不一个个介绍了

总结
本篇教程就不深入讲 NapCat 的具体配置了,因为它本身只是打通 QQ 通信的中间件。目前只要把它部署好,成功登进 QQ 账号,能接收到聊天信息就行了。实际用的时候还需要搭配其他应用,比如之前讲过的 AstrBot 多平台聊天机器人,还有后面会出一期 NekroAgent AI 代理框架。
综合推荐:⭐⭐⭐(适合二次开发,作为其他应用的通信组件)
使用体验:⭐⭐⭐(功能丰富,提供直观的图形化操作界面)
部署难易:⭐⭐(简单)︎