Le système d’autorisation détermine quelles actions l’agent peut effectuer sans vous demander votre approbation. Vous pouvez préapprouver les actions sûres, bloquer les actions dangereuses et toujours demander une confirmation pour les opérations sensibles.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.
Comportement par défaut des autorisations
| Type d’outil | Exemple | Normal | Accept Edits | Bypass | Autonomous (sandbox) |
|---|---|---|---|---|---|
| Lecture seule | Lecture de fichiers, grep, glob | Non | Non | Non | Non |
| Fetch | Requêtes HTTP | Oui | Oui | Non | Non |
| Commandes Bash | Exécution de commandes shell | Oui | Oui | Non | Non |
Modifications de fichiers via edit/write | Modifier/écrire des fichiers | Oui | Non (dans le workspace) | Non | Oui |
edit/write nécessitent toujours une confirmation, car ces outils fonctionnent en dehors du sandbox. Autonomous n’est disponible que lorsque le sandbox au niveau du système d’exploitation est actif.
Mode Autonomous
--sandbox. En pratique, il correspond approximativement à « Accept Edits in the current workspace », avec en plus la possibilité d’exécuter n’importe quelle commande shell, les deux étant confinés par le sandbox au niveau du système d’exploitation. Lorsque le sandbox est actif :
- C’est le seul mode d’autorisation disponible. Les modes Normal, Accept Edits et Bypass sont masqués dans les sessions sandbox. Le mode Plan reste disponible.
- Les commandes shell et les opérations de récupération sont automatiquement approuvées au lieu d’afficher une demande de confirmation, car le sandbox contrôle ce qu’elles peuvent lire, écrire et atteindre sur le réseau.
- Les modifications directes de fichiers via les outils
editetwritecontinuent de demander une confirmation. Ces outils s’exécutent dans le processus CLI plutôt qu’à l’intérieur du sandbox, et ne peuvent donc pas être confinés par celui-ci. Accorder un périmètreWrite(...)dans le prompt étend dynamiquement le sandbox afin que les commandes shell suivantes puissent y écrire. - Les périmètres accordés en cours de session étendent dynamiquement le sandbox pour les commandes suivantes.
--sandbox (qui sélectionne Autonomous) lorsque vous voulez une exécution non supervisée avec des restrictions imposées par le système d’exploitation sur l’accès au système de fichiers et au réseau. Consultez la référence de configuration du sandbox pour en savoir plus sur les racines accessibles en lecture/écriture et le filtrage des domaines, ainsi que Team Settings → Sandbox Enforcement pour les contrôles au niveau Enterprise.
Fonctionnement des autorisations
- Règles de refus — Vérifiées en premier. En cas de correspondance, l’action est bloquée immédiatement.
- Règles de demande — Vérifiées en deuxième. En cas de correspondance, une confirmation vous est toujours demandée (cela prévaut sur toute règle d’autorisation).
- Règles d’autorisation — Vérifiées en dernier. En cas de correspondance, l’action s’exécute sans demander de confirmation.
- Par défaut — Si aucune règle ne correspond, une approbation vous est demandée.
Comme les refus sont vérifiés avant les demandes, et les demandes avant les autorisations, une règle de refus l’emporte toujours. Si le même périmètre correspond à la fois à une règle de refus et à une règle de demande, c’est la règle de refus qui s’applique.
Configuration
permissions de votre fichier de configuration :
Sous Windows, le chemin du fichier de configuration utilisateur est
%APPDATA%\devin\config.json (généralement C:\Users\<you>\AppData\Roaming\devin\config.json) et non ~/.config/devin/config.json. Consultez Fichier de configuration pour plus de détails.- Configuration du projet
- Configuration utilisateur
- Dérogation locale
Syntaxe des autorisations
Autorisations basées sur le périmètre
Read(glob)
Read(glob)
Contrôle l’accès en lecture aux fichiers. Le motif glob correspond aux chemins de fichiers.Les chemins de répertoire correspondent automatiquement à tous les fichiers qu’ils contiennent.
Write(glob)
Write(glob)
Contrôle l’accès en écriture et en modification des fichiers.
Exec(prefix)
Exec(prefix)
Contrôle l’exécution des commandes shell. S’applique aux commandes qui commencent par le préfixe donné.
Exec(git) correspond à “git”, “git status”, “git commit -m ‘msg’” mais PAS à “gitk” ni à “github-cli”. Le préfixe doit correspondre à un mot complet.Fetch(pattern)
Fetch(pattern)
Contrôle l’accès aux requêtes HTTP fetch à l’aide de motifs d’URL.Les motifs d’URL suivent la norme WHATWG URL Pattern. Le raccourci
domain: correspond à n’importe quel chemin sur le domaine exact.Autorisations par outil
read, edit, grep, glob, exec
Autorisations des outils du serveur MCP
| Motif | Correspond à |
|---|---|
mcp__server__tool | Un outil spécifique |
mcp__server__* | Tous les outils d’un serveur |
mcp__* | Tous les outils MCP |
Motifs de chemin
Read() et Write() prennent en charge :
| Motif | Signification |
|---|---|
* | N’importe quels caractères dans un seul segment de chemin |
** | N’importe quels caractères sur plusieurs segments de chemin (récursif) |
~ | Expansion du répertoire personnel |
Utilisez un préfixe de chemin absolu (par ex.,
Read(/**)) lorsque vous souhaitez inclure tous les fichiers du système. Un simple Read(**) sans / au début est interprété par rapport à votre répertoire de travail actuel ; il ne correspond donc qu’aux fichiers situés dans ce répertoire — et non à ceux auxquels on accède ailleurs via des chemins absolus.Options de persistance
| Option | Emplacement d’enregistrement | Partagé avec la Team ? |
|---|---|---|
| Autoriser une fois | Non enregistré | Non |
| Autoriser pour la session | En mémoire uniquement | Non |
| Autoriser pour le projet | .devin/config.json | Oui |
| Autoriser pour le projet (local) | .devin/config.local.json | Non |
| Autoriser globalement | ~/.config/devin/config.json (%APPDATA%\devin\config.json sous Windows) | Non |
Autorisations au niveau du serveur MCP
list_issues sur le serveur Figma), l’invite d’autorisation propose également des options plus larges à l’échelle du serveur :
| Option | Effet |
|---|---|
| Autoriser cet outil (cette session) | Accorde l’accès à l’outil spécifique pour la session en cours |
| Toujours autoriser cet outil | Enregistre l’autorisation pour cet outil dans la configuration |
| Autoriser tous les outils sur ce serveur (cette session) | Accorde l’accès à tous les outils du serveur pour la session |
| Toujours autoriser les outils sur ce serveur | Enregistre l’accès à tous les outils du serveur dans la configuration |
Ordre de priorité
- Settings de l’organisation/de la Team (si Enterprise)
- Autorisations au niveau de la session (approbations interactives)
- Configuration locale du projet (
.devin/config.local.json) - Configuration du projet (
.devin/config.json) - Configuration utilisateur (
~/.config/devin/config.json;%APPDATA%\devin\config.jsonsous Windows)
