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)
~/projects/my-app).
unicode_mode (solo utente)
"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)
false per disattivarli una volta che hai preso confidenza.
include_gitignored_files (solo utente)
@. 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)
.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)
Generated 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)
run_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)
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)
devin 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)
context.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)
sandbox 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)
--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).
