Appearance
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/
配置
json
{
"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
运行测试
宿主侧自检
bash
pnpm qa:e2e该命令通过 qa-lab 启动仓库内的 QA 总线,加载内置的 qa-channel 运行时切片,运行确定性自检,并在 .artifacts/qa-e2e/ 下生成 Markdown 报告。
完整场景套件
bash
pnpm openclaw qa suite并行运行场景,通过 QA gateway 通道执行。场景、配置文件和运行模式参见 QA 概览。
Docker 后端 QA 环境
bash
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,值为每个账号的覆盖配置(如 baseUrl、botUserId 等)。同时设置 defaultAccount 指定默认账号。
端到端测试报告在哪里?
运行 pnpm qa:e2e 后,报告生成在项目根目录下的 .artifacts/qa-e2e/ 文件夹中,格式为 Markdown 文件。可直接查看或作为 CI artifact 保存。