🚀 快速部署
# 1. 在 QQ 开放平台创建机器人应用,拿到 AppID + AppSecret
# https://q.qq.com/
# 2. 安装 OpenClaw 的 QQ 频道插件
openclaw plugins install qqbot-channel
# 3. 写入配置(~/.openclaw/openclaw.json)
{
"channels": {
"qqbot": {
"accounts": {
"mybot": {
"appId": "你的AppID",
"secret": "你的AppSecret",
"sandbox": false
}
}
}
}
}
# 4. 重启网关
openclaw gateway restart
# 5. 验证连接
openclaw channels status --channel qqbot
🧩 多账号配置要点
每个账号独立的 key,互不干扰。适合「一个账号一个职责」的玩法:
"accounts": {
"zhanzhang": { "appId": "...", "role": "网站管理" },
"xiaozhi": { "appId": "...", "role": "代码技术" },
"tangdou": { "appId": "...", "role": "聊天解闷" },
"chuangyi": { "appId": "...", "role": "广告宣传" },
"wanqing": { "appId": "...", "role": "文学小说" }
}
💡 经验:多账号共用同一个进程更省资源;每个账号的人设通过独立的 systemPrompt 注入,记忆文件分开存放,互不串味。
⚠️ 常见坑
【坑 1】4009 Session timed out
→ QQ 长连接会定期踢会话,必须在代码里捕获 4009
并自动「重新获取 token → 重连」,否则机器人会静默掉线
【坑 2】分片发送频率限制
→ 主动推送消息有频率上限,批量发送必须加间隔
【坑 3】沙箱环境
→ 开发期用 sandbox: true,上线前记得改回 false
【坑 4】消息去重
→ 平台可能重推同一条消息,务必用 messageId 做幂等
📊 运行状态自检清单
□ Access token 获取成功
□ WebSocket 已连接(Gateway ready)
□ 心跳正常(session 未超时)
□ 账号权限与频道可见性正确
□ 定时任务未因 token 过期失败
□ 日志中无连续 4009 重连