Community编程与开发github.com

openclaw-测试

选择适当的 OpenClaw 测试/检查,诊断失败原因,将环境敏感或发布验证问题路由给相关负责人。

openclaw-测试 是什么?

OpenClaw 测试技能是一个 AI 辅助的测试选择和诊断工具,主要面向使用 OpenClaw 框架的开发者和 CI 流程。它提供了一套明确的策略来选择合适的测试范围:本地快速验证(如 `pnpm test <file> --maxWorkers=1`)用于日常开发,PR CI 用于广泛验证,而远程环境(Crabbox/Testbox)仅在需要特定平台、长耗时 E2E 或负荷过大时使用。技能还包含详细的 CI 失败处理流程:通过 `pnpm test:ci-failed <pr>` 获取分类结果,区分新缺陷、预先存在的失败和基础设施问题,并严格禁止为了绿色而盲目重跑。它支持多种技术栈(Node.js、Docker、Telegram、macOS 等),但核心工作流围绕 OpenClaw 的 monorepo 结构、Vitest 测试和自定义脚本。该技能可在 Claude Code、Cursor 等 AI 编码代理中使用,帮助代理准确选择测试范围、诊断 CI 失败并遵守仓库的验证策略。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-testing

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

OpenClaw 测试

证明策略

  • PR CI = 默认的广泛证明。 变更构建 + 重点测试通过 → 开放就绪 PR。CI 运行广泛套件;切勿因预 PR 套件运行而延迟 PR。

  • 在 PR 之前,进行窄范围证明: 使用 pnpm test <file> --maxWorkers=1 测试受影响的文件,进行目标类型检查、lint、格式检查。当依赖关系和当前主机容量合格时,优先进行本地证明以处理可信的、有限的工作。本地执行是可选的:一个重点命令可能仍然加载一个庞大的编译器图或扩展到广泛通道。

  • 有意选择远程证明。 使用 PR CI 进行广泛证明;Crabbox/Testbox 可能涵盖昂贵的检查、繁忙或不合格的主机、其他操作系统/设备、实时提供商/通道、长 E2E 或重型基准。仅在命令就绪且容量及时授予时获取。如果排队,仅停止任务拥有的分配;使用 PR CI 或安全的本地范围。保持未覆盖的平台特定证明待定。切勿将繁重工作强加到繁忙机器上或链式提供商。使用针对所选工作负载证明的最小配置文件。

  • 切勿仅为绿色而重跑或重新推送。 修复真实失败;在归因红色之前读取可用的 CI 失败分类。

  • 证明变更的契约,完成必需的门控,结束。仅对变更的输入、失败或已命名的未解决风险进行扩展/重复。

  • 遵循范围的 AGENTS.md;编写/审查测试:使用 边界指南 和 test-audit。

选择证明

  • 为受影响的契约选择证明;重用有效证明(为变更的输入或缺失的覆盖重跑);在用户/主机限制内完成工作流的必需门控;报告未运行的检查和差距。在可行时通过真实流程证明用户可见行为;外部 API 需要实时契约证明;隔离的 mock-Gateway 工具 = 有效的通道边界证明。仅文档:文档健全性检查和 git diff --check。

  • 运行时缺陷:重现真实入口点;重跑它 + 相关同级。

  • 可信来源:pnpm changed:lanes --json,重点测试 + 目标类型检查/lint/格式;pnpm check:changed = 可选的智能本地检查。

  • 公共 SDK/插件契约:代表性消费者,而非全插件扫描。

  • 构建输出、延迟导入、包边界:包含 pnpm build。

  • 工作流:git diff --check + pnpm check:workflows。

  • 仅文档:相关文档/链接/格式检查 + git diff --check;无运行时测试。

  • 按需阅读:本地命令、 Crabbox、OpenClaw 远程设置、 包/Docker 证明、 发布 CI、 插件发布矩阵、 Docker 编写、通道技能/ Control UI E2E。

  • 隔离的 mock-Gateway 工具是有效的通道边界证明;说明实时差距。在可行时通过真实流程证明用户可见行为;外部 API 要求实时契约证明。阅读范围的通道/平台指南以进行实时通道或原生应用工作。Telegram 声明需要 Test Server userbot 证明及 Convex 租用的凭证。 平台声明需要真实设备证据;macOS 权限证明需要稳定的 签名应用。

  • 发布证明:保留候选/工具 SHA;绝不授予发布权限。

来源和状态边界

  • 切勿在本地执行不可信的贡献者/分支代码、包装器、配置。使用无秘密的分支 CI 或通过 Crabbox 进行消毒的直接 AWS;绝不使用凭证注入的 Testbox。凭证执行:需要维护者审核批准后;绝不注入不可信租用。
  • 隔离状态 + 空闲端口。未经明确每任务批准,切勿重启、编辑或测试操作员 Gateway/真实数据。保留无关进程和共享依赖安装。
  • 并发测试/检查命令:使用不同的 OPENCLA_VITEST_FS_MODULE_CACHE_PATH 值或串行运行;检查也可以运行 Vitest。仅使用仓库包装器,绝不使用原始 Vitest。准备的链接工作树:node scripts/check-changed.mjs 和 node scripts/run-vitest.mjs <file> --maxWorkers=1 避免 pnpm 协调。

CI 失败

  • PR CI 失败 → pnpm test:ci-failed <pr>;读取预存在/新/未知分类。
  • 修复新的失败;调查未知 → pnpm test:ci-failed <pr> --run 直到所选测试在本地通过 → 推送一次。
  • --run 启用 OPENCLAW_NODE_TEST_PLAN_CONTINUE_ON_FAILURE=1:跨所选配置收集普通失败,同时基础设施失败仍然停止;对手动重点重试使用相同的选择加入。
  • 预存在的失败:failure-table landing rule。匹配的签名 ≠ 仅作业名称的属性。
  • 切勿 gh run rerun 以追寻绿色;切勿为 CI 修复运行本地完整套件。
  • 将诊断绑定到确切的 SHA + 作业。仅获取一次失败的日志;优先使用确切的运行/作业状态而非过时的 PR 汇总。
  • 区分产品、工具、基础设施、凭证、已取代运行取消。快照在 macOS 通过/在 CI 失败:在重新生成前重现 Linux/Node 字节。

基线和预期失败异常

窄范围基线、快照、忽略和预期失败异常仅当每个条目针对来源验证且 PR 记录其原因(例如,工具拥有的元数据在升级快照中,而用户数据保持精确)时,才由实施者决定。切勿掩盖真实回归或用户数据更改。未经验证的泛化异常需要批准。精确的仅收缩棘轮更新是维护。

测试失败策略

  • 失败 = 缺陷。有界的重现尝试(首先相同分片顺序);识别所有者;修复产品、固定装置、共享状态、排序错误。
  • 已证明的修复:添加回归测试;在适用时引用另一个所有者的修复。
  • 无法建立/完成安全修复:在 PR 中记录原始失败、尝试、证据、不确定性;在正常 CI/审核门控下继续。
  • 未解决的失败本身既不阻止着陆也不要求额外批准。通过的重放 ≠ 已证明的修复。
  • 切勿使用重试、更长的超时、更弱的断言、更广泛的模拟、更改的基线来隐藏失败。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

相关技能