跳到主要内容

QQ Bot

通过 官方 QQ Bot API(v2) 将 Hermes 接入 QQ,支持私聊(C2C)、群 @ 提及、频道(guild)以及 direct message,并支持语音转写。

概览

QQ Bot 适配器基于 官方 QQ Bot API 提供以下能力:

  • 通过持久化 WebSocket 连接到 QQ Gateway 接收消息
  • 通过 REST API 发送文本与 Markdown 回复
  • 下载并处理图片、语音消息和文件附件
  • 使用腾讯内建 ASR 或可配置的 STT 大模型提供商(provider)转写语音消息

前提条件

  1. QQ Bot Application:前往 q.qq.com 注册
  2. 依赖:该适配器需要 aiohttphttpx
pip install aiohttp httpx

配置

交互式设置

hermes gateway setup

在平台列表中选择 QQ Bot,按提示完成配置。

手动配置

QQ_APP_ID=your-app-id
QQ_CLIENT_SECRET=your-app-secret

环境变量

VariableDescriptionDefault
QQ_APP_IDQQ Bot App ID(必填)
QQ_CLIENT_SECRETQQ Bot App Secret(必填)
QQBOT_HOME_CHANNEL用于 cron/通知投递的 OpenID
QQBOT_HOME_CHANNEL_NAMEHome channel 的显示名Home
QQ_ALLOWED_USERS允许私聊访问的用户 OpenID,逗号分隔open(所有用户)
QQ_ALLOW_ALL_USERS设为 true 时允许所有私聊用户false
QQ_SANDBOX将请求发送到 QQ sandbox 网关,便于开发测试false
QQ_STT_API_KEY语音转文本大模型提供商(provider)的 API key
QQ_STT_BASE_URLSTT 大模型提供商(provider)的基础 URLhttps://open.bigmodel.cn/api/coding/paas/v4
QQ_STT_MODELSTT 模型名glm-asr

语音消息(STT)

语音转写分两层处理:

  1. QQ 内建 ASR:优先尝试 asr_refer_text
  2. 配置的 STT 大模型提供商(provider):当 QQ 未返回文本时作为兜底

故障排除

  • 一连上就断开:检查 App ID / Secret、intents 和 sandbox 设置
  • 语音未转写:检查 QQ_STT_API_KEY 和 gateway 日志
  • 消息未送达:检查 intents、QQ_ALLOWED_USERS、群 @ 提及以及 QQBOT_HOME_CHANNEL