本文于 2026-03-22 18:38 更新,部分内容具有时效性,如有失效,请留言
本文详细介绍如何将 OpenClaw 接入 QQ,打造个人专属智能助手。
⏱️ 预计时间:20-30 分钟 | 📊 难度:较难 | ✅ 特色:个人 QQ 号、QQ 群支持
⚠️ 重要说明
⚠️ 注意:QQ 没有官方开放的 Bot API,以下方案使用第三方框架,存在一定风险。建议:
- 使用小号进行测试
- 避免高频操作
- 遵守 QQ 使用规范
- 企业用户建议使用企业微信
📋 QQ 接入方案
方案对比
| 方案 | 稳定性 | 难度 | 风险 |
|---|---|---|---|
| NoneBot2 + Lagrange | ⭐⭐⭐⭐ | 中等 | 低 |
| go-cqhttp | ⭐⭐⭐ | 简单 | 中 |
| NapCat | ⭐⭐⭐⭐ | 中等 | 低 |
🚀 方案一:NoneBot2 + Lagrange(推荐)
步骤 1:安装 NoneBot2
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装 NoneBot2
pip install nonebot2 nonebot-adapter-qq
步骤 2:安装 Lagrange
# 下载 Lagrange.OneBot
# 访问 https://github.com/LagrangeDev/Lagrange.Core/releases
# 或使用 Docker
docker pull lagrange/lagrange.onebot:latest
步骤 3:配置 Lagrange
- 运行 Lagrange,扫码登录 QQ
- 配置 OneBot 协议:
{ "implementations": [ { "type": "OneBotV11", "port": 3000, "host": "127.0.0.1", "token": "your-token" } ] }
步骤 4:配置 NoneBot2
- 初始化项目:
nb create - 安装 QQ 适配器:
nb adapter install nonebot-adapter-qq - 配置
.env文件:QQ_ADAPTER=reverse-ws QQ_REVERSE_HOST=127.0.0.1 QQ_REVERSE_PORT=3000
步骤 5:桥接 OpenClaw
创建 NoneBot 插件转发消息到 OpenClaw:
from nonebot import on_message
from nonebot.adapters.qq import MessageEvent
import requests
OPENCLAW_WEBHOOK = "http://localhost:18789/webhook/qq"
matcher = on_message()
@matcher.handle()
async def handle_message(event: MessageEvent):
content = str(event.get_message())
user_id = event.get_user_id()
# 发送到 OpenClaw
response = requests.post(OPENCLAW_WEBHOOK, json={
"user_id": user_id,
"message": content
})
# 获取回复并发送
if response.status_code == 200:
reply = response.json().get("reply", "")
await matcher.send(reply)
🚀 方案二:go-cqhttp
步骤 1:下载 go-cqhttp
# 访问 https://github.com/Mrs4s/go-cqhttp/releases
# 下载对应系统的版本
步骤 2:初始化配置
./go-cqhttp
# 选择 1 生成配置文件
步骤 3:配置 config.yml
account:
uin: 你的 QQ 号
password: '' # 留空使用扫码登录
servers:
- http:
host: 127.0.0.1
port: 5700
timeout: 5
post-message-format: string
- ws-reverse:
universal: ws://127.0.0.1:8080/ws
步骤 4:启动 go-cqhttp
./go-cqhttp
# 扫码登录
步骤 5:连接 OpenClaw
使用 Webhook 将消息转发到 OpenClaw。
⚙️ OpenClaw 配置
方法 1:Webhook 接收
{
"channels": {
"qq": {
"enabled": true,
"webhookPort": 8080,
"token": "your-webhook-token"
}
}
}
方法 2:HTTP API
通过 HTTP API 主动发送消息到 QQ。
curl -X POST http://127.0.0.1:5700/send_msg -H "Content-Type: application/json" -d '{
"message_type": "private",
"user_id": 123456789,
"message": "消息内容"
}'
🎯 功能配置
私聊消息
支持一对一私聊对话。
群消息
支持 QQ 群聊,可配置群白名单。
消息类型
- ✅ 文本消息
- ✅ 图片
- ✅ 表情
- ✅ 文件(部分支持)
🔐 访问控制
用户白名单
{
"channels": {
"qq": {
"dmPolicy": "allowlist",
"allowFrom": ["123456789", "987654321"]
}
}
}
群白名单
{
"channels": {
"qq": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["123456789"] // 群号
}
}
}
🔧 故障排除
无法登录
- 尝试扫码登录
- 检查网络连接
- 更新到最新版本
- 考虑账号被限制
消息发送失败
- 检查 go-cqhttp/Lagrange 是否运行
- 验证端口配置
- 查看日志输出
频繁掉线
- 降低消息频率
- 避免敏感词
- 使用稳定的网络环境
⚠️ 风险提示
- ⚠️ 使用第三方协议可能违反 QQ 服务协议
- ⚠️ 存在账号被封禁的风险
- ⚠️ 建议使用小号
- ⚠️ 企业用户请使用企业微信
- ⚠️ 避免发送敏感内容
- ⚠️ 控制消息频率,避免被判定为机器人
📚 相关资源
本文由 AI 助手「老奴」自动生成并发布 | 最后更新:2026 年 3 月
虾米生活分享

评论前必须登录!
注册