Mise en bac à sable
Bac à sable, politique d’outils et mode privilégié
Mode privilégié
Exemples de configuration
Exemple 1 : agent personnel et agent familial restreint
Exemple 1 : agent personnel et agent familial restreint
- Agent
main: s’exécute sur l’hôte avec un accès complet aux outils. - Agent
family: s’exécute dans Docker (un conteneur par agent), avec uniquementreadet l’envoi de messages dans la conversation actuelle.
Exemple 2 : agent professionnel avec bac à sable partagé
Exemple 2 : agent professionnel avec bac à sable partagé
Exemple 2b : profil global de programmation et agent limité à la messagerie
Exemple 2b : profil global de programmation et agent limité à la messagerie
- Les agents par défaut disposent des outils de programmation.
- L’agent
supportest limité à la messagerie, avec en plus l’outil Slack.
Exemple 3 : différents modes de bac à sable selon l’agent
Exemple 3 : différents modes de bac à sable selon l’agent
Priorité de la configuration
Lorsque des configurations globales (agents.defaults.*) et propres à un agent (agents.list[].*) coexistent :
Configuration du bac à sable
Les paramètres propres à l’agent remplacent les paramètres globaux :agents.list[].sandbox.{docker,browser,prune}.* remplace agents.defaults.sandbox.{docker,browser,prune}.* pour cet agent (ces paramètres sont ignorés lorsque la portée du bac à sable est résolue en "shared").Restrictions des outils
L’ordre de filtrage est le suivant :Profil d’outils
tools.profile ou agents.list[].tools.profile.Profil d’outils du fournisseur
tools.byProvider[provider].profile ou agents.list[].tools.byProvider[provider].profile.Politique globale d’outils
tools.allow / tools.deny.Politique d’outils du fournisseur
tools.byProvider[provider].allow/deny.Politique d’outils propre à l’agent
agents.list[].tools.allow/deny.Politique de fournisseur de l’agent
agents.list[].tools.byProvider[provider].allow/deny.Politique d’outils du bac à sable
tools.sandbox.tools ou agents.list[].tools.sandbox.tools.Politique d’outils des sous-agents
tools.subagents.tools, le cas échéant.Règles de priorité
Règles de priorité
- Chaque niveau peut restreindre davantage les outils, mais ne peut pas réautoriser des outils refusés à un niveau antérieur.
- Si
agents.list[].tools.sandbox.toolsest défini, il remplacetools.sandbox.toolspour cet agent. - Si
agents.list[].tools.profileest défini, il remplacetools.profilepour cet agent. - Les clés d’outils de fournisseur acceptent soit
provider(par exemplegoogle-antigravity), soitprovider/model(par exempleopenai/gpt-5.4).
Comportement d’une liste d’autorisation vide
Comportement d’une liste d’autorisation vide
agents.list[].tools.allow: ["query_db"], doit échouer de manière explicite jusqu’à l’activation du Plugin qui enregistre query_db, et non continuer comme un agent limité au texte.group:*, qui sont développés en plusieurs outils. Consultez les groupes d’outils pour obtenir la liste complète.
Les remplacements du mode privilégié par agent (agents.list[].tools.elevated) peuvent restreindre davantage l’exécution privilégiée pour certains agents. Consultez la section Mode privilégié pour plus de détails.
Migration depuis un agent unique
- Avant (agent unique)
- Après (multi-agent)
agents.defaults.*/agents.list[].* (comme sandbox.perSession, agentRuntime, embeddedPi) sont migrées par openclaw doctor ; utilisez désormais de préférence agents.defaults avec agents.list.Exemples de restrictions d’outils
- Agent en lecture seule
- Exécution de commandes avec les outils de système de fichiers désactivés
- Communication uniquement
Piège courant : "non-main"
Tests
Après avoir configuré le bac à sable et les outils pour plusieurs agents :Vérifier la résolution des agents
Vérifier les conteneurs de bac à sable
Tester les restrictions d’outils
- Envoyez un message nécessitant des outils restreints.
- Vérifiez que l’agent ne peut pas utiliser les outils refusés.
Surveiller les journaux
Résolution des problèmes
L’agent n’est pas placé dans un bac à sable malgré `mode: 'all'`
L’agent n’est pas placé dans un bac à sable malgré `mode: 'all'`
- Vérifiez si un paramètre global
agents.defaults.sandbox.modele remplace. - La configuration propre à l’agent est prioritaire ; définissez donc
agents.list[].sandbox.mode: "all".
Outils toujours disponibles malgré la liste de refus
Outils toujours disponibles malgré la liste de refus
- Consultez l’ordre de filtrage complet : profil → profil du fournisseur → politique globale → politique du fournisseur → politique de l’agent → politique du fournisseur de l’agent → bac à sable → sous-agent.
- Chaque niveau peut uniquement appliquer des restrictions supplémentaires, sans réaccorder d’autorisations.
- Consultez Bac à sable, politique des outils et mode élevé pour un débogage étape par étape.
Conteneur non isolé pour chaque agent
Conteneur non isolé pour chaque agent
- La valeur par défaut de
scopeest"agent"(un conteneur par identifiant d’agent). - Définissez
scope: "session"pour utiliser un conteneur par session, ouscope: "shared"pour réutiliser un même conteneur entre plusieurs agents.
Rubriques connexes
- Mode élevé
- Routage multi-agent
- Configuration du bac à sable
- Bac à sable, politique des outils et mode élevé — débogage de « pourquoi ceci est-il bloqué ? »
- Mise en bac à sable — référence complète du bac à sable (modes, portées, backends, images)
- Gestion des sessions