Documentazione
GitHub Copilot CLI
Il percorso BYOK di Copilot CLI richiede quattro variabili d’ambiente e, secondo la documentazione di GitHub, non richiede alcun accesso a GitHub. Indirizzalo a Kunavo e l’agente userà un saldo prepagato anziché gli AI Credits; /delegate, il server MCP di GitHub e GitHub Code Search continueranno invece a richiedere quell’accesso.
Quattro variabili d'ambiente — COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_TYPE, COPILOT_PROVIDER_API_KEY e COPILOT_MODEL — portano Copilot CLI sul tuo endpoint, e GitHub documenta che BYOK non richiede un accesso GitHub.
# Set before you start Copilot CLI. Variable names and order are GitHub's;
# COPILOT_PROVIDER_BASE_URL and COPILOT_MODEL are the two marked Required.
export COPILOT_PROVIDER_BASE_URL=https://api.kunavo.com/v1 # see the note below
export COPILOT_PROVIDER_TYPE=openai # the default, shown for clarity
export COPILOT_PROVIDER_API_KEY=sk-kn-...
export COPILOT_MODEL=claude-sonnet-5
copilot/v1 è quindi un caso pratico, non una regola. La pagina BYOK definisce il campo solo come «URL di base dell’endpoint API del provider di modelli» e gli esempi forniti puntano in entrambe le direzioni: quello remoto compatibile con OpenAI è https://api.openai.com/v1, mentre quelli di Ollama e Anthropic sono origini senza percorso. Questa pagina usa la forma remota compatibile con OpenAI, perché è quella di Kunavo. Se le richieste restituiscono 404, il suffisso è stato duplicato: rimuovilo e usa https://api.kunavo.com. Un 401 riguarda la chiave, non l’URL; il controllo curl qui sotto permette di distinguere i due casi prima di diagnosticare la CLI.~/.copilot/providers.json residuo prevale silenziosamente su queste esportazioni. Il riferimento GitHub alla directory di configurazione afferma che, se quel file dichiara un provider o un modello, prevale sulle variabili COPILOT_PROVIDER_*, definite legacy; la guida BYOK, invece, non menziona mai il file. Se la CLI ignora l’URL di base appena esportato, controlla prima quel file. Lo stesso riferimento descrive il file solo come un oggetto JSON con chiavi providers e models e non pubblica alcuno schema, quindi qui non viene mostrato alcun esempio; per maggiori informazioni GitHub rimanda a copilot help providers./delegate sono funzionalità gestite da GitHub che un provider BYOK non sostituisce. GitHub specifica che non sono disponibili senza accesso; puoi mantenerle accedendo e configurando contemporaneamente un provider.sk-kn-) e aggiungi credito da $10: le chiamate vengono pagate con quel saldo e le chiamate non riuscite non vengono addebitate. La dashboard si apre quindi sulla configurazione GitHub Copilot CLI.Passo dopo passo
- Crea una chiave su
/app/keyse copiala: viene mostrata una sola volta. - Controlla la presenza di un
~/.copilot/providers.jsonobsoleto, o di qualsiasi file a cui puntiCOPILOT_PROVIDERS_CONFIG. Se dichiara un provider o un modello, prevale su tutto ciò che viene impostato al passaggio 3. - Esporta
COPILOT_PROVIDER_BASE_URL,COPILOT_PROVIDER_API_KEYeCOPILOT_MODELcome indicato sopra.COPILOT_PROVIDER_TYPEha come valore predefinitoopenai, che GitHub descrive come compatibile con «qualsiasi altro endpoint compatibile con l’API OpenAI Chat Completions». - Avvia
copilotdalla stessa shell: queste variabili vengono lette all’avvio, quindi un terminale aperto in precedenza conserverà i vecchi valori. - Assegnagli un’attività che legga e modifichi un file. Copilot CLI richiede che il modello supporti l’uso degli strumenti e lo streaming; una prima esecuzione che verifichi entrambi ti dirà più di un semplice saluto.
--modelsostituisceCOPILOT_MODELper una singola esecuzione, se vuoi confrontare due ID.
Verificato rispetto a «Using your own LLM models in GitHub Copilot CLI» di GitHub il 21 settembre 2026. Le impostazioni di terze parti cambiano; se il nome di un campo qui non corrisponde più a quello visualizzato, fa fede quella pagina, non questa.
Verifica prima di eseguire il debug del client
Una sola richiesta stabilisce se il problema riguarda l'endpoint, la chiave o il file di configurazione. Se restituisce JSON, lo stesso base URL e la stessa chiave funzionano in GitHub Copilot CLI.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."Quale model id inserire nel campo
Ogni modello di testo è raggiungibile come model id: l'elenco aggiornato è GET /v1/models e il catalogo con i prezzi è nella pagina dei modelli. Le tariffe sono in USD per 1M di token, input / output.
| ID del modello | Kunavo ingresso / uscita | Dove si inserisce in GitHub Copilot CLI |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | il modello di lavoro predefinito per le sessioni che modificano file |
claude-opus-5 | $3.50 / $17.50 | pianificare una modifica che sarebbe costosa se andasse male |
claude-haiku-4-5 | $0.70 / $3.50 | turni economici: triage, riepiloghi, il ciclo che gira tutto il giorno |
gpt-5-6-sol | $2.00 / $12.00 | un secondo parere da un’altra famiglia, con la stessa chiave e lo stesso URL di base |
L’altra opzione: COPILOT_PROVIDER_TYPE=anthropic
GitHub documenta tre tipi di provider e Kunavo supporta due dei formati wire corrispondenti: /v1/chat/completions per openai e /v1/messages per anthropic. L’esempio Anthropic nella pagina di GitHub richiede quattro esportazioni e usa come URL di base l’origine senza percorso https://api.anthropic.com:
COPILOT_PROVIDER_TYPE=anthropicCOPILOT_PROVIDER_BASE_URL— seguendo la forma dell’esempio GitHub,https://api.kunavo.comsenza suffisso, perché la route ufficiale di Anthropic si trova in/v1/messagessotto quell’origine e Kunavo la replica. Vale la stessa precisazione di sopra: GitHub mostra un esempio, non una regola.COPILOT_PROVIDER_API_KEY— la tua chiavesk-kn-. La superficie Messages di Kunavo la accetta sia comex-api-keysia comeAuthorization: Bearer, quindi verrà letta qualsiasi intestazione scelga la CLI.COPILOT_MODEL— l’ID previsto dal tuo provider. L’esempio GitHub usa una grafia con trattini tipica di Anthropic, mentre il suo elenco dei modelli supportati scrive le stesse famiglie con i punti; con BYOK, l’ID viene inviato al tuo endpoint, quindi usa la grafia indicata nella tabella qui sopra.
Perché questa pagina dà priorità al tipo openai: la documentazione GitHub non specifica se il percorso BYOK di Anthropic inoltri cache_control, anthropic-beta o un particolare anthropic-version. Questo incide sui costi quando il contesto viene riutilizzato; vedi la memorizzazione nella cache dei prompt. Non intendiamo fare supposizioni su una risposta non documentata. Il tipo openai non presenta questa incertezza, quindi è quello per cui è fornito un blocco di configurazione completo.
Domande frequenti
Come posso indirizzare GitHub Copilot CLI a un endpoint API personalizzato?
Imposta le variabili d’ambiente prima di avviare la CLI. La pagina BYOK di GitHub ne indica due come obbligatorie: COPILOT_PROVIDER_BASE_URL e COPILOT_MODEL; aggiunge COPILOT_PROVIDER_API_KEY per gli endpoint che richiedono autenticazione. COPILOT_PROVIDER_TYPE ha come valore predefinito openai, descritto da GitHub come compatibile con OpenAI, Ollama, vLLM, Foundry Local e qualsiasi altro endpoint compatibile con l’API OpenAI Chat Completions; gli altri valori sono azure e anthropic. GitHub documenta altrove un’avvertenza: se ~/.copilot/providers.json dichiara un provider o un modello, prevale su tutte queste variabili.
L’URL di base di Copilot CLI deve terminare con /v1?
La documentazione GitHub non chiarisce questo punto. Il campo è definito solo come «URL di base dell’endpoint API del provider di modelli» e gli esempi della pagina puntano in entrambe le direzioni: l’esempio remoto compatibile con OpenAI è https://api.openai.com/v1, mentre quelli di Ollama e Anthropic sono origini senza percorso. Per un endpoint compatibile con OpenAI, inizia con la forma mostrata da GitHub per quel caso: https://api.kunavo.com/v1. Se le richieste restituiscono un 404 anziché un 401, il suffisso è stato duplicato: rimuovilo. Un 404 indica un problema con l’URL, un 401 con la chiave; una semplice richiesta curl allo stesso URL di base permette di distinguerli prima di diagnosticare la CLI.
Il BYOK di GitHub Copilot CLI richiede un account GitHub?
No. La documentazione di autenticazione di GitHub specifica che, quando Copilot CLI è configurata con la chiave API del tuo provider LLM, non è necessario autenticarsi a GitHub e la CLI si connette direttamente al provider configurato. Tre funzionalità non saranno quindi disponibili: /delegate, il server MCP di GitHub e GitHub Code Search. Puoi anche accedere e configurare un provider contemporaneamente per mantenere entrambe le opzioni. GitHub documenta inoltre COPILOT_OFFLINE=true per gli ambienti in cui la CLI non deve contattare affatto i server GitHub. La rete è isolata solo se il provider è locale, perché un URL di base remoto riceve comunque i tuoi prompt e il contesto del codice.
Kunavo ha testato GitHub Copilot CLI sul proprio endpoint?
No. La configurazione in questa pagina è tratta dalla documentazione BYOK ufficiale di GitHub alla data indicata; nessuna informazione deriva da test in esecuzione: né una sessione, né un turno in streaming, né un ciclo completo di interazione con gli strumenti. Lo stesso vale per tutti gli altri client documentati qui. GitHub richiede che un modello BYOK supporti l’uso degli strumenti e lo streaming, altrimenti restituisce un errore. La verifica iniziale più affidabile è quindi eseguire un’attività che legga e modifichi un file, usando gli addebiti registrati e il comportamento della CLI come riscontro, anziché questa pagina.