Skip to main content
Cada agente de una configuración multiagente puede reemplazar la política global de aislamiento y herramientas. Esta página abarca la configuración por agente, las reglas de precedencia y ejemplos.

Aislamiento

Backends y modos: referencia completa del aislamiento.

Aislamiento frente a política de herramientas frente a modo elevado

Depure «¿por qué está bloqueado?»

Modo elevado

Ejecución elevada para remitentes de confianza.
La autenticación se limita por agente: cada agente tiene su propio almacén de autenticación agentDir en ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Nunca reutilice agentDir entre agentes. Los agentes pueden consultar los perfiles de autenticación del agente predeterminado/principal cuando no tienen un perfil local, pero los tokens de actualización de OAuth no se clonan en los almacenes de agentes secundarios. Si copia las credenciales manualmente, copie únicamente perfiles estáticos portátiles api_key o token.

Ejemplos de configuración

Resultado:
  • Agente main: se ejecuta en el host, con acceso completo a las herramientas.
  • Agente family: se ejecuta en Docker (un contenedor por agente), solo read y envíos de mensajes en la conversación actual.
Resultado:
  • Los agentes predeterminados obtienen herramientas de programación.
  • El agente support es solo de mensajería (+ herramienta de Slack).

Precedencia de la configuración

Cuando existen tanto configuraciones globales (agents.defaults.*) como específicas del agente (agents.entries.*.*):

Configuración del aislamiento

La configuración específica del agente reemplaza la global:
agents.entries.*.sandbox.{docker,browser,prune}.* reemplaza agents.defaults.sandbox.{docker,browser,prune}.* para ese agente (se ignora cuando el ámbito del aislamiento se resuelve como "shared").

Restricciones de herramientas

El orden de filtrado es:
1

Perfil de herramientas

tools.profile o agents.entries.*.tools.profile.
2

Perfil de herramientas del proveedor

tools.byProvider[provider].profile o agents.entries.*.tools.byProvider[provider].profile.
3

Política global de herramientas

tools.allow / tools.deny.
4

Política de herramientas del proveedor

tools.byProvider[provider].allow/deny.
5

Política de herramientas específica del agente

agents.entries.*.tools.allow/deny.
6

Política del proveedor del agente

agents.entries.*.tools.byProvider[provider].allow/deny.
7

Política de herramientas del aislamiento

tools.sandbox.tools o agents.entries.*.tools.sandbox.tools.
8

Política de herramientas del subagente

tools.subagents.tools, si corresponde.
  • Cada nivel puede restringir aún más las herramientas, pero no puede volver a conceder herramientas denegadas en niveles anteriores.
  • Si se establece agents.entries.*.tools.sandbox.tools, reemplaza tools.sandbox.tools para ese agente.
  • Si se establece agents.entries.*.tools.profile, reemplaza tools.profile para ese agente.
  • Las claves de herramientas del proveedor aceptan provider (por ejemplo, google-antigravity) o provider/model (por ejemplo, openai/gpt-5.4).
Si alguna lista de permitidos explícita de esa cadena deja la ejecución sin herramientas invocables, OpenClaw se detiene antes de enviar el prompt al modelo. Esto es intencional: un agente configurado con una herramienta ausente como agents.entries.*.tools.allow: ["query_db"] debe fallar de forma explícita hasta que se habilite el plugin que registra query_db, en lugar de continuar como agente solo de texto.
Las políticas de herramientas admiten formas abreviadas group:* que se expanden a varias herramientas. Consulte Grupos de herramientas para ver la lista completa. Las sustituciones elevadas por agente (agents.entries.*.tools.elevated) pueden restringir aún más la ejecución elevada para agentes específicos. Consulte Modo elevado para obtener más información.

Migración desde un único agente

Las claves de configuración heredadas agents.defaults.*/agents.entries.*.* (como sandbox.perSession, agentRuntime, embeddedPi) se migran mediante openclaw doctor; de ahora en adelante, se recomienda usar agents.defaults + agents.entries.

Ejemplos de restricciones de herramientas


Error común: “non-main”

agents.defaults.sandbox.mode: "non-main" comprueba la clave de sesión con respecto a la clave de la sesión principal (siempre "main"; session.mainKey no es configurable por el usuario, y OpenClaw advierte e ignora cualquier otro valor), no el identificador del agente. Las sesiones de grupo/canal siempre obtienen sus propias claves, por lo que se tratan como no principales y se aislarán. Si desea que un agente nunca se aísle, establezca agents.entries.*.sandbox.mode: "off".

Pruebas

Después de configurar el aislamiento y las herramientas multiagente:
1

Comprobar la resolución de agentes

2

Verificar los contenedores de aislamiento

3

Probar las restricciones de herramientas

  • Envíe un mensaje que requiera herramientas restringidas.
  • Compruebe que el agente no pueda usar las herramientas denegadas.
4

Supervisar los registros


Solución de problemas

  • Compruebe si existe un agents.defaults.sandbox.mode global que lo reemplace.
  • La configuración específica del agente tiene precedencia, por lo que debe establecer agents.entries.*.sandbox.mode: "all".
  • El valor predeterminado de scope es "agent" (un contenedor por id. de agente).
  • Establezca scope: "session" para usar un contenedor por sesión, o scope: "shared" para reutilizar un contenedor entre agentes.

Temas relacionados