mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1738 字
5 分钟
NapCat 搭建教程:新一代 QQ 机器人协议端
2025-10-01

NapCat 完全指南:新一代 QQ 机器人协议端#

NapCat(又称猫猫框架)是现代化的基于 NTQQ 的 Bot 协议端实现,通过调用 QQ 客户端底层接口,将 HTTP/WebSocket 请求标准化为 OneBot v11 协议格式,让你能够轻松搭建属于自己的 QQ 机器人 。

1. NapCat 是什么?#

1.1 项目背景#

在 NapCat 出现之前,go-cqhttp 曾是搭建 QQ 机器人的主流方案,但该项目已停止维护。NapCat 作为新一代解决方案,采用完全不同的技术路线——基于 QQ 官方 Linux 版本(NTQQ)而非逆向破解,因此稳定性更好,且项目持续活跃开发中 。

1.2 核心特点#

特点说明
稳定可靠基于官方 QQ Linux 版本,非逆向破解,稳定性更高
持续维护项目活跃开发,及时跟进 QQ 版本更新
标准协议完整实现 OneBot v11 协议,兼容性极强
功能完善支持消息收发、群管理、文件传输、语音图片等全功能
多种启动方式支持无头模式、LiteLoader 插件、GUI 三种启动方式
Docker 友好官方提供 Docker 镜像,一键部署
WebUI 管理内置 Web 管理界面,远程配置更方便

1.3 工作原理#

NapCat 的角色是一个”翻译官”——它负责登录 QQ 并提供标准化的 API 接口,让机器人框架(如 AstrBot、Koishi、NoneBot)可以通过 HTTP 或 WebSocket 来控制 QQ 账号收发消息 。

┌─────────┐ ┌──────────┐ ┌─────────────┐ ┌─────────┐
│ QQ │────▶│ NapCat │────▶│ OneBot协议 │────▶│ 机器人框架 │
│ 客户端 │◀────│ (协议端) │◀────│ (标准化接口) │◀────│ (大脑/中枢) │
└─────────┘ └──────────┘ └─────────────┘ └─────────┘

简单来说:NapCat 是”耳朵”和”嘴巴”(收发消息),机器人框架是”大脑”(处理逻辑、调用 AI)。

2. 部署 NapCat#

2.1 环境要求#

项目要求
操作系统Ubuntu 20.04+ / Windows 10+ / macOS
架构x86_64 / aarch64
网络需要开放端口:3000、3001、6099
QQ 账号一个用于机器人的 QQ 号(建议小号)

2.2 方式一:Docker 部署(推荐 Linux/服务器)#

拉取镜像并创建容器#

sudo docker run -d \
-e NAPCAT_GID=$(id -g) \
-e NAPCAT_UID=$(id -u) \
-p 3000:3000 \
-p 3001:3001 \
-p 6099:6099 \
--add-host=host.docker.internal:host-gateway \
--name napcat \
--restart=always \
docker.1ms.run/mlikiowa/napcat-docker:latest

端口说明

  • 3000:HTTP 服务端口
  • 3001:WebSocket 服务端口
  • 6099:WebUI 管理界面端口

查看日志获取 Token#

sudo docker logs napcat

在日志中找到类似这样的信息:

[WebUi] WebUi Local Panel Url: http://127.0.0.1:6099/webui?token=xxxxxx

登录 WebUI 并扫码#

  1. 浏览器访问 http://<服务器IP>:6099/webui
  2. 输入日志中的 Token 登录
  3. 使用手机 QQ 扫描二维码完成登录

⚠️ 云服务器注意:需在安全组中放行 6099、3000、3001 端口

2.3 方式二:Windows 部署#

