03. NapCatQQ 配置
NapCat 在这套系统里的角色
NapCatQQ 是 QQ 协议端。它的核心任务是:
让服务器上的程序拥有“一个 QQ 账号的收发消息能力”。它做的事情包括:
- 扫码登录个人 QQ。
- 维持 QQ 在线状态。
- 接收私聊、群聊、@、图片、文件等消息事件。
- 把这些事件通过 OneBot 协议发给 LangBot。
- 接收 LangBot 的回复,再发回 QQ。
它不负责:
- 不负责大模型推理。
- 不负责人设提示词。
- 不负责流水线和触发条件。
- 不负责选择 DeepSeek 还是 ChatGPT。
这些都交给 LangBot。
可以把它理解为:
NapCat = QQ 适配器 / QQ 网关 / QQ 接线员例子:
群友:@神盾局特工26号 总结一下
|
NapCat:收到一条群消息,里面有人 @ 机器人
|
NapCat -> LangBot:把这条消息事件转发过去
|
LangBot -> NapCat:返回要发送的文本
|
NapCat:把文本发回 QQ 群打开 WebUI
浏览器访问:
http://服务器公网IP:6099如果打不开:
docker ps | grep qqbot-napcat
docker logs --tail 80 qqbot-napcat
ss -tlnp | grep 6099WebUI token
如果页面提示输入 token,先查日志:
docker logs qqbot-napcat 2>&1 | grep -i token也可以看配置文件:
cat /root/qq-bot/data/napcat/config/webui.json里面的 token 就是 WebUI 登录 token。
不要把这个 token 发给别人。
登录 QQ
建议使用小号,不要用主力 QQ。
在 NapCat WebUI 中扫码登录。登录态保存在:
/root/qq-bot/data/napcat/qq这个目录属于敏感数据,不要公开备份,不要传到 Git。
网络配置
NapCat 网络配置里可能没有直接写 OneBot,而是这些选项:
http服务器
http sse服务器
http客户端
websocket服务器
websocket客户端本次选择:
websocket客户端因为要让 NapCat 主动连接 LangBot。
这里的“websocket客户端”含义是:
NapCat 主动拨号连接 LangBot。
LangBot 在 2280 端口等待连接。也就是:
NapCat -> LangBot不是:
LangBot -> NapCat配置:
名称:langbot
类型:websocket客户端
URL:ws://qqbot-langbot:2280/ws
启用:是不要填:
ws://qqbot-langbot:2280少了 /ws 会导致 405。
验证连接
看 LangBot 日志:
docker logs --tail 100 qqbot-langbot连接成功会看到:
GET /ws 1.1 101101 表示 WebSocket 协议升级成功。
如果看到:
GET / 1.1 405
Unexpected server response: 405说明 NapCat 连到了根路径,把 URL 改为:
ws://qqbot-langbot:2280/ws