一、技能概述
该技能用于 OpenClaw 项目的 QA 自动化测试工作,包括 qa-lab(QA 实验室)和 qa-channel(QA 频道)两大模块。它通过 YAML 定义的测试场景(scenario),在模拟或真实环境下驱动 OpenClaw 执行一系列预定义的操作,并验证其输出和行为是否符合预期。
核心原则:该技能是 OpenClaw 项目仓库本地(repo-local)的 QA 工具,所有测试场景和配置均存储在仓库内的 qa/ 目录下。
二、核心功能
1. QA 场景运行
技能通过 openclaw qa suite 命令运行完整的测试套件:
OPENCLAW_LIVE_OPENAI_KEY="${OPENAI_API_KEY}" \
pnpm openclaw qa suite \
--provider-mode live-frontier \
--model openai/gpt-5.4 \
--alt-model openai/gpt-5.4 \
--output-dir .artifacts/qa-e2e/run-all-live-frontier-
支持两种 provider 模式:
-
mock-openai:使用模拟的 OpenAI provider,用于快速开发和回归测试 -
live-frontier:使用真实的 OpenAI 模型,用于发布前验证
运行完成后,会生成:
-
qa-suite-summary.json—— 结构化摘要 -
qa-suite-report.md—— 可读报告
2. 模型策略
技能定义了明确的模型使用策略:
-
Live OpenAI 通道:
openai/gpt-5.4 -
快速模式:默认启用
-
禁止使用:
openai/gpt-5.4-pro和openai/gpt-5.4-mini
3. OTEL 可观测性冒烟测试
技能支持 OpenTelemetry 本地验证:
pnpm qa:otel:smoke
该命令启动本地 OTLP/HTTP trace 接收器,运行 otel-trace-smoke 场景,解码 protobuf span 数据,并验证导出的 trace 名称和隐私契约。不需要 Opik、Langfuse 或外部 collector 凭证。
4. Matrix 多通道测试
技能支持 Matrix 多通道矩阵测试,覆盖 Telegram、WhatsApp 等多个通道:
OPENCLAW_QA_MATRIX_NO_REPLY_WINDOW_MS=3000 \
pnpm openclaw qa matrix --profile fast --fail-fast
预置的测试 profile:
-
fast:发布关键的传输契约测试,排除生成图片和深度 E2EE 恢复 -
transport、media、e2ee-smoke、e2ee-deep、e2ee-cli:分片的全量 Matrix 覆盖
5. 凭证管理
技能通过 1Password 管理 QA 测试所需的各类凭证:
| 凭证类型 | 1Password 位置 |
|---|---|
| Telegram E2E 测试 | vault:OpenClaw → item:Telegram E2E |
| Convex QA | vault:OpenClaw → item:OPENCLAW_QA_CONVEX_* |
| WhatsApp QA | 专用测试号码,存储 Baileys auth 归档 |
凭证获取原则:
-
缺失值不要猜测,询问维护者或当前 1Password item 名称
-
保持凭证材料不出现在仓库、日志、PR 和截图中
6. 实时 Telegram Docker 测试
技能支持在 Docker 环境中运行 Telegram 端到端测试:
直接 Telegram 环境变量模式:
OPENCLAW_QA_TELEGRAM_GROUP_ID="..." \
OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN="..." \
OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN="..." \
OPENCLAW_QA_PROVIDER_MODE="mock-openai" \
OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC="openclaw@beta" \
pnpm test:docker:npm-telegram-live
Convex 共享基础设施模式(推荐用于稳定 QA 环境):
-
轮转凭证租赁
-
更精简的 channel 特定设置包装器
-
CLI/管理流围绕池化凭证
7. Character Eval(角色评估)
技能支持对多个模型进行风格、人格和语气的一致性评估:
pnpm openclaw qa character-eval \
--model openai/gpt-5.4,thinking=xhigh \
--model anthropic/claude-opus-4-6,thinking=high \
--judge-model openai/gpt-5.4,thinking=xhigh,fast \
--concurrency 16 \
--output-dir .artifacts/qa-e2e/character-eval-
特点:
-
在本地 QA gateway 子进程中运行,不是 Docker
-
模型规格语法:
provider/model,thinking=[,fast|,no-fast] -
默认候选模型:OpenAI GPT-5.4/5.2/5、Claude Opus/Sonnet、GLM、Kimi、Gemini 等
-
输出:judge 排名、运行统计、耗时和完整 transcript
-
不包含原始 judge 回复
8. Codex CLI 模型通道
技能支持将 Codex 作为模型后端进行测试:
pnpm openclaw qa suite \
--provider-mode live-frontier \
--model codex-cli/ \
--alt-model codex-cli/ \
--scenario <scenario> \
--output-dir .artifacts/qa-e2e/codex-
注意事项:
-
具体的 Codex 模型名称作为用户/配置输入,不硬编码在源码或场景中
-
Live QA 保留
CODEX_HOME,同时隔离HOME和OPENCLAW_HOME
9. 场景编写
测试场景使用 YAML 格式,存放在 qa/scenarios/ 目录下:
-
使用
index.yaml和每个场景独立的*.yaml文件 -
包含
title、scenario和可选的flow字段 -
不要添加 fenced
qa-scenario/qa-flowMarkdown 文件
三、主要用途
-
端到端功能回归测试
在代码变更后运行完整的 QA 测试套件,确保核心功能未被破坏。 -
发布前验证
在 Beta/Stable 发布前,使用live-frontier模式在真实模型上验证关键场景。 -
多通道集成测试
通过 Matrix profile 验证 Telegram、WhatsApp 等通道的消息流、E2EE 加密和媒体传输。 -
模型行为对比评估
通过 Character Eval 在不同模型间对比风格、人格和任务执行能力的一致性。 -
可观测性验证
通过 OTEL 冒烟测试验证 OpenTelemetry trace 导出和隐私契约是否符合预期。 -
凭证轮转与基础设施验证
验证 Convex 共享凭证池、Telegram Docker 测试环境和 WhatsApp 测试账号的可用性。 -
调试失败的测试场景
当场景失败时,修复产品根因或测试框架根因,然后重新运行完整 lane。
四、重要原则
-
仅修改模型策略当用户明确要求时
-
不将 RSS 增长称为泄漏,直到堆快照或 retainers 分析支持该结论
-
Keep credential material out of the repo, logs, PRs, and screenshots
-
场景使用 YAML,不使用 Markdown:不要添加
qa-scenario/qa-flowMarkdown 文件 -
Character eval 保持自然:提示保持自然和任务导向,不要问“你会如何反应?”或告诉模型它正在被评估
-
至少包含一个真实任务:如创建或编辑 workspace artifact,以捕获正常工具使用下的角色表现
-
Duration 是基准上下文,不是评分信号
总结:OpenClaw QA Testing 是 OpenClaw 项目的核心端到端自动化测试技能,通过 YAML 定义的场景在模拟或真实环境下驱动 OpenClaw 执行操作并验证行为。它覆盖多通道 Matrix 测试、角色评估、OTEL 可观测性验证、实时 Telegram Docker 测试和 Codex CLI 集成等丰富功能,并通过 1Password 统一管理测试凭证。该技能适用于 OpenClaw 贡献者和维护者在日常开发回归测试、发布前验证、多模型行为对比和基础设施凭证验证的场景。