Isolamento
Ambiente isolato, criteri degli strumenti e privilegi elevati
Modalità con privilegi elevati
Esempi di configurazione
Esempio 1: agente personale e agente familiare con restrizioni
Esempio 1: agente personale e agente familiare con restrizioni
- Agente
main: viene eseguito sull’host con accesso completo agli strumenti. - Agente
family: viene eseguito in Docker (un contenitore per agente) e può usare soloreade inviare messaggi nella conversazione corrente.
Esempio 2: agente di lavoro con ambiente isolato condiviso
Esempio 2: agente di lavoro con ambiente isolato condiviso
Esempio 2b: profilo globale di programmazione e agente dedicato esclusivamente alla messaggistica
Esempio 2b: profilo globale di programmazione e agente dedicato esclusivamente alla messaggistica
- Gli agenti predefiniti ricevono gli strumenti di programmazione.
- L’agente
supportè dedicato esclusivamente alla messaggistica (più lo strumento Slack).
Esempio 3: modalità dell'ambiente isolato diverse per ogni agente
Esempio 3: modalità dell'ambiente isolato diverse per ogni agente
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:Profilo degli strumenti
tools.profile o agents.list[].tools.profile.Profilo degli strumenti del provider
tools.byProvider[provider].profile o agents.list[].tools.byProvider[provider].profile.Criteri globali degli strumenti
tools.allow / tools.deny.Criteri degli strumenti del provider
tools.byProvider[provider].allow/deny.Criteri degli strumenti specifici dell'agente
agents.list[].tools.allow/deny.Criteri del provider dell'agente
agents.list[].tools.byProvider[provider].allow/deny.Criteri degli strumenti dell'ambiente isolato
tools.sandbox.tools o agents.list[].tools.sandbox.tools.Criteri degli strumenti dei sottoagenti
tools.subagents.tools, se applicabile.Regole di precedenza
Regole di precedenza
- Ogni livello può limitare ulteriormente gli strumenti, ma non può ripristinare strumenti negati dai livelli precedenti.
- Se è impostato
agents.list[].tools.sandbox.tools, questo sostituiscetools.sandbox.toolsper quell’agente. - Se è impostato
agents.list[].tools.profile, questo sostituiscetools.profileper quell’agente. - Le chiavi degli strumenti del provider accettano
provider(ad esempiogoogle-antigravity) oppureprovider/model(ad esempioopenai/gpt-5.4).
Comportamento di una lista di elementi consentiti vuota
Comportamento di una lista di elementi consentiti vuota
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.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
- Prima (agente singolo)
- Dopo (multi-agente)
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
- Agente di sola lettura
- Esecuzione della shell con gli strumenti del file system disabilitati
- Solo comunicazione
Errore comune: “non-main”
Verifica
Dopo aver configurato l’ambiente isolato e gli strumenti multi-agente:Controlla la risoluzione degli agenti
Verifica i contenitori dell'ambiente isolato
Verifica le restrizioni degli strumenti
- Invia un messaggio che richieda strumenti soggetti a restrizioni.
- Verifica che l’agente non possa utilizzare gli strumenti negati.
Monitora i log
Risoluzione dei problemi
L'agente non viene eseguito in un ambiente isolato nonostante `mode: 'all'`
L'agente non viene eseguito in un ambiente isolato nonostante `mode: 'all'`
- Controlla se è presente un valore globale
agents.defaults.sandbox.modeche lo sostituisce. - La configurazione specifica dell’agente ha la precedenza, quindi imposta
agents.list[].sandbox.mode: "all".
Strumenti ancora disponibili nonostante l'elenco di esclusione
Strumenti ancora disponibili nonostante l'elenco di esclusione
- Consulta l’ordine completo di filtraggio: profilo → profilo del provider → criterio globale → criterio del provider → criterio dell’agente → criterio del provider dell’agente → sandbox → sottoagente.
- Ogni livello può solo imporre ulteriori restrizioni, non ripristinare autorizzazioni.
- Consulta Sandbox, criterio degli strumenti e modalità con privilegi elevati per il debug passo passo.
Container non isolato per agente
Container non isolato per agente
- Il valore predefinito di
scopeè"agent"(un container per ID agente). - Imposta
scope: "session"per avere un container per sessione oppurescope: "shared"per riutilizzare un container tra più agenti.
Contenuti correlati
- Modalità con privilegi elevati
- Instradamento multi-agente
- Configurazione della sandbox
- Sandbox, criterio degli strumenti e modalità con privilegi elevati — debug di “perché è bloccato?”
- Sandboxing — riferimento completo della sandbox (modalità, ambiti, backend, immagini)
- Gestione delle sessioni