CLI commands

Sandbox-CLI

Status: active

Sandbox-Laufzeitumgebungen für isolierte Agent-Ausführung verwalten.

Überblick

OmeniaClaw kann Agents aus Sicherheitsgründen in isolierten Sandbox-Laufzeitumgebungen ausführen. Die sandbox-Befehle helfen Ihnen, diese Laufzeitumgebungen nach Updates oder Konfigurationsänderungen zu prüfen und neu zu erstellen.

Derzeit bedeutet das in der Regel:

  • Docker-Sandbox-Container
  • SSH-Sandbox-Laufzeitumgebungen, wenn agents.defaults.sandbox.backend = "ssh"
  • OpenShell-Sandbox-Laufzeitumgebungen, wenn agents.defaults.sandbox.backend = "openshell"

Für ssh und OpenShell remote ist das Neuerstellen wichtiger als bei Docker:

  • Der Remote-Arbeitsbereich ist nach dem initialen Seed maßgeblich
  • OmeniaClaw sandbox recreate löscht diesen maßgeblichen Remote-Arbeitsbereich für den ausgewählten Geltungsbereich
  • Bei der nächsten Verwendung wird er erneut aus dem aktuellen lokalen Arbeitsbereich befüllt

Befehle

OmeniaClaw sandbox explain

Prüfen Sie den effektiven Sandbox-Modus, Geltungsbereich, Arbeitsbereichszugriff, die Sandbox-Tool-Richtlinie und erhöhte Gates (mit Fix-it-Konfigurationsschlüsselpfaden).

bash
OmeniaClaw sandbox explainOmeniaClaw sandbox explain --session agent:main:mainOmeniaClaw sandbox explain --agent workOmeniaClaw sandbox explain --json

OmeniaClaw sandbox list

Listet alle Sandbox-Laufzeitumgebungen mit Status und Konfiguration auf.

bash
OmeniaClaw sandbox listOmeniaClaw sandbox list --browser  # List only browser containersOmeniaClaw sandbox list --json     # JSON output

Ausgabe enthält:

  • Name und Status der Laufzeitumgebung
  • Backend (docker, openshell usw.)
  • Konfigurationslabel und ob es mit der aktuellen Konfiguration übereinstimmt
  • Alter (Zeit seit Erstellung)
  • Leerlaufzeit (Zeit seit letzter Verwendung)
  • Zugeordnete Session/zugeordneter Agent

OmeniaClaw sandbox recreate

Entfernt Sandbox-Laufzeitumgebungen, um eine Neuerstellung mit aktualisierter Konfiguration zu erzwingen.

bash
OmeniaClaw sandbox recreate --all                # Recreate all containersOmeniaClaw sandbox recreate --session main       # Specific sessionOmeniaClaw sandbox recreate --agent mybot        # Specific agentOmeniaClaw sandbox recreate --browser            # Only browser containersOmeniaClaw sandbox recreate --all --force        # Skip confirmation

Optionen:

  • --all: Alle Sandbox-Container neu erstellen
  • --session <key>: Container für eine bestimmte Session neu erstellen
  • --agent <id>: Container für einen bestimmten Agent neu erstellen
  • --browser: Nur Browser-Container neu erstellen
  • --force: Bestätigungsabfrage überspringen

Anwendungsfälle

Nach dem Aktualisieren eines Docker-Images

bash
# Pull new imagedocker pull OmeniaClaw-sandbox:latestdocker tag OmeniaClaw-sandbox:latest OmeniaClaw-sandbox:bookworm-slim # Update config to use new image# Edit config: agents.defaults.sandbox.docker.image (or agents.list[].sandbox.docker.image) # Recreate containersOmeniaClaw sandbox recreate --all

Nach dem Ändern der Sandbox-Konfiguration

bash
# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*) # Recreate to apply new configOmeniaClaw sandbox recreate --all

