openclaw/crabbox

Crabbox: warm a box, sync the diff, run the suite.

解决的问题

Crabbox 提供了一种在远程基础设施上运行软件测试和执行命令的方法,而不是在本地笔记本电脑上。它解决了在无需为每次小变更都配置完整 CI/CD 流水线的情况下,需要更强大硬件、特定操作系统或干净、可丢弃环境进行每次测试运行的问题。

工作原理

Crabbox 使用基于 Go 的 CLI,与可选的协调器(通过 Cloudflare Workers 或 Node.js 部署)交互,从各种云提供商(如 AWS、GCP、Azure 或 Hetzner)租用远程运行器。一旦租用到运行器,CLI 会通过 SSH 和 rsync 将本地工作目录同步到远程机器,执行指定命令,将输出流式传输回用户,然后释放运行器。

适用人群

  • 维护者:需要更大机器或平台特定验证来运行测试套件和构建的人员。
  • 贡献者:希望拥有与仓库设置脚本匹配的可丢弃环境的人员。
  • AI 代理 和自动化工具:需要可审计的远程机器来执行命令和收集日志的人员。
  • 团队:希望集中控制云凭证、支出上限和共享使用历史的团队。

主要亮点

  • 广泛的提供商支持:与多种云提供商(AWS、Azure、GCP、Hetzner、DigitalOcean)以及本地虚拟化工具(Docker、Apple VM、Proxmox)集成。
  • 灵活的协调机制:可运行在去中心化的「直接提供商」模式下,也可通过中心化协调器实现团队管理。
  • 代理就绪:包含适用于兼容编码代理的「代理技能」,可发现并使用远程执行功能。
  • 工作流集成:通过 .crabbox.yaml 支持命名的仓库工作流,并与 Zed 等编辑器集成,实现远程项目交接。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目