SuperAPI AI 工具集

crabbox

测试与质量

查看项目

更新于 10-28 04:49

技能介绍

Crabbox 是 OpenClaw 使用的远程验证封装工具,属于传输/编排层,用于把本地仓库的验证任务放到远程环境执行。它的实际后端有两类:一是直连的 AWS Crabbox(provider=aws,租约 ID 形如 cbx_...,syncDelegated=false);二是通过 Crabbox 委派的 Blacksmith Testbox(provider=blacksmith-testbox,ID 形如 tbx_...,syncDelegated=true)。

主要能力

  • 远程运行 pnpm 测试:支持 chang 只会、完整套件和定向重跑,可通过环境变量控制内存、并行度和超时。
  • 预热与复用环境:支持 warmup、空闲超时和 TTL 设置,减少重复启动成本。
  • 代码同步:默认镜像当前检出目录;支持 --fresh-pr 从 GitHub PR 创建全新远程检出,--full-resync 重置过期工作目录。
  • 多平台目标:Linux 默认;Windows 原生(AWS us-west-2 按需镜像)与 WSL2;macOS 需确认协调器支持 EC2 Mac 生命周期且操作者具备配额和 IAM,也可通过静态 SSH 主机使用。
  • 可观测性:--preflight 打印运行上下文与工具探测;--timing-json 输出机器可读耗时;CRABBOX_PHASE 标记命令阶段。
  • 环境与密钥:CRABBOX_ENV_ALLOW 仅转发白名单变量;--env-from-profile 从本地 profile 读取并只转发允许项;--env-helper 在 POSIX SSH 目标上持久化环境助手。
  • 脚本与捕获:--script/--script-stdin 上传并执行脚本;--capture-stdout/--capture-stderr 把远程流写入本地文件;--capture-on-fail 在失败时下载测试结果、报告和日志。
  • 清理与调试:一次性租约通常自动停止,可用 crabbox list 核查;--keep-on-failure 保留失败租约供现场调试。

使用方式 从仓库根目录运行,先检查 crabbox 命令、版本和帮助输出;OpenClaw 脚本优先使用 ../crabbox/bin/crabbox。省略 --provider 时默认为经纪的 AWS。运行结果应报告实际提供方和租约 ID:cbx_ 表示 AWS Crabbox,tbx_ 表示通过 Crabbox 的 Blacksmith Testbox。使用 Blacksmith Testbox 时,同步由 Blacksmith 负责,因此不支持 --capture-、--download、--checksum、--force-sync-large、--sync-only、--script、--fresh-pr、--full-resync、--env-helper 等参数。

适用场景 适合需要远程 Linux 证明的广泛测试、CI 一致性检查、密钥与托管服务验证、Docker/E2E/包安装通道、复用预热环境、同步耗时分析、日志与结果捕获以及租约清理。对于用户可见缺陷,建议从真实入口复现或证明修复前症状,再在修复后运行一次端到端证明,并记录 Testbox ID、命令、环境形态和脱敏后的密钥来源。

限制

  • macOS 远程运行依赖协调器部署、AWS EC2 Mac 专用主机配额和 IAM,缺失时应报告阻塞而不是回退本地 macOS。
  • 原生 Windows 使用 OpenSSH、PowerShell、Git 和 tar,同步为清单 tar 归档传输;actions hydrate/register 目前仅支持 Linux。
  • 委派提供方不支持环境转发和上述部分参数,密钥应放在 Testbox 工作流中。
  • 实时提供方认证需要安全注入路径;若无,应说明真实认证受阻,而不是使用假密钥。
  • 继承的 shell 环境变量(如 OPENCLAW_LOCAL_CHECK_MODE=throttled)不视为操作者意图,只有用户明确要求本地证明时才使用。
  • 具体计费、价格、平台可用性和效果资料未提供。