Skip to main content
Questa documentazione riguarda le distribuzioni di Devin per il governo federale. Torna alla documentazione di Devin
La CLI e Desktop air-gapped si connettono agli endpoint dei modelli definiti nel tuo file dei modelli, all’emittente del provider di identità indicato nel tuo file di autenticazione e agli eventuali server MCP configurati localmente. Questa pagina descrive i requisiti di rete di queste connessioni: attendibilità TLS, un proxy facoltativo e i codici che vengono visualizzati quando una connessione non riesce.

Requisiti TLS

  • Ogni base_url dei modelli e l’issuer SSO devono usare https://. Il semplice http:// è accettato solo per gli host di loopback (localhost, 127.0.0.0/8, [::1]).
  • I certificati vengono verificati tramite l’archivio di attendibilità del sistema operativo (Security.framework su macOS, l’archivio delle CA di sistema su Linux). Se i tuoi endpoint sono firmati da una CA già installata sulla workstation, non serve alcuna configurazione aggiuntiva.
  • Se i tuoi endpoint sono firmati da una CA privata non presente nell’archivio di attendibilità del sistema operativo, aggiungila tramite DEVIN_CA_BUNDLE come descritto di seguito. La CLI non disabilita mai la verifica dei certificati.

Rendere attendibile una CA privata con DEVIN_CA_BUNDLE

DEVIN_CA_BUNDLE indica un file PEM i cui certificati sono considerati attendibili in aggiunta all’archivio di attendibilità del sistema operativo. Si applica alle richieste di inferenza, ai probe di devin airgap doctor e a ogni richiesta che la CLI invia al tuo IdP durante l’accesso SSO e la riconvalida.
1

Prepara il bundle

Inserisci in un unico file PEM i certificati root della tua CA privata (ed eventuali certificati intermedi). Il file può contenere più blocchi -----BEGIN CERTIFICATE-----.
Non è necessario che i tuoi endpoint condividano lo stesso certificato o la stessa CA. Esiste un solo bundle per l’intero processo dell’agente, valido per ogni connessione: se endpoint diversi sono firmati da CA private diverse, concatena tutte queste CA nello stesso file:
Con questo bundle, https://vllm.corp.example (firmato da corp-root-ca), https://models.ml.example (firmato da ml-platform-ca) e il tuo IdP (firmato da idp-root-ca) risultano tutti attendibili. Per gli endpoint firmati da una CA già presente nell’archivio di attendibilità del sistema operativo non serve alcuna voce. Il file dei modelli non prevede campi per certificati o TLS specifici per modello, e non è possibile usare un bundle distinto per ciascun endpoint.
2

Esporta la variabile nell'ambiente dell'agente

La variabile deve essere visibile al processo che esegue l’agente. Per la CLI da terminale, impostala nel profilo della shell di ogni utente. Per Desktop, impostala come le variabili delle chiavi API dei modelli (vedi Variabili d’ambiente delle chiavi API): aggiungila all’impostazione devin.acp.agentEnv oppure, su macOS, usa launchctl setenv DEVIN_CA_BUNDLE /etc/devin/ca-bundle.pem (open non trasmette all’app l’ambiente della tua shell).
3

Verifica con doctor

Il suffisso trusted only via DEVIN_CA_BUNDLE conferma che è il bundle a rendere attendibile l’endpoint: doctor ritenta la connessione a ogni endpoint raggiungibile usando solo l’archivio di attendibilità del sistema operativo e segnala se il tentativo non riesce a livello TLS. Se la variabile non è impostata, la riga del CA bundle riporta not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA).
Se il file non è leggibile, contiene una sezione PEM non valida o non contiene certificati, doctor segnala come non riuscito il controllo CA bundle con CFG004 e il messaggio del parser (ad esempio failed to read CA bundle '/etc/devin/ca-bundle.pem': No such file or directory). In fase di runtime la stessa condizione non è bloccante: la CLI stampa una riga warning: ignoring DEVIN_CA_BUNDLE: … e ripiega sull’archivio di attendibilità del sistema operativo. Di conseguenza, un errore di battitura nel percorso si manifesta come errori TLS NET003 verso i tuoi endpoint, anziché come errore di avvio. Correggi il bundle ed esegui di nuovo doctor.

Proxy

La CLI air-gapped gestisce il proxy in uscita allo stesso modo della Devin CLI standard. Per impostazione predefinita ("mode": "system"), rispetta le variabili d’ambiente HTTP_PROXY, HTTPS_PROXY, ALL_PROXY e NO_PROXY, nonché le impostazioni PAC/proxy automatico del sistema operativo. Per forzare l’uso di un proxy specifico o per escludere del tutto i proxy, aggiungi un blocco proxy al file di configurazione utente (config.json nella directory di configurazione condivisa di Devin; vedi Formati su disco):
no_proxy si applica in tutte le modalità e usa la stessa sintassi della variabile d’ambiente NO_PROXY. Per configurare il proxy per tutti gli utenti di un host, inserisci lo stesso blocco proxy nel file dei criteri machine-wide system.json (/etc/devin/system.json su Linux, /Library/Application Support/Devin/system.json su macOS, C:\ProgramData\Devin\system.json su Windows); se proxy è definito in entrambi i file, la CLI non si avvia finché non rimuovi la copia dell’utente. Il riferimento completo delle opzioni è disponibile nel riferimento del file di configurazione della CLI. Un proxy che termina il TLS e firma nuovamente il traffico con la propria CA è considerato una CA privata: aggiungi il suo certificato a DEVIN_CA_BUNDLE. Le connessioni continuano a raggiungere solo le destinazioni elencate all’inizio di questa pagina: il proxy cambia il percorso, non l’insieme delle destinazioni.

Timeout

Un probe che supera il proprio timeout viene segnalato come NET005.

Codici NET

devin airgap doctor associa uno di questi codici a ogni probe di endpoint non riuscito. Sono gli stessi codici che troverai nelle richieste di assistenza. Il catalogo completo è disponibile nella pagina Codici di errore.