QQ 接入 AI Agent 的两种路径

2026 年 QQ 机器人接入有两条主要路径:

路径 说明 稳定性 适用场景
QQ 开放平台(官方) 腾讯官方 API,合规安全 ★★★★★ 频道/群机器人
NapCat / Lagrange(第三方) 基于 NTQQ 协议的开源方案 ★★★★☆ 个人号机器人

建议:正式用途选官方开放平台,个人折腾选 NapCat。


方案一:QQ 开放平台(官方推荐)

1. 注册 QQ 机器人

  1. 前往 QQ 开放平台
  2. 注册开发者账号(支持个人和企业)
  3. 创建机器人应用:
    • 选择「群聊机器人」或「频道机器人」
    • 填写机器人名称、头像、简介
  4. 记录关键信息:
AppID:      123456789
AppSecret:  xxxxxxxxxxxxxxxx
Token:      xxxxxxxxxxxxxxxx

2. 配置权限

在机器人管理页面:

  • 开启「被动回复」能力
  • 如需主动推送,申请「主动消息」权限(需审核)
  • 配置沙箱环境用于测试

3. 部署 Agent 服务

# 使用 OpenClaw 框架
git clone https://github.com/nicepkg/openclaw.git
cd openclaw && npm install

# 配置 .env
cat > .env << 'EOF'
# QQ 开放平台配置
QQ_APP_ID=123456789
QQ_APP_SECRET=xxxxxxxxxxxxxxxx
QQ_TOKEN=xxxxxxxxxxxxxxxx

# AI 模型
LLM_API_KEY=sk-xxxxxxxx
LLM_MODEL=gpt-4o
EOF

pm2 start dist/index.js --name qq-agent

4. 实现消息处理

QQ 开放平台使用 WebSocket 推送消息,核心处理逻辑:

// QQ Bot 消息处理示例
const { Client, Intents } = require('qq-bot-sdk');

const client = new Client({
  appId: process.env.QQ_APP_ID,
  token: process.env.QQ_TOKEN,
  intents: [Intents.GROUP_MESSAGES, Intents.C2C_MESSAGES]
});

client.on('message', async (event) => {
  const { content, author, groupId } = event;
  
  // 调用 AI 生成回复
  const reply = await callLLM(content);
  
  // 发送回复
  if (groupId) {
    // 群聊回复
    await client.sendGroupMessage(groupId, reply);
  } else {
    // 私聊回复
    await client.sendDirectMessage(author.id, reply);
  }
});

client.connect();

5. 上架审核

  • 完善机器人资料(头像、简介、使用说明)
  • 提交审核(通常 1-3 个工作日)
  • 审核通过后即可被用户搜索和使用

方案二:NapCat(个人号方案)

优势

  • 用你自己的 QQ 号当机器人
  • 支持 OneBot 11 协议,生态丰富
  • 功能完整(私聊、群聊、群管理)

风险

  • 非官方方案,存在封号风险
  • 建议使用小号

部署步骤

1. 安装 NapCat

# Docker 部署(推荐)
docker run -d \
  --name napcat \
  -p 3001:3001 \
  -e ACCOUNT=你的QQ号 \
  -e TOKEN=your_token \
  mlikiowa/napcat:latest

2. 配置 OneBot 接口

NapCat 启动后提供 OneBot 11 标准的 HTTP 和 WebSocket 接口:

HTTP API:  http://localhost:3001
WS API:    ws://localhost:3001
WS Event:  ws://localhost:3001/event

3. 接入 AI Agent

# Python 示例(使用 nonebot2 框架)
import nonebot
from nonebot.adapters.onebot.v11 import MessageEvent, Message

nonebot.init()

@nonebot.on_message()
async def handle_msg(event: MessageEvent):
    text = event.get_plaintext()
    
    # 调用 AI
    reply = await call_ai(text)
    
    await event.finish(reply)

async def call_ai(text: str) -> str:
    import httpx
    async with httpx.AsyncClient() as client:
        resp = await client.post(
            "https://api.openai.com/v1/chat/completions",
            headers={"Authorization": "Bearer sk-xxx"},
            json={
                "model": "gpt-4o",
                "messages": [
                    {"role": "system", "content": "你是AI助手,回答简洁。"},
                    {"role": "user", "content": text}
                ]
            },
            timeout=30
        )
        return resp.json()["choices"][0]["message"]["content"]

nonebot.run()

QQ 邮箱 Agent(新能力)

2026 年 QQ 邮箱全面 Agent 化,这是一个新的接入点:

  • 通过 Agent Mail 为你的 Agent 创建专属邮箱
  • Agent 可以收发邮件、处理邮件中的任务
  • 适合需要异步交互的场景(Agent 处理完任务后邮件通知用户)
配置步骤:
1. 访问 agent.qq.com 注册 Agent 邮箱
2. 获取 SMTP/IMAP 凭据
3. 在 Agent 框架中配置邮件收发能力
4. Agent 可以读取邮件内容并自动回复

给 AI Agent 的接入指令

请将以下 Agent 接入 QQ:

方案A(QQ 开放平台):
1. 在 q.qq.com 创建 QQ 机器人应用,获取 AppID、AppSecret、Token
2. 实现 WebSocket 消息监听(群消息 + 私聊消息)
3. 收到消息后调用 LLM 生成回复
4. 通过 QQ Bot API 发送回复
5. 提交审核上架

方案B(NapCat 个人号):
1. Docker 部署 NapCat,登录 QQ 号
2. 通过 OneBot 11 接口监听消息事件
3. 收到消息后调用 LLM 生成回复
4. 通过 OneBot send_msg API 发送回复

原文出处:本教程基于 阿里云开发者社区 - OpenClaw 接入教程 改写。

有问题?评论区见。


原文参考:OpenClaw 接入 QQ/飞书/钉钉/微信