lizard sandbox

Erstelle und verwalte Sandboxes im Terminal. Alias: lizard sb.

Verwendung

lizard sandbox create [flags]
lizard sandbox list [flags]
lizard sandbox exec <id> -- <command>
lizard sandbox ssh <id>
lizard sandbox rm <id> [flags]

Jede Sandbox gehört zu einem Projekt: entweder dem mit dem aktuellen Verzeichnis verknüpften oder dem, das du mit -p angibst.

Unterbefehle

lizard sandbox create

Erstellt eine Sandbox und gibt ihre ID aus.

FlagBeschreibung
-t, --template <name>Template (Standard base). Aktivierte Templates: base, interpreter, codex, desktop, opencode, pi, prime, claude. Der Server prüft die Liste der Region
-s, --size <size>small, medium (Standard) oder large
--timeout <ms>Lebensdauer in Millisekunden (Standard 300000, fünf Minuten); 0 deaktiviert den Ablauf
--region <code>Region, in der die Sandbox erstellt wird
--snapshot <id>Aus einem gespeicherten Snapshot starten; kann nicht mit --size kombiniert werden
--volume <name-or-id>Ein Persistent Volume anhängen
--with-token [key]Installiert einen liz_-API-Key in der Sandbox, damit lizard dort funktioniert. Ohne Wert wird der liz_-Key wiederverwendet, mit dem du arbeitest; ein Browser-Login hat keinen
-p, --project <id>Projekt (Standard ist das verknüpfte)

Lizard rechnet jede Größe sekundengenau zum Festpreis ab, solange die Sandbox läuft, auch im Leerlauf. Enthalten sind lokale Festplatte und 2 TB ausgehender Traffic pro Konto über die jeweils letzten 30 Tage. Eine erfolgreiche Pause stoppt die Rechenkosten; Speicher in Persistent Volumes kostet weiter den Volume-Preis, auch ohne angehängte Sandbox.

GrößevCPUArbeitsspeicherFestplattePreis
small24 GiB5 GB$0.0162/h
medium48 GiB20 GB$0.0324/h
large816 GiB50 GB$0.0648/h

Alles in der Sandbox kann einen mit --with-token installierten Key lesen. Verwende einen Key, der auf einen Workspace oder ein Projekt beschränkt ist: lizard keys create sandbox-key -w my-team.

Bis deine Testphase oder dein Pro-Plan beginnt, gibt create HTTP 402 mit einem Checkout-Link zurück; führe lizard billing start aus. Während der Testphase kannst du 5 Sandboxes gleichzeitig betreiben, nach der ersten bezahlten Rechnung 100. Pausierte Sandboxes zählen nicht mit. Siehe Limits.

lizard sandbox list

Listet die Sandboxes im verknüpften Projekt auf (Alias ls).

FlagBeschreibung
-p, --project <id>Stattdessen dieses Projekt auflisten
--allAlle Sandboxes in all deinen Workspaces auflisten

lizard sandbox rm <id>

Löscht eine Sandbox (Alias delete).

FlagBeschreibung
-y, --yesBestätigung überspringen

lizard sandbox timeout <id> <ms>

Setzt eine neue Lebensdauer in Millisekunden, gerechnet ab jetzt (mindestens 1000). Das ist kein Leerlauf-Timer: Das Ausführen von Befehlen setzt ihn nicht zurück.

lizard sandbox exec <id> -- <command>

Führt einen Befehl über sh -c in der Sandbox aus, streamt die Ausgabe und beendet sich mit dessen Exit-Code.

lizard sandbox ssh <id>

Öffnet eine interaktive Shell in einer laufenden Sandbox (Alias shell). Sie nutzt deinen Lizard-Login, also musst du keine SSH-Keys einrichten; ein eingeschränkter API-Key erreicht nur Sandboxes in seinem Geltungsbereich. Strg-C, Pfeiltasten und Tab-Vervollständigung gehen an die Sandbox. Gib exit ein oder drücke Strg-D, um die Shell zu verlassen.

Sie benötigt ein interaktives Terminal; verwende in einem Skript lizard sandbox exec. Es ist nicht das SSH-Protokoll, daher funktionieren SSH-Clients, scp und Port-Forwarding nicht.

lizard sandbox expose <id> <port>

Gibt einem Port in der Sandbox eine HTTPS-URL. Der Port ist privat: Anfragen benötigen das Zugriffstoken der Sandbox, entweder im Header X-Lizard-Access-Token oder als Query-Parameter lizard_token, den die ausgegebene URL bereits enthält. Anfragen ohne Token erhalten HTTP 401. Mit --json enthält das Ergebnis zusätzlich hostname und accessToken.

lizard sandbox unexpose <id> <port> entfernt die URL.

lizard sandbox desktop <id>

Startet den grafischen Desktop einer mit -t desktop erstellten Sandbox und gibt die Browser-URL sowie eine reine Ansichts-URL aus. Behandle beide Links wie Passwörter.

FlagBeschreibung
--view-onlyNur die Ansichts-URL ausgeben oder öffnen
--resolution <WxH>Bildschirmgröße, von 640x480 bis 3840x2160
--openDen Desktop im Browser öffnen
--statusZustand und URLs des Desktops anzeigen, ohne ihn zu starten
--stopDen Desktop stoppen und seine URL entfernen

lizard sandbox vnc <id>

