Skip to main content
Ogni agente in una configurazione multi-agente può sostituire le impostazioni globali dell’ambiente isolato e dei criteri degli strumenti. Questa pagina illustra la configurazione per agente, le regole di precedenza e alcuni esempi.

Isolamento

Backend e modalità — riferimento completo per l’ambiente isolato.

Ambiente isolato, criteri degli strumenti e privilegi elevati

Esegui il debug di «perché questa operazione è bloccata?»

Modalità con privilegi elevati

Esecuzione con privilegi elevati per mittenti attendibili.
L’autenticazione è limitata all’ambito dell’agente: ogni agente dispone di un proprio archivio di autenticazione agentDir in ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Non riutilizzare mai agentDir tra agenti diversi. Gli agenti possono accedere in lettura ai profili di autenticazione dell’agente predefinito/principale quando non dispongono di un profilo locale, ma i token di aggiornamento OAuth non vengono clonati negli archivi degli agenti secondari. Se copi manualmente le credenziali, copia solo profili statici portabili api_key o token.

Esempi di configurazione

Risultato:
  • Agente main: viene eseguito sull’host con accesso completo agli strumenti.
  • Agente family: viene eseguito in Docker (un contenitore per agente) e può usare solo read e inviare messaggi nella conversazione corrente.
Risultato:
  • Gli agenti predefiniti ricevono gli strumenti di programmazione.
  • L’agente support è dedicato esclusivamente alla messaggistica (più lo strumento Slack).

Precedenza della configurazione

Quando sono presenti sia configurazioni globali (agents.defaults.*) sia configurazioni specifiche dell’agente (agents.list[].*):

Configurazione dell’ambiente isolato

Le impostazioni specifiche dell’agente sostituiscono quelle globali:
agents.list[].sandbox.{docker,browser,prune}.* sostituisce agents.defaults.sandbox.{docker,browser,prune}.* per quell’agente (viene ignorato quando l’ambito dell’ambiente isolato viene risolto come "shared").

Restrizioni degli strumenti

L’ordine di applicazione dei filtri è il seguente:
1

Profilo degli strumenti

tools.profile o agents.list[].tools.profile.
2

Profilo degli strumenti del provider

tools.byProvider[provider].profile o agents.list[].tools.byProvider[provider].profile.
3

Criteri globali degli strumenti

tools.allow / tools.deny.
4

Criteri degli strumenti del provider

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

Criteri degli strumenti specifici dell'agente

agents.list[].tools.allow/deny.
6

Criteri del provider dell'agente

agents.list[].tools.byProvider[provider].allow/deny.
7

Criteri degli strumenti dell'ambiente isolato

tools.sandbox.tools o agents.list[].tools.sandbox.tools.
8

Criteri degli strumenti dei sottoagenti

tools.subagents.tools, se applicabile.
  • Ogni livello può limitare ulteriormente gli strumenti, ma non può ripristinare strumenti negati dai livelli precedenti.
  • Se è impostato agents.list[].tools.sandbox.tools, questo sostituisce tools.sandbox.tools per quell’agente.
  • Se è impostato agents.list[].tools.profile, questo sostituisce tools.profile per quell’agente.
  • Le chiavi degli strumenti del provider accettano provider (ad esempio google-antigravity) oppure provider/model (ad esempio openai/gpt-5.4).
Se una lista esplicita di strumenti consentiti nella catena non lascia alcuno strumento richiamabile per l’esecuzione, OpenClaw si arresta prima di inviare il prompt al modello. Questo comportamento è intenzionale: un agente configurato con uno strumento mancante, ad esempio agents.list[].tools.allow: ["query_db"], deve generare un errore evidente finché non viene abilitato il Plugin che registra query_db, anziché continuare come agente di solo testo.
I criteri degli strumenti supportano abbreviazioni group:* che si espandono in più strumenti. Consulta Gruppi di strumenti per l’elenco completo. Le sostituzioni per agente relative ai privilegi elevati (agents.list[].tools.elevated) possono limitare ulteriormente l’esecuzione con privilegi elevati per agenti specifici. Consulta Modalità con privilegi elevati per i dettagli.

Migrazione da un singolo agente

Le chiavi di configurazione precedenti agents.defaults.*/agents.list[].* (come sandbox.perSession, agentRuntime, embeddedPi) vengono migrate da openclaw doctor; d’ora in avanti, preferisci agents.defaults + agents.list.

Esempi di restrizioni degli strumenti


Errore comune: “non-main”

agents.defaults.sandbox.mode: "non-main" confronta la chiave della sessione con la chiave della sessione principale (sempre "main"; session.mainKey non è configurabile dall’utente e OpenClaw avvisa e ignora qualsiasi altro valore), non con l’ID dell’agente. Le sessioni di gruppo/canale ricevono sempre chiavi proprie, quindi vengono considerate non principali e saranno eseguite in un ambiente isolato. Se vuoi che un agente non venga mai eseguito in un ambiente isolato, imposta agents.list[].sandbox.mode: "off".

Verifica

Dopo aver configurato l’ambiente isolato e gli strumenti multi-agente:
1

Controlla la risoluzione degli agenti

2

Verifica i contenitori dell'ambiente isolato

3

Verifica le restrizioni degli strumenti

  • Invia un messaggio che richieda strumenti soggetti a restrizioni.
  • Verifica che l’agente non possa utilizzare gli strumenti negati.
4

Monitora i log


Risoluzione dei problemi

  • Controlla se è presente un valore globale agents.defaults.sandbox.mode che lo sostituisce.
  • La configurazione specifica dell’agente ha la precedenza, quindi imposta agents.list[].sandbox.mode: "all".
  • Il valore predefinito di scope è "agent" (un container per ID agente).
  • Imposta scope: "session" per avere un container per sessione oppure scope: "shared" per riutilizzare un container tra più agenti.

Contenuti correlati