CLI commands

CLI piaskownicy

Status: active

Zarządzaj środowiskami uruchomieniowymi sandbox na potrzeby izolowanego wykonywania agentów.

Omówienie

OmeniaClaw może uruchamiać agentów w izolowanych środowiskach uruchomieniowych sandbox dla bezpieczeństwa. Polecenia sandbox pomagają sprawdzać i odtwarzać te środowiska po aktualizacjach lub zmianach konfiguracji.

Obecnie zwykle oznacza to:

  • Kontenery sandbox Docker
  • Środowiska uruchomieniowe sandbox SSH, gdy agents.defaults.sandbox.backend = "ssh"
  • Środowiska uruchomieniowe sandbox OpenShell, gdy agents.defaults.sandbox.backend = "openshell"

Dla ssh i OpenShell remote odtworzenie ma większe znaczenie niż w przypadku Docker:

  • zdalny obszar roboczy jest kanoniczny po początkowym zasianiu
  • OmeniaClaw sandbox recreate usuwa ten kanoniczny zdalny obszar roboczy dla wybranego zakresu
  • następne użycie ponownie zasiewa go z bieżącego lokalnego obszaru roboczego

Polecenia

OmeniaClaw sandbox explain

Sprawdź efektywny tryb/zakres/dostęp do obszaru roboczego sandbox, politykę narzędzi sandbox oraz bramki podniesionych uprawnień (ze ścieżkami kluczy konfiguracji do naprawy).

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

OmeniaClaw sandbox list

Wyświetl wszystkie środowiska uruchomieniowe sandbox wraz z ich stanem i konfiguracją.

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

Dane wyjściowe obejmują:

  • Nazwę i stan środowiska uruchomieniowego
  • Backend (docker, openshell itd.)
  • Etykietę konfiguracji i informację, czy pasuje do bieżącej konfiguracji
  • Wiek (czas od utworzenia)
  • Czas bezczynności (czas od ostatniego użycia)
  • Powiązaną sesję/agenta

OmeniaClaw sandbox recreate

Usuń środowiska uruchomieniowe sandbox, aby wymusić ich odtworzenie ze zaktualizowaną konfiguracją.

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

Opcje:

  • --all: Odtwórz wszystkie kontenery sandbox
  • --session <key>: Odtwórz kontener dla konkretnej sesji
  • --agent <id>: Odtwórz kontenery dla konkretnego agenta
  • --browser: Odtwórz tylko kontenery przeglądarki
  • --force: Pomiń monit o potwierdzenie

Przypadki użycia

Po aktualizacji obrazu Docker

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

Po zmianie konfiguracji sandbox

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

Po zmianie celu SSH lub materiałów uwierzytelniania SSH

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

Dla podstawowego backendu ssh odtworzenie usuwa zdalny katalog główny obszaru roboczego dla danego zakresu na celu SSH. Następne uruchomienie ponownie zasiewa go z lokalnego obszaru roboczego.

Po zmianie źródła, polityki lub trybu OpenShell

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

W trybie OpenShell remote odtworzenie usuwa kanoniczny zdalny obszar roboczy dla tego zakresu. Następne uruchomienie ponownie zasiewa go z lokalnego obszaru roboczego.

Po zmianie setupCommand

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

Tylko dla konkretnego agenta

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

Dlaczego jest to potrzebne

Gdy aktualizujesz konfigurację sandbox:

  • Istniejące środowiska uruchomieniowe nadal działają ze starymi ustawieniami.
  • Środowiska uruchomieniowe są usuwane dopiero po 24 godzinach bezczynności.
  • Regularnie używani agenci utrzymują stare środowiska uruchomieniowe aktywne bezterminowo.

Użyj OmeniaClaw sandbox recreate, aby wymusić usunięcie starych środowisk uruchomieniowych. Zostaną one automatycznie odtworzone z bieżącymi ustawieniami, gdy będą ponownie potrzebne.

Migracja rejestru

OmeniaClaw przechowuje metadane środowiska uruchomieniowego sandbox jako jeden fragment JSON na wpis kontenera/przeglądarki w katalogu stanu sandbox. Starsze instalacje mogą nadal mieć monolityczne pliki starszego typu:

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

Zwykłe odczyty środowisk uruchomieniowych sandbox nie przepisują tych plików. Uruchom OmeniaClaw doctor --fix, aby zmigrować prawidłowe starsze wpisy do katalogów rejestru podzielonego na fragmenty. Nieprawidłowe starsze pliki są poddawane kwarantannie, aby jeden wadliwy stary rejestr nie mógł ukryć bieżących wpisów środowisk uruchomieniowych.

Konfiguracja

Ustawienia sandbox znajdują się w ~/.OmeniaClaw/OmeniaClaw.json pod agents.defaults.sandbox (nadpisania dla poszczególnych agentów trafiają do 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        },      },    },  },}

Powiązane

Was this useful?
On this page

On this page