(。・ω・。) 手把手教你搭一个 QQ 机器人(NapCat + AstrBot)

992 字
5 分钟
(。・ω・。) 手把手教你搭一个 QQ 机器人(NapCat + AstrBot)

想让你的 QQ 号变成 24 小时在线的赛博打工仔?来,整一个机器人。本教程用 NapCat(QQ 协议端,基于 NTQQ)+ AstrBot(机器人框架),不用写代码,复制粘贴就能跑。

(。・ω・。) 你需要准备啥#

  • 一台 Linux 服务器 / VPS / 本地电脑(Ubuntu/Debian/Arch 都行)
  • 一个能登录的 QQ 小号(别用大号,万一风控了哭都没地儿哭)
  • Docker 和 Docker Compose(不会装?往下看)
  • 脑子(可选但建议带上)

NapCat 架构图
NapCat 架构图

(。・ω・。) 第一步:安装 Docker#

如果你服务器上已经有 Docker 了,直接跳到第二步。

Terminal window
# 一键安装 Docker(官方脚本,放心跑)
curl -fsSL https://get.docker.com | bash
# 启动 Docker 并设为开机自启
sudo systemctl enable --now docker
# 顺手把 docker-compose 也装上
sudo apt install docker-compose -y # Debian/Ubuntu
# 或者
sudo pacman -S docker-compose # Arch 用户狂喜
Tip

如果你连 Docker 都装不上,建议先回去补补 Linux 基础,或者……直接找铁子。

(=^・ω・^=) 第二步:部署 NapCat(QQ 协议端)#

NapCat 相当于一个无头 QQ,在后台帮你收发消息。

Terminal window
# 创建目录
mkdir -p ~/napcat && cd ~/napcat
# 用 Docker 跑 NapCat
docker run -d \
--name napcat \
--restart=always \
-p 3000:3000 \
-p 3001:3001 \
-v $(pwd)/config:/app/config \
mlikiway/napcat:latest
# 查看日志,等二维码
docker logs -f napcat

看到二维码链接后,复制到浏览器打开,用你准备的 QQ 小号 扫码登录。登录成功后按 Ctrl+C 退出日志查看。

Warning

扫码登录的时候别手抖,扫错了号就尴尬了。建议提前把 QQ 小号登录到手机 QQ 上养几天号,降低风控概率。

(`・ω・´) 第三步:配置 NapCat 的 WebSocket#

进 NapCat 的配置目录改一下:

Terminal window
cd ~/napcat/config
ls

找到类似 onebot11_xxx.json 的文件,编辑它:

{
"http": {
"enable": false
},
"ws": {
"enable": false
},
"reverse_ws": {
"enable": true,
"url": "ws://astrbot:6199/ws"
}
}
Important

ws://astrbot:6199/ws 是 AstrBot 的默认反向 WebSocket 地址。如果 AstrBot 和 NapCat 在同一台机器的 Docker 里跑,用容器名 astrbot 通信;如果分开跑,改成实际 IP。

改完重启 NapCat:

Terminal window
docker restart napcat

ヾ(≧▽≦*)o 第四步:部署 AstrBot(机器人大脑)#

Terminal window
# 创建目录
mkdir -p ~/astrbot && cd ~/astrbot
# 写 docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3'
services:
astrbot:
image: soulter/astrbot:latest
container_name: astrbot
restart: always
ports:
- "6199:6199"
- "6185:6185"
volumes:
- ./data:/app/data
EOF
# 启动!
docker-compose up -d
# 看日志
docker logs -f astrbot

等看到 AstrBot 启动成功 类似的字样,就可以按 Ctrl+C 了。

(`・ω・´) 第五步:配置 AstrBot 连上 NapCat#

  1. 打开浏览器,访问 http://你的服务器IP:6185
  2. 第一次进要设管理员密码,设完登录
  3. 左侧菜单找 消息平台适配器 → 添加 OneBot V11
  4. 协议选 反向 WebSocket
  5. 地址填 ws://napcat:3001(如果是同一台机器用 Docker 内网通信)
  6. 保存,重启 AstrBot
Note

如果 AstrBot 和 NapCat 不在同一台机器,地址要填 NapCat 所在机器的实际 IP,比如 ws://192.168.1.100:3001。

(ノ◕ヮ◕)ノ*:・゚✧ 第六步:测试你的机器人#

用你的主号给机器人 QQ 发一条消息:

/help

如果它回你了,恭喜你,赛博打工仔上线成功!(ノ◕ヮ◕)ノ*:・゚✧

(`・ω・´) 常见问题(FAQ)#

Q: NapCat 登录不上,提示风控?#

A: 正常,QQ 的风控很玄学。建议:

  1. 用手机 QQ 先登录一次那个号,挂几天养号
  2. 尝试用 napcat-cli 的扫码方式,别用密码登录
  3. 实在不行换号,别跟它死磕

Q: AstrBot 提示连接不上 NapCat?#

A: 检查反向 WS 地址对不对。如果都是 Docker 跑的,用容器名通信(napcat / astrbot),别写 127.0.0.1,那是容器内部地址,互相找不到的。

Q: 我想加 AI 回复功能?#

A: 进 AstrBot 后台,左侧找 服务商,填上你的 OpenAI / Claude / 智谱 / 通义千问 API Key,然后启用 LLM 对话。具体选哪个模型看你钱包厚度。

Q: 后台运行怎么关?#

Terminal window
docker stop astrbot napcat # 暂停
docker start astrbot napcat # 启动
docker rm -f astrbot napcat # 彻底删除(配置还在 volumes 里)

部署完记得去群里炫耀一下,“看,我有机器人了”。

如果炸了,回来再看一遍,或者……找铁子。

文章分享

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

(。・ω・。) 手把手教你搭一个 QQ 机器人(NapCat + AstrBot)
https://www.cxl--package.top/posts/napcat-astrbot-qq-bot/
作者
ALM
发布于
2026-07-22
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
ALM
Hi~欢迎来到CXL避难所
⚠️ 重要声明
大家好,这里是 CXL 避难所的站长——啊嘞喵。本站为个人非商业性质的学习分享站点,所有内容仅供技术交流与个人记录参考,不构成任何专业建议或商业指导。本站基于 Firefly 主题(MIT 开源协议)构建,与原作者无任何商业关联。引用内容版权归原作者所有,如有侵权请联系删除。
分类
标签
最新动态
站点统计
文章
27
动态
4
分类
8
标签
102
总字数
64,126
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Cloudflare Workers
博客版本
Firefly v6.14.3
文章许可
CC BY-NC-SA 4.0