Livelli di configurazione
Dalla priorità più alta a quella più bassa:
Quando la stessa impostazione è definita a più livelli, ha la precedenza la fonte con priorità più alta.
I server MCP seguono la stessa precedenza, ma risiedono in file dedicati a ogni livello:
~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json su Windows), .devin/mcp_config.json e .devin/mcp_config.local.json. Nelle versioni CLI precedenti alla v3000.3 (la release Local 3.6), i server MCP sono invece archiviati nella chiave mcpServers dei file config.json; le versioni più recenti li migrano automaticamente nei file dedicati all’avvio.Quando usare ciascun livello
Configurazione utente
Configurazione utente
Percorso:
~/.config/devin/config.json (%APPDATA%\devin\config.json su Windows)Usala per le preferenze personali che si applicano ovunque:- Preferenza del modello predefinito
- Preferenza del tema
- Server MCP personali (ad es. le tue API key)
- Autorizzazioni concesse a livello globale
Configurazione del progetto
Configurazione del progetto
Percorso:
.devin/config.jsonUsala per gli standard del team salvati nel repository. Solo permissions, read_config_from e hooks sono disponibili in .devin/config.json; i server MCP vanno in .devin/mcp_config.json accanto a esso:- Server MCP condivisi (con configurazione non sensibile, in
.devin/mcp_config.json) - Criteri di autorizzazione del team
- Impostazioni di importazione
- Hook del ciclo di vita
Configurazione locale del progetto
Configurazione locale del progetto
Percorso:
.devin/config.local.jsonUsala per gli override personali che non devono essere committati:- API key e segreti (i server MCP vanno in
.devin/mcp_config.local.json) - Preferenze personali degli strumenti per questo progetto
- Override delle autorizzazioni
Settings dell'organizzazione
Settings dell'organizzazione
Gestite dall’amministratore della tua Enterprise tramite la dashboard delle impostazioni del team. Queste impostazioni non possono essere sovrascritte dai singoli utenti e applicano criteri validi per tutta l’organizzazione, come limitazioni del modello e allowlist dei server MCP.
Cosa è disponibile a ciascun livello
Le configurazioni del progetto (.devin/config.json e .devin/config.local.json) supportano solo un sottoinsieme delle impostazioni. La tabella seguente mostra quali impostazioni sono disponibili a ciascun livello (mcpServers si trova nei file dedicati mcp_config.json a ciascun livello, non in config.json):
Le impostazioni contrassegnate come disponibili solo nella configurazione utente possono essere definite solo nella configurazione utente (
~/.config/devin/config.json; %APPDATA%\devin\config.json su Windows) e non rientrano nella gerarchia di precedenza sopra descritta.
Come funziona l’unione
La tabella di precedenza sopra si applica solo alle Settings che supportano più livelli (permissions, mcpServers, read_config_from, hooks).
Autorizzazioni
Gli elenchi di autorizzazioni vengono combinati tra i vari livelli. Un divieto a un livello superiore non può essere annullato da un’autorizzazione concessa a un livello inferiore. Per esempio, se la tua organizzazione negaExec(sudo), aggiungere Exec(sudo) al tuo elenco di autorizzazioni utente non ha alcun effetto: il divieto dell’organizzazione prevale sempre. Tuttavia, altre autorizzazioni come Read(**) a livello di progetto vengono applicate normalmente.
Server MCP
Le configurazioni dei server MCP vengono combinate in base al nome. Un server definito a un livello superiore sovrascrive il server con lo stesso nome definito a un livello inferiore. Ad esempio, se sia la configurazione utente sia la configurazione del progetto definiscono un server “github”, prevale la versione della configurazione del progetto perché ha una priorità superiore rispetto alla configurazione utente.Hooks
Gli hook vengono raccolti da tutte le fonti e vengono tutti eseguiti. Un hook definito nella configurazione dell’utente viene eseguito insieme agli hook definiti nella configurazione del progetto: non si sovrascrivono a vicenda.Rilevamento della directory radice del progetto
Devin CLI individua la directory radice del progetto cercando una directory.git o .jj e risalendo dalla directory di lavoro corrente. La configurazione del progetto (.devin/) viene caricata dalla directory radice del progetto.
Se hai directory
.devin/ annidate (ad es. in un monorepo), le configurazioni delle sottodirectory hanno la precedenza su quelle delle directory padre.Riepilogo del rilevamento dei file
Windows: I percorsi mostrati come
~/.config/devin/ usano la convenzione XDG per Linux/macOS. In Windows, corrispondono a %APPDATA%\devin\ (in genere C:\Users\<YourUser>\AppData\Roaming\devin\).
