Emplacement des fichiers
Sous Windows, le chemin du fichier de configuration utilisateur est
%APPDATA%\devin\config.json (par ex. C:\Users\<you>\AppData\Roaming\devin\config.json), et non ~\.config\devin\config.json.Référence complète de la configuration
- Configuration utilisateur
- Configuration du projet
Référence des options
Les options marquées Utilisateur uniquement ne peuvent être définies que dans la configuration utilisateur (
~/.config/devin/config.json; %APPDATA%\devin\config.json sous Windows). Seuls permissions, mcpServers, read_config_from et hooks peuvent être définis dans les configurations de projet.agent (utilisateur uniquement)
theme_mode (utilisateur uniquement)
autorisations
mcpServers
show_path (utilisateur uniquement)
Affiche le chemin du répertoire de travail actuel dans la bordure du champ de saisie. Lorsque cette option est activée, la bordure supérieure de la zone de saisie affiche votre CWD mis en forme (p. ex.~/projects/my-app).
unicode_mode (utilisateur uniquement)
Détermine si l’interface du terminal utilise des symboles Unicode ou des alternatives compatibles ASCII. Définissez cette option sur"ascii" si votre terminal ou votre police n’affiche pas correctement les glyphes Unicode (par ex. si le symbole ⏺ s’affiche comme un carré).
show_hints (utilisateur uniquement)
Affiche ponctuellement des astuces entre les échanges (par ex. « Le saviez-vous : utilisez /model pour passer d’un modèle disponible à l’autre »). Utile pour découvrir les fonctionnalités de la CLI ; définissez cette option surfalse pour ne plus les afficher une fois que vous vous êtes familiarisé avec elles.
include_gitignored_files (utilisateur uniquement)
Inclut les fichiers ignorés par Git dans les résultats de complétion de l’onglet@. Lorsqu’elle est activée, les fichiers correspondant aux règles de .gitignore apparaissent dans les complétions de mention @. Cette option est utile si vous stockez de la documentation ou d’autres fichiers dans des répertoires ignorés par Git auxquels vous souhaitez faire référence.
respect_gitignore (utilisateur uniquement)
Détermine si l’agent respecte.gitignore lorsqu’il lit ou écrit des fichiers via des outils. Lorsqu’elle est activée, les appels d’outils qui accèdent à des chemins ignorés par Git sont bloqués. Cette option est distincte de include_gitignored_files, qui n’affecte que l’autocomplétion de @ avec la touche Tab.
attribution (utilisateur uniquement)
Détermine si l’agent ajoute une attribution à Devin dans les commits et les pull requests qu’il crée. Lorsqu’elle est activée, le corps des commits et des PR inclut une ligneGenerated with [Devin] ainsi qu’un pied de page Co-Authored-By: Devin. Définissez cette option sur false pour omettre les deux, afin qu’aucune attribution à Devin ne soit ajoutée.
auto_update (utilisateur uniquement)
Contrôle la mise à jour automatique en arrière-plan sur macOS et Linux. Lorsqu’elle est activée, les nouvelles versions sont téléchargées et activées pendant l’exécution de Devin CLI, de sorte que le prochain appel àdevin utilise automatiquement la dernière version. La session en cours n’est pas affectée — le remplacement du lien symbolique current ne prend effet qu’au prochain lancement.
La mise à jour est conçue pour résister aux interruptions : chaque étape au niveau du système de fichiers est préparée dans un chemin temporaire, puis appliquée via un renommage atomique, et les processus de mise à jour concurrents sont sérialisés à l’aide d’un verrou de fichier. Quitter au milieu d’une mise à jour ne peut pas laisser l’installation dans un état défectueux — vous redémarrerez simplement sur l’ancienne version.
S’applique uniquement aux installations gérées par l’utilisateur (curl | bash sur macOS/Linux). Les installations fournies avec un autre produit (p. ex. Windsurf) ignorent ce paramètre et se mettent à jour via leur application hôte.
notify
read_config_from
Définissez l’option sur
false pour désactiver une importation spécifique. null est traité comme true.
proxy (utilisateur uniquement)
Configure la manière dont l’interface CLI achemine son propre trafic HTTP/HTTPS sortant (appels d’API, mises à jour, serveurs MCP, etc.). Cela n’affecte pas le trafic réseau des processus enfants du sandbox (voirsandbox ci-dessous).
Le champ mode sélectionne la stratégie de proxy :
Exemple — proxy d’entreprise :
sandbox (utilisateur uniquement)
Configurez le filtrage réseau au niveau des domaines pour le sandbox. Lorsque--sandbox est actif et que le filtrage de domaine est configuré, un proxy réseau géré démarre sur l’interface loopback, et le sandbox force tout le trafic des processus enfants à y transiter.
Pour une vue d’ensemble complète du fonctionnement du sandbox — y compris l’application au niveau Enterprise et la manière dont les paramètres Enterprise et utilisateur interagissent — consultez la documentation du sandbox.
--sandbox applique les périmètres d’autorisation de lecture et d’écriture actifs au niveau du système d’exploitation. Les racines accessibles en écriture sont dérivées des périmètres Write(...) accordés ainsi que des répertoires de l’espace de travail ; les racines accessibles en lecture proviennent des périmètres Read(...) (les valeurs par défaut de la plateforme restant toujours lisibles). Les périmètres accordés en cours de session étendent dynamiquement le sandbox pour les commandes suivantes.
Si
--sandbox est spécifié mais que l’initialisation du sandbox échoue (par ex., si les outils de sandboxing ne sont pas disponibles sur la plateforme actuelle), la CLI refusera de démarrer au lieu de s’exécuter sans sandbox. Ce comportement de type fail-closed garantit que l’objectif de sécurité de --sandbox n’est jamais contourné silencieusement.
Syntaxe des motifs de domaine :
Exemple :
Le filtrage des domaines s’applique lorsque le sandbox est actif (
--sandbox). Sans --sandbox, la section sandbox est ignorée.Pour les Teams Enterprise, les admins peuvent redéfinir les listes de domaines via Team Settings. Les listes d’autorisation Enterprise prévalent (elles remplacent vos
allowed_domains locaux), tandis que les listes de refus Enterprise sont additives (elles sont fusionnées avec vos denied_domains locaux).
