CLI commands
CLI piaskownicy
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 recreateusuwa 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).
OmeniaClaw sandbox explainOmeniaClaw sandbox explain --session agent:main:mainOmeniaClaw sandbox explain --agent workOmeniaClaw sandbox explain --jsonOmeniaClaw sandbox list
Wyświetl wszystkie środowiska uruchomieniowe sandbox wraz z ich stanem i konfiguracją.
OmeniaClaw sandbox listOmeniaClaw sandbox list --browser # List only browser containersOmeniaClaw sandbox list --json # JSON outputDane wyjściowe obejmują:
- Nazwę i stan środowiska uruchomieniowego
- Backend (
docker,openshellitd.) - 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ą.
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 confirmationOpcje:
--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
# 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 --allPo zmianie konfiguracji sandbox
# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*) # Recreate to apply new configOmeniaClaw sandbox recreate --allPo zmianie celu SSH lub materiałów 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 OmeniaClaw sandbox recreate --allDla 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
# Edit config:# - agents.defaults.sandbox.backend# - plugins.entries.openshell.config.from# - plugins.entries.openshell.config.mode# - plugins.entries.openshell.config.policy OmeniaClaw 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
OmeniaClaw sandbox recreate --all# or just one agent:OmeniaClaw sandbox recreate --agent familyTylko dla konkretnego agenta
# Update only one agent's containersOmeniaClaw sandbox recreate --agent alfredDlaczego 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):
{ "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
- Dokumentacja CLI
- Sandboxing
- Obszar roboczy agenta
- Doctor: sprawdza konfigurację sandbox.