openclaw/crabbox
Crabbox: warm a box, sync the diff, run the suite.
Crabbox – コーディングエージェント向けのオンデマンドコンピューター
機能概要
Crabbox は、一時的なコンピューターをリースし、現在のソースツリー(未コミットの変更を含む)をコピーし、そこでコマンドを実行し、出力をストリーミングして戻し、マシンを解放できるコマンドラインツールです。ローカル Docker/Podman コンテナ、クラウド VM、macOS/Windows ホスト、または SSH でアクセス可能な任意のボックスなど、多くのバックエンドで動作するため、エージェントや開発者は自分のラップトップを占有せずにテスト、ビルド、UI チェックを実行できます。
AI/ML ワークフローにとって重要な理由
- 並列エージェント – コードを生成する大規模言語モデルエージェントは、それぞれ独立した隔離されたボックスを取得でき、単一ワークステーションでの競合を回避できます。
- 高速編集-テストループ – ウォームアップボックスは依存関係をインストールしたままにするため、繰り返しの実行が高速になり、反復的なプロンプトからコードへのサイクルに役立ちます。
- クロスプラットフォーム検証 – 単一の CLI から Linux、macOS、Windows、または WSL2 で同じテストスイートを実行し、生成されたコードがどこでも動作することを確認します。
- ヒューマンインザループ UI – VNC/WebVNC またはブラウザベースの VS Code インスタンスを使用して、UI テストを監視したり手動で介入したりしてから、エージェントを続行させることができます。
コアコンセプト
| 概念 | 説明 |
|---|---|
| プロバイダー | 特定の種類のマシン(Docker、AWS、Azure、SSH ホストなど)を起動、停止、通信する方法を知っているプラグイン。Crabbox には 80 以上の組み込みプロバイダーと external プラグインインターフェースが付属しています。 |
| リース / ボックス | 短期間のコンピューターインスタンス。リースを要求し(crabbox run …)、使用し、ウォームアップを維持しない限り自動的に解放されます。 |
| ウォームアップ / プリウォーム | 複数の実行にわたってリースを維持し、オプションで GitHub Actions アーティファクトでハイドレートします。 |
| 同期 | 実行前に、Crabbox はリポジトリ(未コミットの変更を含む)をボックスにコピーし、大きなビルドディレクトリをスキップする設定可能なワークスペース同期ルールに従います。 |
| コーディネーター(オプション) | クラウド資格情報を保存し、支出上限を強制し、アクティブなリース、ログ、VNC セッションを表示する Web ポータルを提供できる中央サービス。 |
| デスクトップ / ブラウザ機能 | 一部のプロバイダーは、グラフィカルデスクトップ(VNC/WebVNC)またはインストールされたブラウザを公開し、UI テストや手動デバッグを可能にします。 |
典型的なワークフロー(CLI スニペット)
# 1️⃣ ボックスをリースし、リポジトリをコピーし、テストスイートを実行してから解放
crabbox run -- pnpm test
# 2️⃣ 迅速な反復のためにボックスをウォームアップ
crabbox warmup --slug dev-box
crabbox run --id dev-box -- npm test
crabbox connect --id dev-box # シェルを開く
crabbox stop dev-box # 完了したら解放
# 3️⃣ 表示可能なデスクトップで UI テストを実行
crabbox warmup --class tiny --desktop --browser --slug ui-box
crabbox webvnc --id ui-box --open --take-control
crabbox run --id ui-box -- "npm run e2e"
crabbox stop ui-box
はじめに
- インストール – バイナリ配布または
cargo install crabbox(Rust ベース)。local-containerプロバイダーには Docker/Podman が実行されている必要があります。 - プロバイダーを選択 – 例:
local-containerはローカルでの迅速なテスト用、awsはクラウド macOS VM 用。 crabbox doctorを実行 – プロバイダーの資格情報と前提条件が到達可能かどうかを確認します。- 最初のコマンドを実行 –
crabbox run -- uname -a。
プロバイダーエコシステム(高レベル)
- ブローカー可能なクラウド – AWS、Azure、GCP、Hetzner(コーディネーターが資格情報を管理できます)。
- 直接クラウド – DigitalOcean、Linode、VULTR、GitHub Codespaces など。
- 委任されたサンドボックス – Cloud-run、Cloudflare、E2B、Modal など、短期間のコンテナスタイル実行用。
- ローカルおよびセルフホスト – Docker、Podman、Multipass、Hyper-V、Proxmox、Firecracker など。
- GPU 対応 – Lambda、RunPod、Vast、WandB は ML ワークロード用。
- デスクトップ対応 – VNC または WebVNC を公開するプロバイダー(AWS、Azure、Parallels など)。
誰が使用すべきか?
- LLM ベースのコーディングエージェント – 生成された各スニペットに隔離された再現可能な環境が必要です。
- 開発者 – 重いテストスイートをクラウドにオフロードし、高速なローカル編集ループを維持したい人。
- CI/CD パイプライン – マシンを起動し、ジョブを実行し、証拠を収集するための一貫したプロバイダーに依存しない方法が必要です。
- チーム – 支出制限を強制し、チームメイトに実行中の UI テストへの視覚的アクセスを提供する共有「ブローカー」を望むチーム。
上記のすべての情報はプロジェクトの README から直接取得されています。外部の仮定は追加されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch