Il sistema di autorizzazioni controlla quali azioni l’agente può eseguire senza chiedere la tua approvazione. Puoi pre-approvare le azioni sicure, bloccare quelle pericolose e richiedere sempre una conferma per le operazioni sensibili.Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Comportamento predefinito delle autorizzazioni
| Tipo di strumento | Esempio | Normale | Accetta modifiche | Bypass | Autonomous (sandbox) |
|---|---|---|---|---|---|
| Sola lettura | Lettura di file, grep, glob | No | No | No | No |
| Fetch | Richieste HTTP | Sì | Sì | No | No |
| Comandi Bash | Esecuzione della shell | Sì | Sì | No | No |
Modifiche ai file tramite edit/write | Modifica/scrittura di file | Sì | No (nel workspace) | No | Sì |
edit/write continuano a richiedere conferma, perché questi strumenti operano al di fuori del sandbox. La modalità Autonomous è disponibile solo quando il sandbox a livello di sistema operativo è attivo.
Modalità Autonomous
--sandbox. In pratica, corrisponde più o meno a “Accetta modifiche nel workspace corrente” con in più la possibilità di eseguire qualsiasi comando della shell, il tutto confinato nel sandbox a livello di sistema operativo. Quando il sandbox è attivo:
- È l’unica modalità di autorizzazione disponibile. Nelle sessioni sandbox, Normal, Accept Edits e Bypass sono nascosti. La modalità Plan rimane disponibile.
- I comandi della shell e i fetch vengono approvati automaticamente invece di richiedere conferma, perché il sandbox limita ciò che possono leggere, scrivere e raggiungere tramite la rete.
- Le modifiche dirette ai file tramite gli strumenti
editewritecontinuano a richiedere conferma. Questi strumenti vengono eseguiti all’interno del processo CLI anziché nel sandbox, quindi non possono esserne vincolati. Concedere un ambitoWrite(...)al prompt espande dinamicamente il sandbox, così i comandi della shell successivi possono scrivere in quella posizione. - Gli ambiti concessi nel corso della sessione espandono dinamicamente il sandbox per i comandi successivi.
--sandbox (che seleziona Autonomous) quando vuoi un’esecuzione senza supervisione con limiti imposti dal sistema operativo sull’accesso al filesystem e alla rete. Consulta il riferimento della configurazione della sandbox per i dettagli sulle radici leggibili/scrivibili e sul filtraggio dei domini, e Team Settings → Applicazione sandbox per i controlli Enterprise.
Come funzionano le autorizzazioni
- Regole di deny — Controllate per prime. Se c’è una corrispondenza, l’azione viene bloccata immediatamente.
- Regole di ask — Controllate per seconde. Se c’è una corrispondenza, ti viene sempre chiesta conferma (ha la precedenza su qualsiasi regola di autorizzazione).
- Regole di autorizzazione — Controllate per ultime. Se c’è una corrispondenza, l’azione procede senza chiedere conferma.
- Predefinito — Se nessuna regola corrisponde, ti viene chiesta l’approvazione.
Poiché le regole di deny vengono controllate prima di quelle di ask, e quelle di ask prima di quelle di autorizzazione, una regola di deny ha sempre la precedenza. Se lo stesso ambito corrisponde sia a una regola di deny sia a una regola di ask, prevale la regola di deny.
Configurazione
permissions del file di configurazione:
Su Windows, il percorso del file di configurazione dell’utente è
%APPDATA%\devin\config.json (in genere C:\Users\<you>\AppData\Roaming\devin\config.json) anziché ~/.config/devin/config.json. Per maggiori dettagli, consulta File di configurazione.- Configurazione del progetto
- Configurazione utente
- Override locale
Sintassi delle autorizzazioni
Autorizzazioni basate sull’ambito
Read(glob)
Read(glob)
Controlla l’accesso in lettura ai file. Il pattern glob corrisponde ai percorsi dei file.I percorsi di directory corrispondono automaticamente a tutti i file al loro interno.
Write(glob)
Write(glob)
Controlla l’accesso in scrittura e modifica dei file.
Exec(prefix)
Exec(prefix)
Controlla l’esecuzione dei comandi shell. Corrisponde ai comandi che iniziano con il prefisso specificato.
Exec(git) corrisponde a “git”, “git status”, “git commit -m ‘msg’” ma NON a “gitk” o “github-cli”. Il prefisso deve corrispondere a una parola completa.Fetch(pattern)
Fetch(pattern)
Controlla l’accesso HTTP fetch tramite pattern URL.I pattern URL seguono lo standard WHATWG URL Pattern. La forma abbreviata
domain: corrisponde a qualsiasi percorso sul dominio esatto.Autorizzazioni per strumento
read, edit, grep, glob, exec
Autorizzazioni per gli strumenti MCP
| Pattern | Corrispondenze |
|---|---|
mcp__server__tool | Uno strumento specifico |
mcp__server__* | Tutti gli strumenti di un server |
mcp__* | Tutti gli strumenti MCP ovunque |
Pattern di percorso
Read() e Write() supportano:
| Pattern | Significato |
|---|---|
* | Qualsiasi sequenza di caratteri in un singolo segmento del percorso |
** | Qualsiasi sequenza di caratteri attraverso più segmenti del percorso (ricorsivo) |
~ | Espansione della home directory |
Usa un prefisso di percorso assoluto (ad es.
Read(/**)) quando vuoi includere tutti i file del sistema. Un semplice Read(**) senza una / iniziale viene interpretato in relazione alla directory di lavoro corrente, quindi corrisponde solo ai file in quella directory, non ai file accessibili altrove tramite percorsi assoluti.Opzioni di persistenza
| Opzione | Dove viene salvata | Condivisa con il team? |
|---|---|---|
| Consenti una volta | Non salvata | No |
| Consenti per la sessione | Solo in memoria | No |
| Consenti per il progetto | .devin/config.json | Sì |
| Consenti per il progetto (locale) | .devin/config.local.json | No |
| Consenti globalmente | ~/.config/devin/config.json (%APPDATA%\devin\config.json in Windows) | No |
Autorizzazioni a livello di server MCP
list_issues sul server Figma), il prompt di autorizzazione offre anche opzioni più ampie a livello di server:
| Opzione | Effetto |
|---|---|
| Consenti questo strumento (questa sessione) | Concede l’accesso allo strumento specifico per la sessione corrente |
| Consenti sempre questo strumento | Salva nella configurazione l’autorizzazione per lo strumento specifico |
| Consenti tutti gli strumenti su questo server (questa sessione) | Concede l’accesso a tutti gli strumenti del server per la sessione corrente |
| Consenti sempre gli strumenti su questo server | Salva nella configurazione l’accesso a tutti gli strumenti del server |
Precedenza
- Settings dell’organizzazione/del team (se Enterprise)
- Autorizzazioni concesse a livello di sessione (approvazioni interattive)
- Configurazione locale del progetto (
.devin/config.local.json) - Configurazione del progetto (
.devin/config.json) - Configurazione utente (
~/.config/devin/config.json;%APPDATA%\devin\config.jsonsu Windows)
