概述
Matrix QA 通道在 Docker 中针对一次性 Tuwunel 家庭服务器运行捆绑的 @openclaw/matrix 插件,使用临时的 driver、SUT 和 observer 账号以及预置房间。这是 Matrix 的实时传输真实覆盖通道,仅限维护者使用(源码检出才可用,打包发布版本不含 qa-lab)。
核心要点
- 完整隔离环境:每次运行启动一次性 Tuwunel 服务器(默认镜像
ghcr.io/matrix-construct/tuwunel:v1.5.1) - 三个临时用户:driver(发送入站流量)、sut(被测 OpenClaw Matrix 账号)、observer(第三方流量捕获)
- 场景分类:threading、top-level/DM/room、streaming/tool progress、media、routing、reactions、approvals、restart/replay、mention gating/allowlists、E2EE(基础/深度/CLI)
- Profile 系统:
all(完整)、fast(发布门控子集)、transport、media、e2ee-smoke、e2ee-deep、e2ee-cli - 输出 artifacts:
matrix-qa-report.md、matrix-qa-summary.json、matrix-qa-observed-events.json(默认脱敏)、matrix-qa-output.log
配置/使用
快速启动(发布门控):
pnpm openclaw qa matrix --profile fast --fail-fast运行特定场景:
pnpm openclaw qa matrix --scenario matrix-e2ee-basic-reply --scenario matrix-thread-follow-up关键环境变量:
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENCLAW_QA_MATRIX_TIMEOUT_MS | 1800000 | 整体运行上限 |
OPENCLAW_QA_MATRIX_CANARY_TIMEOUT_MS | 45000 | 初始 canary 回复超时 |
OPENCLAW_QA_MATRIX_NO_REPLY_WINDOW_MS | 8000 | 负向断言静默窗口 |
OPENCLAW_QA_MATRIX_TUWUNEL_IMAGE | v1.5.1 | 覆盖 homeserver 镜像 |
OPENCLAW_QA_MATRIX_CAPTURE_CONTENT | 脱敏 | 1 保留消息体 |
故障排查:
- 运行在末尾挂起:matrix-js-sdk 原生加密句柄可能存活超过 harness,默认强制
process.exit - 清理错误:手动运行报告中的
docker compose ... down --remove-orphans命令 - CI 中负向断言窗口不稳定:调整
OPENCLAW_QA_MATRIX_NO_REPLY_WINDOW_MS
相关页面
- qa-e2e-automation — QA 整体框架与实时传输契约
- mantis — 实时传输 Bug 的 Before/After 验证
- concepts/channel-docking — 渠道对接机制
- streaming — 流式输出(Matrix 草稿事件)