Skip to main content
Cette documentation concerne les déploiements fédéraux de Devin. Retour à la documentation Devin
La CLI et Desktop en air gap se connectent aux endpoints des modèles définis dans votre fichier de modèles, à l’émetteur du fournisseur d’identité indiqué dans votre fichier d’authentification, ainsi qu’aux serveurs MCP que vous configurez localement. Cette page présente les exigences de ces connexions vis-à-vis de votre réseau : la confiance TLS, un proxy facultatif et les codes affichés en cas d’échec de connexion.

Exigences TLS

  • Chaque base_url de modèle ainsi que l’issuer SSO doivent utiliser https://. Le protocole http:// non chiffré n’est accepté que pour les hôtes de bouclage (localhost, 127.0.0.0/8, [::1]).
  • Les certificats sont vérifiés à l’aide du magasin de certificats de confiance du système d’exploitation (Security.framework sur macOS, le magasin d’autorités de certification du système sur Linux). Si vos endpoints sont signés par une autorité de certification déjà installée sur le poste de travail, aucune configuration supplémentaire n’est nécessaire.
  • Si vos endpoints sont signés par une autorité de certification privée qui ne figure pas dans le magasin de certificats de confiance du système d’exploitation, ajoutez-la via DEVIN_CA_BUNDLE comme indiqué ci-dessous. La CLI ne désactive jamais la vérification des certificats.

Faire confiance à une autorité de certification privée avec DEVIN_CA_BUNDLE

DEVIN_CA_BUNDLE désigne un fichier PEM dont les certificats sont approuvés en plus de ceux du magasin de certificats de confiance du système d’exploitation. Il s’applique aux requêtes d’inférence, aux sondes de devin airgap doctor et à toutes les requêtes que la CLI envoie à votre IdP lors de la connexion SSO (authentification unique) et de la revalidation.
1

Assembler le paquet

Regroupez les certificats racine (et, le cas échéant, intermédiaires) de votre autorité de certification privée dans un seul fichier PEM. Le fichier peut contenir plusieurs blocs -----BEGIN CERTIFICATE-----.
Vos endpoints n’ont pas besoin de partager le même certificat ni la même autorité de certification. Un seul paquet s’applique à l’ensemble du processus de l’agent et à toutes ses connexions : si vos endpoints sont signés par des autorités de certification privées différentes, concaténez-les toutes dans le même fichier :
Avec ce paquet, https://vllm.corp.example (signé par corp-root-ca), https://models.ml.example (signé par ml-platform-ca) et votre IdP (signé par idp-root-ca) sont tous approuvés. Les endpoints signés par une autorité de certification déjà présente dans le magasin de certificats de confiance du système d’exploitation ne nécessitent aucune entrée. Le fichier des modèles ne comporte aucun champ de certificat ou TLS par modèle, et il n’est pas possible d’utiliser un paquet distinct par endpoint.
2

Exporter la variable dans l’environnement de l’agent

La variable doit être visible par le processus qui exécute l’agent. Pour la CLI dans le terminal, définissez-la dans le profil de shell de chaque utilisateur. Pour Desktop, procédez comme pour les variables de clé d’API des modèles (voir Variables d’environnement des clés d’API) : ajoutez-la au paramètre devin.acp.agentEnv ou, sous macOS, utilisez launchctl setenv DEVIN_CA_BUNDLE /etc/devin/ca-bundle.pem (open ne transmet pas l’environnement de votre shell à l’application).
3

Vérifier avec doctor

Le suffixe trusted only via DEVIN_CA_BUNDLE confirme que c’est bien grâce au paquet que l’endpoint est approuvé : doctor réessaie chaque endpoint joignable avec le seul magasin de certificats de confiance du système d’exploitation et indique si cette tentative échoue au niveau TLS. Si la variable n’est pas définie, la ligne du paquet d’autorités de certification affiche not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA).
Si le fichier est illisible, contient une section PEM invalide ou ne contient aucun certificat, doctor signale l’échec de la vérification CA bundle avec CFG004 et le message de l’analyseur (par exemple failed to read CA bundle '/etc/devin/ca-bundle.pem': No such file or directory). À l’exécution, ce même problème n’est pas bloquant : la CLI affiche une ligne warning: ignoring DEVIN_CA_BUNDLE: … et se rabat sur le magasin de certificats de confiance du système d’exploitation. Une faute de frappe dans le chemin se manifeste donc par des échecs TLS NET003 sur vos endpoints, et non par une erreur au démarrage. Corrigez le paquet, puis relancez doctor.

Proxy

La CLI en air gap gère le proxy sortant de la même manière que la Devin CLI Standard. Par défaut ("mode": "system"), elle prend en compte les variables d’environnement HTTP_PROXY, HTTPS_PROXY, ALL_PROXY et NO_PROXY, ainsi que les paramètres PAC/proxy automatique du système d’exploitation. Pour imposer un proxy spécifique ou contourner complètement les proxys, ajoutez un bloc proxy au fichier de configuration utilisateur (config.json dans le répertoire de configuration partagé de Devin ; voir Formats sur disque) :
no_proxy s’applique dans tous les modes et utilise la même syntaxe que la variable d’environnement NO_PROXY. Pour définir le proxy pour tous les utilisateurs d’un hôte, placez le même bloc proxy dans le fichier de stratégie à l’échelle de la machine system.json (/etc/devin/system.json sous Linux, /Library/Application Support/Devin/system.json sous macOS, C:\ProgramData\Devin\system.json sous Windows) ; si les deux fichiers définissent proxy, la CLI refuse de démarrer tant que vous n’avez pas supprimé la copie de niveau utilisateur. La référence complète des options se trouve dans la référence du fichier de configuration de la CLI. Un proxy qui termine la connexion TLS et re-signe le trafic avec sa propre autorité de certification (CA) est considéré comme une CA privée : ajoutez son certificat à DEVIN_CA_BUNDLE. Les connexions restent limitées aux destinations répertoriées en haut de cette page ; le proxy modifie le chemin emprunté, pas l’ensemble des destinations.

Délais d’expiration

Une sonde qui dépasse son délai d’expiration est signalée par le code NET005.

Codes NET

devin airgap doctor associe l’un de ces codes à chaque sonde d’endpoint en échec. Ce sont également les codes que vous verrez dans les demandes d’assistance. Le catalogue complet est disponible sur la page Codes d’erreur.