CLI commands
Sandbox-CLI
Verwalten Sie Sandbox-Laufzeitumgebungen für die isolierte Agent-Ausführung: Docker-Container, SSH-Ziele oder OpenShell-Backends.
Befehle
openclaw sandbox list
Listet Sandbox-Laufzeitumgebungen mit Status, Backend, Konfigurationsübereinstimmung, Alter, Leerlaufzeit und zugehöriger Sitzung bzw. zugehörigem Agent auf.
openclaw sandbox listopenclaw sandbox list --browser # nur Browser-Containeropenclaw sandbox list --jsonopenclaw sandbox recreate
Entfernt Sandbox-Laufzeitumgebungen, um deren Neuerstellung mit der aktuellen Konfiguration zu erzwingen. Die Laufzeitumgebungen werden automatisch neu erstellt, wenn der Agent das nächste Mal verwendet wird.
openclaw sandbox recreate --allopenclaw sandbox recreate --agent mybot # schließt Untersitzungen vom Typ agent:mybot:* einopenclaw sandbox recreate --session "agent:main:main"openclaw sandbox recreate --browser --all # nur Browser-Containeropenclaw sandbox recreate --all --force # Bestätigung überspringenOptionen:
--all: alle Sandbox-Container neu erstellen--session <key>: die Laufzeitumgebung mit diesem exakten Bereichsschlüssel neu erstellen (wie vonsandbox listangezeigt); keine Erweiterung von Kurznamen--agent <id>: Laufzeitumgebungen für einen Agent neu erstellen (entsprichtagent:<id>undagent:<id>:*)--browser: nur Browser-Container betreffen--force: Bestätigungsabfrage überspringen
Übergeben Sie genau eine der Optionen --all, --session oder --agent.
Bei ssh und OpenShell remote ist die Neuerstellung wichtiger als bei Docker: Nach der anfänglichen Befüllung ist der entfernte Arbeitsbereich maßgeblich, recreate löscht diesen maßgeblichen entfernten Arbeitsbereich für den ausgewählten Bereich, und beim nächsten Lauf wird er aus dem aktuellen lokalen Arbeitsbereich neu befüllt.
openclaw sandbox explain
Prüft den effektiven Sandbox-Modus und -Bereich, den Arbeitsbereichszugriff, die Richtlinie für Sandbox-Werkzeuge und die Schranken für Werkzeuge mit erhöhten Rechten (einschließlich Konfigurationsschlüsselpfaden zur Behebung).
Der Bericht behält workspaceRoot als konfiguriertes Sandbox-Stammverzeichnis bei und zeigt separat den effektiven Host-Arbeitsbereich, das Arbeitsverzeichnis der Backend-Laufzeitumgebung und die Docker-Einhängetabelle an. Bei workspaceAccess: "rw" ist der effektive Host-Arbeitsbereich der Agent-Arbeitsbereich und kein Verzeichnis unterhalb von workspaceRoot.
openclaw sandbox explainopenclaw sandbox explain --session agent:main:mainopenclaw sandbox explain --agent workopenclaw sandbox explain --jsonAnders als recreate --session akzeptiert dieser Befehl kurze Sitzungsnamen (beispielsweise main) und erweitert sie anhand des aufgelösten Agent.
Warum eine Neuerstellung erforderlich ist
Das Aktualisieren der Sandbox-Konfiguration wirkt sich nicht auf laufende Container aus: Bestehende Laufzeitumgebungen behalten ihre alten Einstellungen bei, und inaktive Laufzeitumgebungen werden erst nach prune.idleHours bereinigt (standardmäßig 24h). Regelmäßig verwendete Agents können veraltete Laufzeitumgebungen unbegrenzt aktiv halten. openclaw sandbox recreate entfernt die alte Laufzeitumgebung, sodass sie bei der nächsten Verwendung anhand der aktuellen Konfiguration neu erstellt wird.
Häufige Auslöser
| Änderung | Befehl |
|---|---|
Docker-Image-Aktualisierung (agents.defaults.sandbox.docker.image) |
openclaw sandbox recreate --all |
Sandbox-Konfiguration (agents.defaults.sandbox.*) |
openclaw sandbox recreate --all |
SSH-Ziel/Authentifizierung (agents.defaults.sandbox.ssh.{target,workspaceRoot,identityFile,certificateFile,knownHostsFile,identityData,certificateData,knownHostsData}) |
openclaw sandbox recreate --all |
OpenShell-Quelle/-Richtlinie/-Modus (plugins.entries.openshell.config.{from,mode,policy}) |
openclaw sandbox recreate --all |
setupCommand |
openclaw sandbox recreate --all (oder --agent <id> für einen Agent) |
Registrierungsmigration
Die Metadaten der Sandbox-Laufzeitumgebungen befinden sich in der gemeinsam genutzten SQLite-Zustandsdatenbank. Ältere Installationen können veraltete Registrierungsdateien enthalten, die bei regulären Lesevorgängen nicht mehr neu geschrieben werden:
~/.openclaw/sandbox/containers.json~/.openclaw/sandbox/browsers.json- ein JSON-Fragment pro Container/Browser unter
~/.openclaw/sandbox/containers/oder~/.openclaw/sandbox/browsers/
Führen Sie openclaw doctor --fix aus, um gültige veraltete Einträge nach SQLite zu migrieren. Ungültige veraltete Dateien werden unter Quarantäne gestellt, damit eine beschädigte alte Registrierung keine aktuellen Laufzeitumgebungseinträge verbergen kann.
Konfiguration
Die Sandbox-Einstellungen befinden sich in ~/.openclaw/openclaw.json unter agents.defaults.sandbox (Agent-spezifische Überschreibungen werden in agents.entries.*.sandbox eingetragen):
{ "agents": { "defaults": { "sandbox": { "mode": "all", // aus, nicht Haupt-Agent, alle "backend": "docker", // docker, ssh, openshell (von Plugin bereitgestellt) "scope": "agent", // Sitzung, Agent, gemeinsam "docker": { "image": "openclaw-sandbox:bookworm-slim", "containerPrefix": "openclaw-sbx-", // ... weitere Docker-Optionen }, "prune": { "idleHours": 24, // nach 24h Leerlauf automatisch bereinigen "maxAgeDays": 7, // nach 7 Tagen automatisch bereinigen }, }, }, },}Verwandte Themen
- CLI-Referenz
- Sandboxing
- Agent-Arbeitsbereich
- Doctor: prüft die Sandbox-Einrichtung.