hermes-agent/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/messaging/qqbot.md
Teknium 76135b329d
docs(i18n): translate all docs into Simplified Chinese (zh-Hans) (#31942)
Translates the full English docs corpus (335 files) into Simplified
Chinese under website/i18n/zh-Hans/. Combined with PR #31895 (cross-
locale link fix), the 简体中文 locale toggle now serves a complete
Chinese site with working cross-page navigation.

Pipeline:
- Claude Sonnet 4.6 via OpenRouter, 8-way concurrent
- Preserves frontmatter keys, code blocks, MDX/JSX, link URLs, brand
  names, and technical jargon (prompt/token/hook/MCP/ACP/etc.)
- Translates only frontmatter title/description and prose
- Two largest files (configuration.md 93KB, research-paper-writing.md
  107KB) retried with 64K max_tokens after initial fence-drift
- 3 manual post-fixes for MDX edge cases the model didn't escape:
  < in optional-skills-catalog table, double-quotes in an alt= tag,
  and a bare URL adjacent to a full-width period

Cost: ~$30 total (Sonnet 4.6 input $3/M + output $15/M).

Verified `npm run build` succeeds for both en and zh-Hans locales,
no double-prefixed /docs/zh-Hans/docs/ URLs in rendered output,
all in-page navigation resolves correctly.

Translations are machine-generated and may need human review on
specific pages — but they're an enormous improvement over the
previous state (3 zh-Hans pages out of 335).
2026-05-25 01:47:38 -07:00

4.4 KiB
Raw Blame History

QQ Bot

通过**官方 QQ Bot APIv2**将 Hermes 接入 QQ——支持私聊C2C、群组 @-提及、频道及直接消息,并具备语音转写功能。

概述

QQ Bot 适配器使用官方 QQ Bot API 实现以下功能:

  • 通过持久 WebSocket 连接至 QQ Gateway网关接收消息
  • 通过 REST API 发送文本和 Markdown 回复
  • 下载并处理图片、语音消息及文件附件
  • 使用腾讯内置 ASR 或可配置的 STT语音转文字提供商转写语音消息

前提条件

  1. QQ Bot 应用 — 在 q.qq.com 注册:

    • 创建新应用并记录您的 App IDApp Secret
    • 启用所需 intent意图C2C 消息、群组 @-消息、频道消息
    • 在沙盒模式下配置机器人以进行测试,或发布至生产环境
  2. 依赖项 — 适配器需要 aiohttphttpx

    pip install aiohttp httpx
    

配置

交互式设置

hermes gateway setup

从平台列表中选择 QQ Bot 并按提示操作。

手动配置

~/.hermes/.env 中设置所需环境变量:

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

环境变量

变量 描述 默认值
QQ_APP_ID QQ Bot App ID必填
QQ_CLIENT_SECRET QQ Bot App Secret必填
QQBOT_HOME_CHANNEL 用于 cron/通知投递的 OpenID
QQBOT_HOME_CHANNEL_NAME 主频道显示名称 Home
QQ_ALLOWED_USERS 允许私聊访问的用户 OpenID 列表(逗号分隔) 开放(所有用户)
QQ_GROUP_ALLOWED_USERS 允许群组访问的群组 OpenID 列表(逗号分隔)
QQ_ALLOW_ALL_USERS 设为 true 以允许所有私聊 false
QQ_PORTAL_HOST 覆盖 QQ portal 主机(沙盒路由设为 sandbox.q.qq.com q.qq.com
QQ_STT_API_KEY 语音转文字提供商的 API 密钥
QQ_STT_BASE_URL (不直接读取——请在 config.yaml 中设置 platforms.qqbot.extra.stt.baseUrl n/a
QQ_STT_MODEL STT 模型名称 glm-asr

高级配置

如需精细控制,可在 ~/.hermes/config.yaml 中添加平台设置:

platforms:
  qqbot:
    enabled: true
    extra:
      app_id: "your-app-id"
      client_secret: "your-secret"
      markdown_support: true       # enable QQ markdown (msg_type 2). Config-only; no env-var equivalent.
      dm_policy: "open"          # open | allowlist | disabled
      allow_from:
        - "user_openid_1"
      group_policy: "open"       # open | allowlist | disabled
      group_allow_from:
        - "group_openid_1"
      stt:
        provider: "zai"          # zai (GLM-ASR), openai (Whisper), etc.
        baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4"
        apiKey: "your-stt-key"
        model: "glm-asr"

语音消息STT

语音转写分两个阶段进行:

  1. QQ 内置 ASR免费始终优先尝试——QQ 在语音消息附件中提供 asr_refer_text,使用腾讯自有语音识别

  2. 已配置的 STT 提供商(备用)——若 QQ 的 ASR 未返回文本,适配器将调用兼容 OpenAI 的 STT API

    • 智谱/GLMzai:默认提供商,使用 glm-asr 模型
    • OpenAI Whisper:设置 QQ_STT_BASE_URLQQ_STT_MODEL
    • 任何兼容 OpenAI 的 STT 端点

故障排查

机器人立即断开连接(快速断连)

通常原因如下:

  • App ID / Secret 无效 — 在 q.qq.com 仔细核对您的凭据
  • 缺少权限 — 确保机器人已启用所需 intent
  • 仅限沙盒的机器人 — 若机器人处于沙盒模式,只能接收来自 QQ 沙盒测试频道的消息

语音消息未被转写

  1. 检查附件数据中是否存在 QQ 内置的 asr_refer_text
  2. 若使用自定义 STT 提供商,验证 QQ_STT_API_KEY 是否正确设置
  3. 查看 gateway 日志中的 STT 错误信息

消息未送达

  • 在 q.qq.com 验证机器人的 intent 是否已启用
  • 若私聊访问受限,检查 QQ_ALLOWED_USERS
  • 对于群组消息,确保机器人被 @提及(群组策略可能需要加入白名单)
  • 检查 QQBOT_HOME_CHANNEL 以确认 cron/通知投递配置

连接错误

  • 确保已安装 aiohttphttpxpip install aiohttp httpx
  • 检查与 api.sgroup.qq.com 及 WebSocket gateway 的网络连通性
  • 查看 gateway 日志以获取详细错误信息和重连行为