CLI commands
CLI piaskownicy
Zarządzaj środowiskami wykonawczymi sandbox do izolowanego uruchamiania agentów.
Omówienie
OpenClaw może uruchamiać agentów w izolowanych środowiskach wykonawczych sandbox ze względów bezpieczeństwa. Polecenia sandbox pomagają sprawdzać i odtwarzać te środowiska po aktualizacjach lub zmianach konfiguracji.
Obecnie zwykle oznacza to:
- kontenery sandbox Docker
- środowiska wykonawcze sandbox SSH, gdy
agents.defaults.sandbox.backend = "ssh" - środowiska wykonawcze 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
openclaw sandbox recreateusuwa ten kanoniczny zdalny obszar roboczy dla wybranego zakresu- następne użycie ponownie zasiewa go z bieżącego lokalnego obszaru roboczego
Polecenia
openclaw sandbox explain
Sprawdź efektywny tryb/zakres/dostęp do obszaru roboczego sandbox, politykę narzędzi sandbox oraz bramki podwyższonych uprawnień (ze ścieżkami kluczy konfiguracji do naprawy).
openclaw sandbox explainopenclaw sandbox explain --session agent:main:mainopenclaw sandbox explain --agent workopenclaw sandbox explain --jsonopenclaw sandbox list
Wyświetl wszystkie środowiska wykonawcze sandbox wraz z ich stanem i konfiguracją.
openclaw sandbox listopenclaw sandbox list --browser # List only browser containersopenclaw sandbox list --json # JSON outputDane wyjściowe zawierają:
- Nazwę i stan środowiska wykonawczego
- Backend (
docker,openshellitd.) - Etykietę konfiguracji oraz informację, czy pasuje do bieżącej konfiguracji
- Wiek (czas od utworzenia)
- Czas bezczynności (czas od ostatniego użycia)
- Powiązaną sesję/agenta
openclaw sandbox recreate
Usuń środowiska wykonawcze sandbox, aby wymusić ich odtworzenie ze zaktualizowaną konfiguracją.
openclaw sandbox recreate --all # Recreate all containersopenclaw sandbox recreate --session main # Specific sessionopenclaw sandbox recreate --agent mybot # Specific agentopenclaw sandbox recreate --browser # Only browser containersopenclaw sandbox recreate --all --force # Skip confirmationOpcje:
--all: Odtwórz wszystkie kontenery sandbox--session <key>: Odtwórz kontener dla określonej sesji--agent <id>: Odtwórz kontenery dla określonego agenta--browser: Odtwórz tylko kontenery przeglądarki--force: Pomiń monit o potwierdzenie
Przypadki użycia
Po zaktualizowaniu obrazu Docker
# Pull new imagedocker pull openclaw-sandbox:latestdocker tag openclaw-sandbox:latest openclaw-sandbox:bookworm-slim # Update config to use new image# Edit config: agents.defaults.sandbox.docker.image (or agents.list[].sandbox.docker.image) # Recreate containersopenclaw sandbox recreate --allPo zmianie konfiguracji sandbox
# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*) # Recreate to apply new configopenclaw sandbox recreate --allPo zmianie celu SSH lub materiału uwierzytelniania SSH
# 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 openclaw sandbox recreate --allDla podstawowego backendu ssh odtworzenie usuwa główny katalog zdalnego 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
# Edit config:# - agents.defaults.sandbox.backend# - plugins.entries.openshell.config.from# - plugins.entries.openshell.config.mode# - plugins.entries.openshell.config.policy openclaw sandbox recreate --allW 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
openclaw sandbox recreate --all# or just one agent:openclaw sandbox recreate --agent familyTylko dla określonego agenta
# Update only one agent's containersopenclaw sandbox recreate --agent alfredDlaczego jest to potrzebne
Gdy aktualizujesz konfigurację sandbox:
- Istniejące środowiska wykonawcze nadal działają ze starymi ustawieniami.
- Środowiska wykonawcze są usuwane dopiero po 24 godzinach bezczynności.
- Regularnie używani agenci utrzymują stare środowiska wykonawcze aktywne bezterminowo.
Użyj openclaw sandbox recreate, aby wymusić usunięcie starych środowisk wykonawczych. Zostaną one automatycznie odtworzone z bieżącymi ustawieniami, gdy będą następnym razem potrzebne.
Migracja rejestru
OpenClaw przechowuje metadane środowisk wykonawczych sandbox we współdzielonej bazie stanu SQLite. Starsze instalacje mogą nadal mieć starsze pliki rejestru sandbox:
~/.openclaw/sandbox/containers.json~/.openclaw/sandbox/browsers.json
Niektóre aktualizacje mogą także mieć po jednym fragmencie JSON na kontener/przeglądarkę w ~/.openclaw/sandbox/containers/ lub ~/.openclaw/sandbox/browsers/. Zwykłe odczyty środowisk wykonawczych sandbox nie przepisują tych starszych źródeł. Uruchom openclaw doctor --fix, aby zmigrować prawidłowe starsze wpisy do SQLite. Nieprawidłowe starsze pliki są poddawane kwarantannie, aby jeden błędny stary rejestr nie mógł ukryć bieżących wpisów środowisk wykonawczych.
Konfiguracja
Ustawienia sandbox znajdują się w ~/.openclaw/openclaw.json w sekcji agents.defaults.sandbox (nadpisania dla poszczególnych agentów trafiają do agents.list[].sandbox):
{ "agents": { "defaults": { "sandbox": { "mode": "all", // off, non-main, all "backend": "docker", // docker, ssh, openshell "scope": "agent", // session, agent, shared "docker": { "image": "openclaw-sandbox:bookworm-slim", "containerPrefix": "openclaw-sbx-", // ... more Docker options }, "prune": { "idleHours": 24, // Auto-prune after 24h idle "maxAgeDays": 7, // Auto-prune after 7 days }, }, }, },}Powiązane
- Dokumentacja CLI
- Sandboxing
- Obszar roboczy agenta
- Doctor: sprawdza konfigurację sandbox.