qa-channel 是 OpenClaw 内置的合成测试渠道,通过 HTTP 接口模拟消息收发和渠道插件边界行为,无需真实 IM 账号即可运行确定性端到端测试。配置时需设置 baseUrl、botUserId 等参数,支持多账号和群组策略;生产环境请勿使用,仅限自动化和 CI 场景。

OpenClaw QA 渠道配置与端到端测试运行指南

qa-channel 是 OpenClaw 自带的合成消息传输渠道,用于自动化 QA 测试。

它不是生产渠道。它的存在是为了在状态完全确定、可检查的前提下,使用与真实渠道(如 Slack、Discord、Telegram)相同的插件边界做测试。

功能说明

  • Slack 格式的目标语法:
    • dm:<user> — 私聊
    • channel:<room> — 频道消息
    • group:<room> — 群组消息
    • thread:<room>/<thread> — 线程消息
  • HTTP 驱动的合成总线,支持:
    • 入站消息注入
    • 出站转录捕获
    • 创建线程、回复、编辑、删除消息
    • 搜索和读取操作
  • 自检运行器,输出 Markdown 报告到 .artifacts/qa-e2e/

配置

{
  "channels": {
    "qa-channel": {
      "baseUrl": "http://127.0.0.1:43123",
      "botUserId": "openclaw",
      "botDisplayName": "OpenClaw QA",
      "allowFrom": ["*"],
      "pollTimeoutMs": 1000
    }
  }
}

账号级配置项

类型 说明
enabled boolean 总开关
name string 可选显示标签
baseUrl string 合成总线 URL
botUserId string bot 用户 ID(Matrix 风格)
botDisplayName string 出站消息显示名
pollTimeoutMs integer 长轮询超时,100–30000 ms
allowFrom array of strings 发送者允许列表;私信和群组策略都使用这些合成发送者 ID,"*" 表示全部允许
groupPolicy string 群组共享房间策略:"open"(默认)、"allowlist""disabled"
groupAllowFrom array of strings 可选的共享房间发送者允许列表;当 groupPolicy"allowlist" 且此项省略时,回退到 allowFrom
groups.<room>.requireMention boolean 在特定群组/频道房间中需要提及 bot 后回复;groups."*" 可设置默认值
defaultTo string 未指定目标时的默认投递目标
actions.messages / actions.reactions / actions.search / actions.threads object 按操作控制工具开关

多账号配置

channels.qa-channel 下可以配置多组账号:

  • accounts — 对象,key 为账号 ID,value 为各账号的覆盖配置(与上面账号级配置结构相同)
  • defaultAccount — 多个账号时的默认账号 ID

运行测试

宿主侧自检

pnpm qa:e2e

该命令通过 qa-lab 启动仓库内的 QA 总线,加载内置的 qa-channel 运行时切片,运行确定性自检,并在 .artifacts/qa-e2e/ 下生成 Markdown 报告。

完整场景套件

pnpm openclaw qa suite

并行运行场景,通过 QA gateway 通道执行。场景、配置文件和运行模式参见 QA 概览

Docker 后端 QA 环境

pnpm qa:lab:up

构建 QA 站点,启动 Docker 化的 gateway + QA Lab 调试器堆栈,输出 QA Lab URL。在该调试器中选择场景、模型通道,启动单次运行并实时查看结果。QA Lab 调试器与正式版 Control UI 独立。

常见问题

qa-channel 可以在生产环境使用吗?

不可以。qa-channel 是专为自动化测试设计的合成渠道,没有真实的用户身份验证、消息持久化等生产级特性。仅用于开发测试和 CI/CD。

如何配置多个 qa-channel 账号?

channels.qa-channel 下添加 accounts 对象,键为账号 ID,值为每个账号的覆盖配置(如 baseUrlbotUserId 等)。同时设置 defaultAccount 指定默认账号。

端到端测试报告在哪里?

运行 pnpm qa:e2e 后,报告生成在项目根目录下的 .artifacts/qa-e2e/ 文件夹中,格式为 Markdown 文件。可直接查看或作为 CI artifact 保存。

相关文档