用途:Crabbox 是一个远程验证(proof)技能,用于在 CI 与本地测试覆盖不足时,补充跨操作系统/设备、真实 provider 与通道、长时间端到端测试和重型基准等场景的验证。默认以 PR CI 作为广泛证明,先做聚焦的本地测试与针对性 lint/typecheck/format,仅在存在覆盖缺口时才申请远程环境。
主要能力:技能负责可移植的 provider 路由、租约(lease)、同步、命令执行与清理。支持 blacksmith-testbox(可信维护者来源、已准备 CI,tbx_ 前缀)、aws(直接代理执行、新 PR、自定义同步/环境/捕获,cbx_ 前缀)、local-container(本地 Docker,非远程证明)和 ssh(已有操作主机,用于 macOS/Windows/WSL2)。
使用方式:从仓库根目录选择可信的已安装二进制,例如 export CRABBOX="$(command -v crabbox)",随后执行 "$CRABBOX" --version、"$CRABBOX" config show --json 与 "$CRABBOX" run --help 进行预检,并读取 .crabbox.yaml 与解析后的配置。Testbox 场景还需检查 command -v blacksmith 与 blacksmith --version。运行命令示例:"$CRABBOX" run --timing-json -- CI=1 <check-command>;多命令时可用 warmup --keep --timing-json 保存 id,再用 run --id <tbx_id> 复用,最后 stop <tbx_id>。
限制与边界:不得执行不可信仓库的包装脚本或配置,不可信 AWS 执行需遵循无角色 + SHA 证明的完整配方,否则改用无密钥 fork CI。实时凭据须精确注入、单命令、安全注入,禁止打印密钥或写入仓库文件与 shell 历史。一个租约同一时间只允许一个活动命令,运行期间不得同步或回收。base/head 变更后须停止并重新预热,不得覆盖过期租约。同步超时不等同于测试结果。使用后须停止自有租约,包括失败情况。资料未提供具体收费、价格与平台细节。