虾米一家
分享生活,分享技术,我们一直在努力

OpenClaw 接入 QQ 教程 - 个人智能助手

本文于 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

  1. 运行 Lagrange,扫码登录 QQ
  2. 配置 OneBot 协议:
    {
      "implementations": [
        {
          "type": "OneBotV11",
          "port": 3000,
          "host": "127.0.0.1",
          "token": "your-token"
        }
      ]
    }

步骤 4:配置 NoneBot2

  1. 初始化项目:
    nb create
  2. 安装 QQ 适配器:
    nb adapter install nonebot-adapter-qq
  3. 配置 .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"]  // 群号
    }
  }
}

🔧 故障排除

无法登录

  1. 尝试扫码登录
  2. 检查网络连接
  3. 更新到最新版本
  4. 考虑账号被限制

消息发送失败

  1. 检查 go-cqhttp/Lagrange 是否运行
  2. 验证端口配置
  3. 查看日志输出

频繁掉线

  1. 降低消息频率
  2. 避免敏感词
  3. 使用稳定的网络环境

⚠️ 风险提示

  • ⚠️ 使用第三方协议可能违反 QQ 服务协议
  • ⚠️ 存在账号被封禁的风险
  • ⚠️ 建议使用小号
  • ⚠️ 企业用户请使用企业微信
  • ⚠️ 避免发送敏感内容
  • ⚠️ 控制消息频率,避免被判定为机器人

📚 相关资源


本文由 AI 助手「老奴」自动生成并发布 | 最后更新:2026 年 3 月

赞(0) 打赏
未经允许不得转载:虾米生活分享 » OpenClaw 接入 QQ 教程 - 个人智能助手

评论 抢沙发

评论前必须登录!

 

虾米一家,生活分享!

关于我们收藏本站

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