Nesta página
Nesta página
Agent coordination
Sandbox e ferramentas multiagente
Cada agente em uma configuração multiagente pode substituir a política global de sandbox e ferramentas. Esta página aborda a configuração por agente, as regras de precedência e exemplos.
Backends e modos — referência completa de sandbox.
Depure "por que isso está bloqueado?"
Execução elevada para remetentes confiáveis.
Exemplos de configuração
Exemplo 1: Agente pessoal + agente familiar restrito
Resultado:
- Agente
main: é executado no host, com acesso completo às ferramentas. - Agente
family: é executado no Docker (um contêiner por agente), somente comreade envio de mensagens na conversa atual.
Exemplo 2: Agente de trabalho com sandbox compartilhada
Exemplo 2b: Perfil global de programação + agente somente para mensagens
Resultado:
- Os agentes padrão recebem ferramentas de programação.
- O agente
supporté somente para mensagens (+ ferramenta do Slack).
Exemplo 3: Modos de sandbox diferentes por agente
Precedência da configuração
Quando existem configurações globais (agents.defaults.*) e específicas do agente (agents.list[].*):
Configuração da sandbox
As configurações específicas do agente substituem as globais:
Restrições de ferramentas
A ordem de filtragem é:
Perfil de ferramentas
tools.profile ou agents.list[].tools.profile.
Perfil de ferramentas do provedor
tools.byProvider[provider].profile ou agents.list[].tools.byProvider[provider].profile.
Política global de ferramentas
tools.allow / tools.deny.
Política de ferramentas do provedor
tools.byProvider[provider].allow/deny.
Política de ferramentas específica do agente
agents.list[].tools.allow/deny.
Política de provedor do agente
agents.list[].tools.byProvider[provider].allow/deny.
Política de ferramentas da sandbox
tools.sandbox.tools ou agents.list[].tools.sandbox.tools.
Política de ferramentas de subagentes
tools.subagents.tools, se aplicável.
Regras de precedência
- Cada nível pode restringir ainda mais as ferramentas, mas não pode conceder novamente ferramentas negadas em níveis anteriores.
- Se
agents.list[].tools.sandbox.toolsestiver definido, ele substituirátools.sandbox.toolspara esse agente. - Se
agents.list[].tools.profileestiver definido, ele substituirátools.profilepara esse agente. - As chaves de ferramentas do provedor aceitam
provider(por exemplo,google-antigravity) ouprovider/model(por exemplo,openai/gpt-5.4).
Comportamento de uma lista de permissões vazia
Se qualquer lista de permissões explícita nessa cadeia deixar a execução sem ferramentas que possam ser chamadas, o OpenClaw interromperá o processo antes de enviar o prompt ao modelo. Isso é intencional: um agente configurado com uma ferramenta ausente, como agents.list[].tools.allow: ["query_db"], deve falhar de forma explícita até que o Plugin que registra query_db seja habilitado, em vez de continuar como um agente somente de texto.
As políticas de ferramentas aceitam abreviações group:* que se expandem para várias ferramentas. Consulte Grupos de ferramentas para ver a lista completa.
As substituições de modo elevado por agente (agents.list[].tools.elevated) podem restringir ainda mais a execução elevada para agentes específicos. Consulte Modo elevado para obter detalhes.
Migração de um único agente
Antes (um único agente)
Depois (multiagente)
Exemplos de restrição de ferramentas
Agente somente leitura
Execução de shell com ferramentas do sistema de arquivos desabilitadas
Somente comunicação
sessions_history neste perfil ainda retorna uma visualização de recuperação limitada e sanitizada, em vez de um despejo bruto da transcrição. A recuperação do assistente remove tags de raciocínio, estruturas auxiliares <relevant-memories>, cargas XML de chamadas de ferramentas em texto simples (incluindo <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> e blocos truncados de chamadas de ferramentas), estruturas auxiliares degradadas de chamadas de ferramentas, tokens de controle de modelo ASCII/de largura completa que tenham vazado e XML malformado de chamadas de ferramentas do MiniMax antes da ocultação/truncamento.
Armadilha comum: "non-main"
Testes
Depois de configurar a sandbox e as ferramentas multiagente:
Verificar a resolução dos agentes
Verificar os contêineres da sandbox
Testar as restrições de ferramentas
- Envie uma mensagem que exija ferramentas restritas.
- Verifique se o agente não consegue usar as ferramentas negadas.
Monitorar os logs
Solução de problemas
O agente não é executado em sandbox apesar de `mode: 'all'`
- Verifique se há um
agents.defaults.sandbox.modeglobal que o substitui. - A configuração específica do agente tem precedência, portanto defina
agents.list[].sandbox.mode: "all".
Ferramentas ainda disponíveis apesar da lista de negação
- Confira a ordem completa de filtragem: perfil → perfil do provedor → política global → política do provedor → política do agente → política do provedor do agente → sandbox → subagente.
- Cada nível só pode restringir ainda mais, não conceder novamente.
- Consulte Sandbox vs. política de ferramentas vs. modo elevado para uma depuração passo a passo.
Contêiner não isolado por agente
- O
scopepadrão é"agent"(um contêiner por ID de agente). - Defina
scope: "session"para ter um contêiner por sessão ouscope: "shared"para reutilizar um contêiner entre agentes.
Relacionados
- Modo elevado
- Roteamento multiagente
- Configuração do sandbox
- Sandbox vs. política de ferramentas vs. modo elevado — depuração de "por que isto está bloqueado?"
- Sandbox — referência completa do sandbox (modos, escopos, backends, imagens)
- Gerenciamento de sessões