OpenClaw QQ 机器人接入实战指南
本指南介绍如何将 OpenClaw 接入 QQ,实现通过 QQ 与智能助手对话。我们采用 NapCat 框架配合 OneBot v11 协议,利用 Docker 容器化部署来解决环境依赖问题。
架构说明
整个交互链路如下:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ 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 服务。这里我推荐直接创建专用目录来管理扩展文件。
准备部署目录
创建一个独立文件夹存放 NapCat 相关文件,路径建议放在 OpenClaw 的 extensions 目录下:
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}
-