Verbindet eine VNC-App (macOS-Bildschirmfreigabe, TigerVNC, RealVNC) mit dem Desktop einer mit -t desktop erstellten Sandbox. Der Desktop hat keinen öffentlichen VNC-Port, daher lauscht die CLI auf localhost und leitet jede Verbindung über einen sicheren WebSocket zur Sandbox weiter. Sie startet bei Bedarf den Desktop, gibt die Adresse und das VNC-Passwort aus und läuft bis Strg-C.

FlagBeschreibung
--port <port>Lokaler Port (Standard 5900; ist er belegt, der nächste freie)
--view-onlyDas Ansichts-Passwort verwenden: zuschauen, keine Steuerung
--openDie Adresse in deiner VNC-App öffnen (vnc://, Bildschirmfreigabe unter macOS)

Pausieren, Fortsetzen und Snapshots

BefehlWas er macht
lizard sandbox pause <id>Speichert Arbeitsspeicher und Prozesse und pausiert die Sandbox. Eine erfolgreiche Pause stoppt die Rechenkosten; Speicher in Persistent Volumes wird separat berechnet
lizard sandbox resume <id>Startet eine pausierte Sandbox mit ihrem gespeicherten Arbeitsspeicher und ihren Dateien erneut
lizard sandbox snapshot <id> --name <name>Speichert eine laufende Sandbox als privaten Snapshot in ihrem Projekt und hält warme Kopien bereit (--warm, 1 bis 10, Standard 5)
lizard sandbox restore <snapshot-id>Startet eine neue Sandbox aus einem Snapshot (--timeout <ms>, Standard 300000)
lizard sandbox snapshotsListet die Snapshots des Projekts auf (-p für ein anderes Projekt)
lizard sandbox snapshot-pause <snapshot-id>Gibt die warmen Kopien eines Snapshots frei und behält seinen gespeicherten Zustand
lizard sandbox snapshot-resume <snapshot-id>Füllt die warmen Kopien eines pausierten Snapshots wieder auf
lizard sandbox snapshot-warm <snapshot-id> <count>Ändert, wie viele Kopien warm bleiben (1 bis 10)
lizard sandbox snapshot-rm <snapshot-id>Löscht einen Snapshot (Alias snapshot-delete, -y überspringt die Bestätigung)

pause, resume und snapshot warten, bis die Arbeit erledigt ist; mit --no-wait kehren sie zurück, sobald sie in die Warteschlange gestellt wurde. Was jeder Schritt behält, steht unter Pausieren, Fortsetzen und Snapshots.

lizard sandbox files

BefehlWas er macht
lizard sandbox files ls <id> [path]Ein Verzeichnis auflisten (Standard /)
lizard sandbox files cat <id> <path>Eine Datei ausgeben
lizard sandbox files put <id> <local> <remote>Eine lokale Datei hochladen
lizard sandbox files get <id> <remote> <local>Eine Datei herunterladen
lizard sandbox files rm <id> <path>Eine Datei oder ein Verzeichnis löschen

Coding-Agents

Führe einen Coding-Agent mit deinen eigenen Zugangsdaten in einer Sandbox aus. Verbinde sie zuerst mit lizard agents. Erstelle die Sandbox aus einem Agent-Template (codex, claude, opencode, pi oder prime); das Template base enthält kein Node.js und kann keine Agents ausführen.

lizard sandbox prompt <id> <prompt...> sendet einen Prompt und streamt, was der Agent tut.

FlagBeschreibung
--agent <name>codex (Standard), claude, pi, opencode oder prime
-c, --conversation <id>Diese Konversation fortsetzen
--newEine neue Konversation beginnen
-m, --model <model>Zu verwendendes Modell
--effort <level>Reasoning-Aufwand: minimal, low, medium, high oder xhigh
--cwd <dir>Arbeitsverzeichnis in der Sandbox (Standard /workspace)
-v, --verboseAuch die Befehlsausgabe ausgeben
--no-waitZurückkehren, sobald der Prompt angenommen wurde

Strg-C beendet das Zuschauen; der Agent arbeitet weiter. lizard sandbox interrupt <id> [-c <conversation>] stoppt seinen laufenden Durchgang. lizard sandbox conversations <id> listet die Konversationen auf, die neueste zuerst.

Beispiele

Eine Sandbox erstellen und einen Befehl ausführen

lizard sandbox create --size small --timeout 600000
lizard sandbox exec sb_abc123 -- python3 -c "print(1 + 1)"

Eine Shell öffnen

lizard sandbox ssh sb_abc123

Ein Persistent Volume anhängen

lizard volume create agent-workdir --size 10
lizard sandbox create --volume agent-workdir

Einen Port bereitstellen

lizard sandbox exec sb_abc123 -- sh -c "nohup python3 -m http.server 3000 --bind 0.0.0.0 >/tmp/http.log 2>&1 &"
lizard sandbox expose sb_abc123 3000

Einen Desktop über eine VNC-App nutzen

lizard sandbox create -t desktop
lizard sandbox vnc sb_abc123 --open

Codex in einer Sandbox ausführen

lizard agents login chatgpt
lizard sandbox create -t codex
lizard sandbox prompt sb_abc123 "add a health check endpoint and test it"

Eine Sandbox speichern und wiederherstellen

lizard sandbox snapshot sb_abc123 --name my-app
lizard sandbox restore <snapshot-id>   # ID from `lizard sandbox snapshots`

Siehe auch

Aktualisiert