Sandbox CLI
Sandbox CLI
Section intitulée « Sandbox CLI »Gérez les runtimes de bac à sable pour l’exécution isolée des agents.
Overview
Section intitulée « Overview »OpenClaw peut exécuter des agents dans des runtimes de bac à sable isolés pour la sécurité. Les commandes sandbox vous aident à inspecter et recréer ces runtimes après des mises à jour ou des modifications de configuration.
Aujourd’hui, cela signifie généralement :
- Conteneurs de bac à sable Docker
- Runtimes de bac à sable SSH lorsque
agents.defaults.sandbox.backend = "ssh" - Runtimes de bac à sable OpenShell lorsque
agents.defaults.sandbox.backend = "openshell"
Pour ssh et OpenShell remote, la recréation est plus importante qu’avec Docker :
- l’espace de travail distant est canonique après l’amorçage initial
openclaw sandbox recreatesupprime cet espace de travail distant canonique pour la portée sélectionnée- la prochaine utilisation l’amorce à nouveau à partir de l’espace de travail local actuel
Commandes
Section intitulée « Commandes »openclaw sandbox explain
Section intitulée « openclaw sandbox explain »Inspectez le mode/la portée/l’accès à l’espace de travail de bac à sable effectif, la stratégie d’outil de bac à sable et les portées élevées (avec les chemins de clé de configuration de réparation).
openclaw sandbox explainopenclaw sandbox explain --session agent:main:mainopenclaw sandbox explain --agent workopenclaw sandbox explain --jsonopenclaw sandbox list
Section intitulée « openclaw sandbox list »Listez tous les runtimes de bac à sable avec leur statut et leur configuration.
openclaw sandbox listopenclaw sandbox list --browser # List only browser containersopenclaw sandbox list --json # JSON outputLa sortie comprend :
- Nom et statut du runtime
- Backend (
docker,openshell, etc.) - Libellé de configuration et s’il correspond à la configuration actuelle
- Âge (temps écoulé depuis la création)
- Temps d’inactivité (temps écoulé depuis la dernière utilisation)
- Session/agent associé
openclaw sandbox recreate
Section intitulée « openclaw sandbox recreate »Supprimez les runtimes de bac à sable pour forcer leur recréation avec une configuration mise à jour.
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 confirmationOptions :
--all: Recréer tous les conteneurs de bac à sable--session <key>: Recréer le conteneur pour une session spécifique--agent <id>: Recréer les conteneurs pour un agent spécifique--browser: Recréer uniquement les conteneurs de navigateur--force: Ignorer l’invite de confirmation
Important : Les runtimes sont automatiquement recréés lors de la prochaine utilisation de l’agent.
Cas d’usage
Section intitulée « Cas d’usage »Après avoir mis à jour une image Docker
Section intitulée « Après avoir mis à jour une image 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 --allAprès avoir modifié la configuration du bac à sable
Section intitulée « Après avoir modifié la configuration du bac à sable »# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*)
# Recreate to apply new configopenclaw sandbox recreate --allAprès avoir modifié la cible SSH ou le matériel d’authentification SSH
Section intitulée « Après avoir modifié la cible SSH ou le matériel d’authentification 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 --allPour le backend principal ssh, recreate supprime la racine de l’espace de travail distant par portée sur la cible SSH. La prochaine exécution l’ensemence à nouveau à partir de l’espace de travail local.
Après avoir modifié la source, la stratégie ou le mode d’OpenShell
Section intitulée « Après avoir modifié la source, la stratégie ou le mode d’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 --allPour le mode remote d’OpenShell, recreate supprime l’espace de travail distant canonique pour cette portée. La prochaine exécution l’ensemence à nouveau à partir de l’espace de travail local.
Après avoir modifié setupCommand
Section intitulée « Après avoir modifié setupCommand »openclaw sandbox recreate --all# or just one agent:openclaw sandbox recreate --agent familyPour un agent spécifique uniquement
Section intitulée « Pour un agent spécifique uniquement »# Update only one agent's containersopenclaw sandbox recreate --agent alfredPourquoi est-ce nécessaire ?
Section intitulée « Pourquoi est-ce nécessaire ? »Problème : Lorsque vous mettez à jour la configuration du bac à sable :
- Les runtimes existants continuent de fonctionner avec les anciens paramètres
- Les runtimes ne sont supprimés qu’après 24h d’inactivité
- Les agents utilisés régulièrement gardent les anciens runtimes actifs indéfiniment
Solution : Utilisez openclaw sandbox recreate pour forcer la suppression des anciens runtimes. Ils seront recréés automatiquement avec les paramètres actuels lors de la prochaine utilisation.
Astuce : préférez openclaw sandbox recreate au nettoyage manuel spécifique au backend.
Il utilise le registre des runtimes du Gateway et évite les inadéquations lorsque les clés de portée/session changent.
Configuration
Section intitulée « Configuration »Les paramètres du bac à sable se trouvent dans ~/.openclaw/openclaw.json sous agents.defaults.sandbox (les remplacements par agent vont dans 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 }, }, }, },}Voir aussi
Section intitulée « Voir aussi »- Documentation Sandbox
- Configuration de l’agent
- Commande Doctor - Vérifier la configuration du bac à sable