Skills

Crabbox: Dem Agenten eine Box auf Abruf für Tests, Builds und UI-Prüfungen geben

Am besten geeignet, um Tests, Builds und UI-Prüfungen von einem Agenten oder dir selbst auf einer auf Abruf verfügbaren Cloud-Box, lokalen VM/einem lokalen Container oder einer vorhandenen Maschine ausführen zu lassen, während du weiter lokal editierst; wichtigste Voraussetzung vor der ersten Nutzung ist, dass Docker oder Podman lokal installiert ist, und die CLI muss separat installiert werden.

Official source · openclaw/crabbox

Install

npx skills add openclaw/crabbox --skill crabbox

Crabbox eignet sich am besten dafür, während ein Coding-Agent parallel den lokalen Code bearbeitet, Tests, Builds oder UI-Prüfungen auf eine auf Abruf verfügbare Remote-Maschine auszulagern. Die wichtigste Voraussetzung vor dem Einstieg: Auf deinem Rechner muss sich die CLI installieren lassen, und für den lokalen Container-Schnellpfad müssen Docker oder Podman zusätzlich installiert und gestartet sein.

Für wen geeignet

  • Für alle, die Tests, Builds und UI-Prüfungen von einem Agenten oder sich selbst auf einer Cloud-Box, einer lokalen VM/einem lokalen Container oder einer bereits vorhandenen Maschine ausführen lassen wollen, während sie weiter lokal am Code arbeiten.
  • Crabbox ist eine CLI, die drei Arten von Boxen bereitstellt: Cloud-Boxen, lokale VMs oder Container sowie Maschinen, die dir bereits gehören.
  • Der lokale Container-Schnellpfad setzt voraus, dass Docker oder Podman auf dem Rechner installiert ist und läuft; der SSH-Workflow erfordert lokal git, ssh, ssh-keygen, rsync und curl. Wenn diese Voraussetzungen nicht erfüllt sind, nennt die offizielle Dokumentation keine anderen nutzbaren Wege.
  • Ob Cloud-Boxen ein Konto erfordern, wie sie abgerechnet werden und welche Cloud-Plattformen unterstützt werden, ist aus den vorliegenden Belegen nicht ersichtlich – das musst du vor der Nutzung selbst in der offiziellen Dokumentation klären.

Erster Versuch in 3 Minuten

Der offiziell empfohlene Hauptweg ist der lokale Container-Schnellstart, der komplett ohne Cloud-Konto auskommt:

  1. Voraussetzung: Docker oder Podman ist auf dem Rechner installiert und gestartet; die CLI wird separat installiert (laut offizieller Angabe "Install the CLI separately"; die konkreten Installationsbefehle findest du im offiziellen README).

  2. Agent-Skill installieren: In einem unterstützten Agenten den offiziellen Befehl ausführen:

    npx skills add openclaw/crabbox --skill crabbox
    

    Offiziell gibt es außerdem einen crabbox-quickstart-Skill als Alternative.

  3. In ein Git-Repository wechseln, dem du vertraust (offiziell wird verlangt, in einem vertrauenswürdigen Repository zu arbeiten).

  4. Den Agenten (oder dich selbst im Terminal) den offiziellen Selbsttest ausführen lassen:

    crabbox doctor --provider local-container
    

    Erfolgssignal: doctor besteht die Prüfung der lokalen Container-Umgebung.

  5. Danach eine risikoarme, nur lesende erste Aufgabe ausführen, um die gesamte Kette zu verifizieren:

    crabbox run --provider local-container -- uname -a
    

    Erfolgssignal: Crabbox mietet eine Wegwerf-Container-Box an, streamt die Befehlsausgabe zurück in dein Terminal und gibt die Box danach wieder frei. Dieses Beispiel führt nur uname -a aus und verändert deine Dateien nicht.

  6. Der Kern-Workflow danach ist crabbox run -- <cmd>: Er mietet eine Box an, synchronisiert deinen Arbeitsbaum (einschließlich uncommitteter Änderungen), führt den Befehl aus, streamt die Ausgabe zurück ins Terminal, gibt den Exit-Code zurück und gibt danach die Wegwerf-Box frei. Hinweis: Synchronisiert wird der gesamte Arbeitsbaum inklusive uncommitteter Änderungen – bevor du zum ersten Mal einen echten Testbefehl ausführst, stelle sicher, dass du weißt, was auf die Box gebracht und dort ausgeführt wird.

Anwendungsfälle

Fall 1: Testsuite vor dem Commit in einer sauberen Box ausführen. Szenario: Du (oder der Agent) hast Code geändert, willst aber die lokale Umgebung nicht verschmutzen. Lass den Agenten crabbox run -- pnpm test ausführen (ersetze pnpm test durch den Testbefehl deines Projekts). Zu erwartendes Ergebnis: Eine Wegwerf-Box wird angemietet, dein Arbeitsbaum samt uncommitteter Änderungen wird dorthin synchronisiert, die Testausgabe streamt in Echtzeit zurück ins Terminal, am Ende erhältst du den echten Exit-Code, und die Box wird freigegeben.

Fall 2: Die Umgebung der Container-Box verifizieren. Szenario: Ersteinrichtung oder Verdacht auf ein Umgebungsproblem. Lass den Agenten zuerst crabbox doctor --provider local-container zur Diagnose ausführen und danach crabbox run --provider local-container -- uname -a, um zu bestätigen, dass die Box Befehle ausführen kann. Zu erwartendes Ergebnis: doctor meldet, ob die lokale Container-Umgebung bereit ist; run liefert die Systeminformationen der Box und belegt, dass die komplette Kette aus Anmieten – Synchronisieren – Ausführen – Freigeben funktioniert. Beide Aktionen führen nur Prüfungen durch und lesen Systeminformationen – typische risikoarme Ersteinsatz-Schritte.

Grenzen der Nutzung

  • Nebenwirkungen und Bestätigungspunkte: Jedes crabbox run mietet eine Box an und synchronisiert deinen Arbeitsbaum (einschließlich uncommitteter Änderungen) dorthin, um dort den von dir angegebenen Befehl auszuführen – der Befehl läuft wirklich in der Box; prüfe daher vor dem Start den Befehlsinhalt. Der lokale Container-Pfad startet zudem Container auf deinem Rechner; die Grenzen der bei Cloud-Boxen beteiligten externen Dienste sind aus den Belegen nicht ersichtlich.
  • Voraussetzungen der Laufzeitumgebung: Der lokale Container-Schnellpfad benötigt Docker oder Podman; der SSH-Workflow benötigt lokal git, ssh, ssh-keygen, rsync und curl.
  • Client-Voraussetzungen: Der Skill wird über npx skills add installiert und funktioniert mit Agenten, die Agent Skills unterstützen; welche Clients konkret unterstützt werden, wird in den Belegen nicht einzeln aufgeführt.
  • Noch unbestätigte Kerninformationen: Freischaltung und Kontoanforderungen für Cloud-Boxen, ob crabbox doctor oder run aufs Netz zugreift oder welche lokalen Dateien gelesen/geschrieben werden, sowie welche Unterbefehle es außer den in der Dokumentation gezeigten gibt – all das ist offiziell nicht belegt; konsultiere vor der Nutzung das offizielle README.