Nach dem Ändern des SSH-Ziels oder des SSH-Authentifizierungsmaterials

bash
# Edit config:# - agents.defaults.sandbox.backend# - agents.defaults.sandbox.ssh.target# - agents.defaults.sandbox.ssh.workspaceRoot# - agents.defaults.sandbox.ssh.identityFile / certificateFile / knownHostsFile# - agents.defaults.sandbox.ssh.identityData / certificateData / knownHostsData OmeniaClaw sandbox recreate --all

Für das Core-Backend ssh löscht das Neuerstellen das Remote-Arbeitsbereichs-Root pro Geltungsbereich auf dem SSH-Ziel. Der nächste Lauf befüllt ihn erneut aus dem lokalen Arbeitsbereich.

Nach dem Ändern von OpenShell-Quelle, Richtlinie oder Modus

bash
# Edit config:# - agents.defaults.sandbox.backend# - plugins.entries.openshell.config.from# - plugins.entries.openshell.config.mode# - plugins.entries.openshell.config.policy OmeniaClaw sandbox recreate --all

Im OpenShell-remote-Modus löscht das Neuerstellen den maßgeblichen Remote-Arbeitsbereich für diesen Geltungsbereich. Der nächste Lauf befüllt ihn erneut aus dem lokalen Arbeitsbereich.

Nach dem Ändern von setupCommand

bash
OmeniaClaw sandbox recreate --all# or just one agent:OmeniaClaw sandbox recreate --agent family

Nur für einen bestimmten Agent

bash
# Update only one agent's containersOmeniaClaw sandbox recreate --agent alfred

Warum dies erforderlich ist

Wenn Sie die Sandbox-Konfiguration aktualisieren:

  • Vorhandene Laufzeitumgebungen laufen mit alten Einstellungen weiter.
  • Laufzeitumgebungen werden erst nach 24 Stunden Inaktivität bereinigt.
  • Regelmäßig verwendete Agents halten alte Laufzeitumgebungen unbegrenzt aktiv.

Verwenden Sie OmeniaClaw sandbox recreate, um das Entfernen alter Laufzeitumgebungen zu erzwingen. Sie werden bei Bedarf automatisch mit den aktuellen Einstellungen neu erstellt.

Registry-Migration

OmeniaClaw speichert Metadaten zu Sandbox-Laufzeitumgebungen als einen JSON-Shard pro Container-/Browser-Eintrag im Sandbox-Statusverzeichnis. Ältere Installationen haben möglicherweise noch monolithische Legacy-Dateien:

  • ~/.OmeniaClaw/sandbox/containers.json
  • ~/.OmeniaClaw/sandbox/browsers.json

Reguläre Lesevorgänge für Sandbox-Laufzeitumgebungen schreiben diese Dateien nicht neu. Führen Sie OmeniaClaw doctor --fix aus, um gültige Legacy-Einträge in die geshardeten Registry-Verzeichnisse zu migrieren. Ungültige Legacy-Dateien werden unter Quarantäne gestellt, damit eine fehlerhafte alte Registry keine aktuellen Laufzeiteinträge verbergen kann.

Konfiguration

Sandbox-Einstellungen befinden sich in ~/.OmeniaClaw/OmeniaClaw.json unter agents.defaults.sandbox (Überschreibungen pro Agent stehen in agents.list[].sandbox):

jsonc
{  "agents": {    "defaults": {      "sandbox": {        "mode": "all", // off, non-main, all        "backend": "docker", // docker, ssh, openshell        "scope": "agent", // session, agent, shared        "docker": {          "image": "OmeniaClaw-sandbox:bookworm-slim",          "containerPrefix": "OmeniaClaw-sbx-",          // ... more Docker options        },        "prune": {          "idleHours": 24, // Auto-prune after 24h idle          "maxAgeDays": 7, // Auto-prune after 7 days        },      },    },  },}

Verwandte Themen

Was this useful?
On this page

On this page