下载与解压#

  1. 前往 NapCat Releases 下载最新版
  2. 选择 NapCat.win32.x64.zip(无头版)或完整版
  3. 解压到任意目录(如 D:\napcat

启动 NapCat#

双击运行 napcat.bat 文件,打开浏览器访问:

http://127.0.0.1:6099/webui?token=napcat

扫码登录即可 。

2.4 方式三:Linux 一键脚本(非 Docker)#

curl -o napcat.sh https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.sh && sudo bash napcat.sh

安装完成后,使用以下命令启动(替换为你的 QQ 号):

screen -dmS napcat bash -c "xvfb-run -a qq --no-sandbox -q 123456789"

3. 配置 NapCat#

3.1 WebUI 配置界面#

登录 WebUI 后,可以配置以下网络类型 :

网络类型说明
HTTP 服务端NapCat 作为 HTTP 请求接收方,被动响应调用
HTTP 客户端NapCat 主动将事件推送至插件/应用
WebSocket 服务端(正向 WS)既能主动推送事件也能接收请求,双工模型
WebSocket 客户端(反向 WS)主动连接机器人框架,推荐方式

3.2 配置反向 WebSocket 连接(连接机器人框架)#

在 WebUI 中点击 网络配置 → 新建 → WebSocket 客户端,填写:

字段
启用✅ 勾选
URLws://<机器人框架IP>:<端口>/ws
消息格式Array
心跳间隔5000 ms
重连间隔5000 ms

3.3 配置说明#

  • 正向 WebSocket:NapCat 作为服务端,机器人框架主动连接
  • 反向 WebSocket:NapCat 作为客户端,主动连接机器人框架(推荐,更稳定)

4. 配合 AstrBot 快速搭建 AI 机器人#

4.1 使用 Docker Compose 一键部署#

创建 docker-compose.yml

version: '3'
services:
napcat:
image: mlikiowa/napcat-docker:latest
container_name: napcat
ports:
- "3000:3000"
- "3001:3001"
- "6099:6099"
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
astrbot:
image: soulter/astrbot:latest
container_name: astrbot
ports:
- "6185:6185"
- "6199:6199"
restart: always
depends_on:
- napcat

启动服务:

docker-compose up -d

4.2 配置 AstrBot 连接 NapCat#

  1. 访问 AstrBot WebUI:http://localhost:6185(默认账号密码:astrbot
  2. 进入 机器人 → 创建机器人
  3. 选择 OneBot v11 类型
  4. 填写配置 :
    • 反向 WebSocket 主机地址napcat(Docker 容器名)或 127.0.0.1
    • 反向 WebSocket 端口6199
    • Token:留空或与 NapCat 保持一致

4.3 配置 DeepSeek AI(可选)#

  1. 登录 DeepSeek 平台 获取 API Key
  2. 在 AstrBot 后台 模型提供商 → 新增 → DeepSeek
  3. 填入 API Key 并保存
  4. 用另一个 QQ 给机器人发消息测试

4.4 建立容器间网络互通(宝塔面板部署)#

如果使用宝塔面板分别创建容器,需要将 NapCat 和 AstrBot 加入同一 Docker 网络:

  1. 创建自定义网络:docker network create astrbot-napcat
  2. 将两个容器加入该网络
  3. 记录 AstrBot 容器在该网络中的 IP,NapCat 配置中使用该 IP

5. 配合 Koishi 使用#

5.1 安装适配器#

npm install koishi-plugin-adapter-napcat

5.2 配置适配器#

在 Koishi 配置中添加 :

export default {
plugins: {
'adapter-napcat': {
protocol: 'ws-reverse', // 或 http、ws
endpoint: 'ws://localhost:3001',
token: 'your-token'
}
}
}

6. 常见问题与解决#

问题解决方法
WebUI 无法访问检查 6099 端口是否放行;查看容器日志确认服务已启动
扫码后登录失败检查是否使用了受风控的账号;尝试更换网络环境
机器人收不到消息检查 WebSocket 连接状态;确认消息上报配置正确
Docker 容器启动失败执行 docker logs napcat 查看错误日志;检查端口是否被占用
Token 忘记/丢失执行 docker logs napcat | grep Token 重新查看
消息发送失败检查账号是否被风控;确认消息格式正确

7. 注意事项与风险提示#

⚠️ 风控风险#

腾讯在用户协议中明确禁止使用非官方客户端或外挂插件。QQ Bot 属于非官方应用,可能存在封号风险,建议 :

  • 使用小号进行测试
  • 避免频繁发送相同内容
  • 控制发送频率,不要短时间内大量发消息
  • 注意账号安全,不要用于重要账号

📝 使用建议#

  1. 定期更新:NapCat 持续更新以适配 QQ 版本变化,建议定期检查更新
  2. 合理使用:避免用于营销、广告等可能触发风控的行为
  3. 备份配置:保存好 WebUI Token 和配置文件

8. 总结#

NapCat 作为新一代 QQ Bot 协议端,凭借基于官方 QQ、稳定可靠、功能完善的特点,已成为 go-cqhttp 的完美替代品。无论是通过 Docker 快速部署,还是配合 AstrBot、Koishi 等框架搭建 AI 机器人,NapCat 都能提供稳定高效的底层支持。

进一步学习资源

祝你搭建顺利,打造属于自己的 QQ 机器人!🤖

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

NapCat 搭建教程:新一代 QQ 机器人协议端
http://blog.mcstarland.top/posts/napcat/
作者
MEMZGBL
发布于
2025-10-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00