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 세션을 볼 수 있는 웹 포털을 제공할 수 있는 중앙 서비스. |
| 데스크톱 / 브라우저 기능 | 일부 공급자는 그래픽 데스크톱(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