OpenClaw QQ 机器人接入完整指南
本指南介绍如何将 OpenClaw 接入 QQ,实现通过 QQ 与 OpenClaw 智能助手对话。
架构说明
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ QQ 用户 │ ──→ │ NapCat │ ──→ │ OpenClaw │
│ (发消息) │ │ (QQ 机器人) │ │ (星期五) │
└─────────────┘ └──────────────┘ └─────────────┘
↓
(OneBot WebSocket)
技术栈
- NapCat: QQ 机器人框架(基于 OneBot v11 协议)
- OpenClaw QQ 插件: OpenClaw 官方 QQ 频道插件
- Docker: NapCat 容器化部署
- Host 网络模式: 解决 WSL2 与 Docker 网络互通问题
环境准备
系统要求
- ✅ Linux / WSL2 (Windows Subsystem for Linux)
- ✅ Docker 20.10+
- ✅ Docker Compose 2.0+
- ✅ OpenClaw 2026.2.26+
- ✅ Node.js 18+ (OpenClaw 运行环境)
检查环境
在开始之前,先确认本地环境是否就绪:
# 检查 Docker
docker --version
docker compose version
# 检查 OpenClaw
openclaw --version
# 检查 Node.js
node --version
安装 NapCat QQ 机器人
创建部署目录
首先创建一个专用的目录来存放 NapCat 的配置和镜像,避免污染主目录:
mkdir -p /home/gaof/.openclaw/extensions/qq/deploy/napcat
cd /home/gaof/.openclaw/extensions/qq/deploy/napcat
配置 Docker Compose
接下来编写 docker-compose.yml。这里有个关键点:必须使用 network_mode: host。因为在 WSL2 环境下,默认桥接模式会导致容器无法被外部访问,从而无法接收 QQ 消息。
version: "3"
services:
napcat:
environment:
- NAPCAT_UID=${NAPCAT_UID}
- NAPCAT_GID=${NAPCAT_GID}
container_name: napcat
network_mode: host # ⚠️ 关键:使用 host 网络模式
restart: always
image: mlikiowa/napcat-docker:latest
启动服务
配置完成后,直接拉起容器:
cd /home/gaof/.openclaw/extensions/qq/deploy/napcat
docker compose up -d
扫码登录
容器启动后,需要手动扫码授权。查看日志即可获取二维码图片:
docker logs napcat 2>&1 | tail
看到二维码后,使用手机 QQ 扫码登录。登录成功后,NapCat 将作为中间件与 OpenClaw 建立 OneBot WebSocket 连接,后续只需在 OpenClaw 端完成插件配置即可。

