Percorsi dei file
Su Windows, i percorsi della configurazione utente sono
%APPDATA%\devin\config.json e %APPDATA%\devin\mcp_config.json (ad es. C:\Users\<you>\AppData\Roaming\devin\config.json), non ~\.config\devin\.I server MCP sono stati spostati nei file dedicati
mcp_config.json nella versione v3000.3 (la release Local 3.6). Le versioni precedenti li memorizzano invece nella chiave mcpServers dei file di configurazione principali; le versioni più recenti migrano automaticamente all’avvio tutte le voci mcpServers trovate lì. Vedi mcpServers.Riferimento completo della configurazione
- Configurazione utente
- Configurazione del progetto
Riferimento opzioni
Le opzioni contrassegnate con Solo utente possono essere impostate solo nella configurazione utente (
~/.config/devin/config.json; %APPDATA%\devin\config.json in Windows). Solo permissions, read_config_from e hooks sono disponibili nelle configurazioni di progetto. Anche mcpServers può essere impostato a entrambi i livelli, ma si trova nei file dedicati mcp_config.json (vedi mcpServers).agent (solo utente)
theme_mode (solo utente)
autorizzazioni
mcpServers
~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json su Windows), .devin/mcp_config.json e .devin/mcp_config.local.json. Nelle versioni precedenti, la chiave mcpServers si trova direttamente nei file di configurazione principali; le versioni più recenti la migrano automaticamente nei file dedicati all’avvio.
show_path (solo utente)
Mostra il percorso della directory di lavoro corrente nel bordo del campo di input. Quando è abilitato, il bordo superiore del campo di input mostra il CWD in formato semplificato (ad es.~/projects/my-app).
unicode_mode (solo utente)
Determina se l’interfaccia utente del terminale usa simboli Unicode o alternative compatibili con ASCII. Imposta"ascii" se il terminale o il font non visualizzano correttamente i glifi Unicode (ad es. se il simbolo ⏺ appare come un riquadro).
show_hints (solo utente)
Mostra suggerimenti occasionali tra un turno e l’altro (ad es. “Lo sapevi? Usa /model per passare da un modello disponibile all’altro”). Utile per scoprire le funzionalità della CLI; impostalo sufalse per disattivarli una volta che hai preso confidenza.
include_gitignored_files (solo utente)
Include i file ignorati da git nei risultati del completamento tab@. Quando questa opzione è abilitata, i file che corrispondono ai criteri di .gitignore compariranno nei completamenti delle menzioni @. È utile se conservi documentazione o altri file in directory ignorate da git che vuoi poter richiamare.
respect_gitignore (solo utente)
Controlla se l’agente rispetta.gitignore durante la lettura o la scrittura di file tramite i tool. Se abilitata, le chiamate ai tool che accedono a percorsi esclusi da .gitignore vengono bloccate. Questa impostazione è separata da include_gitignored_files, che influisce solo sul completamento nella tab @.
attribution (solo utente)
Controlla se l’agente aggiunge l’attribuzione a Devin nei commit e nelle pull request che crea. Quando è abilitata, il corpo dei commit e delle PR include una rigaGenerated with [Devin] e il trailer Co-Authored-By: Devin. Imposta su false per omettere entrambi, così non verrà aggiunta alcuna attribuzione a Devin.
subagents_enabled (solo utente)
Stabilisci se l’agente può delegare il lavoro ai subagent. Se disabilitata, gli strumentirun_subagent e read_subagent vengono rimossi e l’agente esegue tutto il lavoro autonomamente. La modifica di questa impostazione viene applicata in tempo reale: una sessione in esecuzione la recepisce senza dover essere riavviata.
La policy dell’organizzazione ha la precedenza: se un admin ha disabilitato i subagent per la tua org (tramite l’impostazione Default subagent model), i subagent rimangono disabilitati indipendentemente da questa impostazione.
keymap (solo utente)
Sovrascrivi le scorciatoie da tastiera predefinite della CLI. La sezione contiene una tabella di contesti (global, editor, input, list, …), ciascuno dei quali associa i nomi delle azioni ai tasti che le attivano. Le azioni non elencate mantengono le impostazioni predefinite integrate.
Una combinazione di tasti è un elenco di modificatori separati da
- (ctrl, alt, shift), seguito dal nome di un tasto (un carattere o un tasto denominato come enter, esc, tab, home, page-up, f5). L’ordine dei modificatori non è rilevante e la corrispondenza non distingue tra maiuscole e minuscole, tranne nel caso di un singolo carattere maiuscolo, che associa il tasto con Maiusc ("K" equivale a "shift-k").
global.cancel (Ctrl+C) non può essere dissociato, quindi puoi sempre interrompere un agente in esecuzione. Le voci non valide, i contesti o le azioni sconosciuti e gli override che entrerebbero in conflitto con un’altra scorciatoia nello stesso contesto vengono segnalati all’avvio e ripristinano il valore predefinito integrato.auto_update (solo utente)
Controlla l’aggiornamento automatico in background su macOS e Linux. Quando è abilitato, le nuove release vengono scaricate e attivate mentre Devin CLI è in esecuzione, così alla successiva esecuzione didevin viene usata automaticamente la versione più recente. La sessione attualmente in esecuzione non è interessata: la sostituzione del collegamento simbolico current ha effetto solo all’avvio successivo.
L’aggiornamento è progettato per essere sicuro anche in caso di interruzione: ogni passaggio sul filesystem viene preparato in un percorso temporaneo e reso effettivo con una ridenominazione atomica, mentre gli aggiornamenti concorrenti vengono serializzati tramite un lock su file. Se si esce durante l’aggiornamento, l’installazione non può rimanere in uno stato danneggiato — al successivo avvio verrà semplicemente usata la versione precedente.
Si applica solo alle installazioni gestite autonomamente (curl | bash su macOS/Linux). Le installazioni incluse in un altro prodotto (ad es. Windsurf) ignorano questa impostazione e si aggiornano tramite l’applicazione principale.
keymap (solo utente)
Sovrascrive le scorciatoie da tastiera. Gli override sono definiti in base al contesto e poi all’action: l’identificatorecontext.action mostrato per ciascuna scorciatoia in /shortcuts (ad es. editor.insert_newline):
Gli override sostituiscono completamente le impostazioni predefinite integrate per quell’action; le action non elencate mantengono le proprie impostazioni predefinite. Non è possibile rimuovere l’associazione di
Ctrl+C (annulla). Le voci non valide (nomi sconosciuti, combinazioni di tasti errate, valori di tipo errato o override in conflitto con un’altra associazione nello stesso contesto) vengono segnalate come avvisi all’avvio e ignorate; il resto della configurazione viene comunque applicato.
Una combinazione di tasti è composta da zero o più modificatori separati da -, seguiti da un nome di tasto (ad es. ctrl-shift-p, alt-enter, f5, K). Modificatori: ctrl/control/c, alt/meta/option/opt/m, shift/s. Tasti denominati: enter, esc, tab, backspace, delete, insert, up, down, left, right, home, end, page-up, page-down, space, f1–f24. Qualsiasi altro singolo carattere associa il tasto corrispondente (con distinzione tra maiuscole e minuscole: K associa Maiusc+K); usa - per il tasto meno (ctrl--).
Puoi anche riassegnare i tasti interattivamente: in /shortcuts, premi Enter su una riga di scorciatoia, quindi premi il nuovo tasto; la modifica viene salvata in questa sezione keymap. Consulta Personalizzazione delle associazioni di tasti.
notify
read_config_from
Imposta su
false per disattivare un’importazione specifica. null viene considerato come true.
proxy (solo utente)
Configura come la CLI instrada il proprio traffico HTTP/HTTPS in uscita (chiamate API, aggiornamenti, server MCP, ecc.). Questo non influisce sulla connettività di rete dei processi figlio nella sandbox (vedisandbox più sotto).
Il campo mode seleziona la strategia proxy:
Esempio — proxy aziendale:
Gli amministratori possono impostare lo stesso blocco
proxy nel file di configurazione di sistema a livello di macchina. L’impostazione Enterprise ha la precedenza; configurare un proxy in entrambi i file genera un errore — rimuovi la sezione proxy dalla tua configurazione utente se la tua organizzazione la gestisce.sandbox (solo utente)
Configura il filtraggio di rete a livello di dominio per la sandbox. Quando--sandbox è attivo e il filtraggio dei domini è configurato, viene avviato un proxy di rete gestito sull’interfaccia loopback e la sandbox limita tutto il traffico dei processi figli affinché venga instradato attraverso di esso.
Per una panoramica completa di come funziona la sandbox — inclusa l’applicazione forzata in Enterprise e come interagiscono le impostazioni Enterprise e utente — consulta la documentazione della sandbox.
--sandbox applica a livello di sistema operativo i percorsi scrivibili e le regole deny. I percorsi radice scrivibili derivano dagli ambiti Write(...) concessi più le directory del workspace; tutto il resto è leggibile, eccetto i percorsi nascosti dalle regole deny di Read(...). Gli ambiti Write(...) concessi durante la sessione espandono dinamicamente la sandbox per i comandi successivi.
Se viene passato
--sandbox ma la risoluzione della sandbox non riesce (ad es. gli strumenti di sandboxing non sono disponibili sulla piattaforma corrente), la CLI si rifiuterà di avviarsi invece di eseguirsi senza sandbox. Questo comportamento fail-closed garantisce che l’intento di sicurezza di --sandbox non venga mai eluso silenziosamente.
Sintassi dei pattern di dominio:
Esempio:
Il filtraggio dei domini si applica quando la sandbox è attiva (
--sandbox). Senza --sandbox, la sezione della sandbox viene ignorata.Per i team Enterprise, gli admin possono impostare un override per gli elenchi di domini tramite Team Settings. Le allowlist Enterprise prevalgono (sostituiscono il tuo
allowed_domains locale), mentre le denylist Enterprise sono additive (si uniscono al tuo denied_domains locale).
