Documentación
GitHub Copilot CLI
La opción BYOK de Copilot CLI requiere cuatro variables de entorno y, según la propia documentación de GitHub, no requiere iniciar sesión en GitHub. Conéctalo a Kunavo para que el agente use un saldo prepago en lugar de AI Credits, mientras que /delegate, el servidor MCP de GitHub y GitHub Code Search siguen requiriendo ese inicio de sesión.
Cuatro variables de entorno — COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_TYPE, COPILOT_PROVIDER_API_KEY y COPILOT_MODEL — trasladan Copilot CLI a tu propio endpoint, y GitHub documenta que BYOK no requiere iniciar sesión en 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 anterior es un ejemplo práctico, no una regla. La página BYOK solo define el campo como «La URL base del endpoint de la API de tu proveedor de modelos», y sus propios ejemplos apuntan en ambas direcciones: el ejemplo remoto compatible con OpenAI es https://api.openai.com/v1, mientras que los de Ollama y Anthropic son orígenes sin ruta. Esta página usa el formato remoto compatible con OpenAI porque ese es el caso de Kunavo. Si las solicitudes devuelven 404, el sufijo se está duplicando: elimínalo y usa https://api.kunavo.com. Un 401 indica un problema con la clave, no con la URL, y el curl de abajo permite distinguir ambos casos antes de depurar la CLI.~/.copilot/providers.json que haya quedado por ahí anula silenciosamente estas exportaciones. La referencia del directorio de configuración de GitHub indica que, si ese archivo declara cualquier proveedor o modelo, tiene prioridad sobre las variables COPILOT_PROVIDER_*, a las que califica de heredadas; y la guía práctica BYOK no menciona nunca el archivo. Si la CLI ignora la URL base que acabas de exportar, comprueba primero ese archivo. La misma referencia solo describe el archivo como un objeto JSON con las claves providers y models, y no publica ningún esquema; por eso no se incluye aquí un ejemplo. Para más información, GitHub remite a copilot help providers./delegate son funciones del lado de GitHub que un proveedor BYOK no sustituye. GitHub indica que no están disponibles sin iniciar sesión; puedes conservarlas iniciando sesión y configurando también un proveedor.sk-kn-) y añade crédito desde $10; las llamadas se pagan con ese saldo y las llamadas fallidas no se facturan. El panel se abre entonces en la configuración de GitHub Copilot CLI.Paso a paso
- Cree una clave en
/app/keysy cópiela: se muestra una sola vez. - Comprueba si hay un
~/.copilot/providers.jsonobsoleto (o lo que indiqueCOPILOT_PROVIDERS_CONFIG). Si declara un proveedor o un modelo, prevalece sobre todo lo indicado en el paso 3. - Exporta
COPILOT_PROVIDER_BASE_URL,COPILOT_PROVIDER_API_KEYyCOPILOT_MODELcomo se indica arriba.COPILOT_PROVIDER_TYPEtiene el valor predeterminadoopenai, que GitHub describe como compatible con «cualquier otro endpoint compatible con la API Chat Completions de OpenAI». - Inicia
copilotdesde esa misma shell: estas variables se leen al iniciarse, así que un terminal que ya estaba abierto conserva los valores antiguos. - Asígnale una tarea que lea y edite un archivo. Copilot CLI necesita que el modelo admita llamadas a herramientas y streaming; una primera ejecución que pruebe ambas cosas te dirá más que un saludo.
--modelsustituye aCOPILOT_MODELdurante una ejecución si quieres comparar dos ids.
Comprobado con «Uso de tus propios modelos LLM en GitHub Copilot CLI», de GitHub el 21 de septiembre de 2026. La configuración de terceros puede cambiar; si el nombre de un campo ya no coincide con lo que ves, esa página es la autoridad, no esta.
Verifica antes de depurar el cliente
Una solicitud determina si el fallo está en el endpoint, la clave o el archivo de configuración. Si devuelve JSON, la misma URL base y la misma clave funcionan en 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-..."Qué ID de modelo introducir en el campo
Todos los modelos de texto están disponibles mediante un ID de modelo; la lista activa está en GET /v1/models, y el catálogo con precios está en la página de modelos. Las tarifas son USD por 1M de tokens, entrada / salida.
| ID de modelo | Entrada / salida de Kunavo | Dónde encaja en GitHub Copilot CLI |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | el modelo de trabajo predeterminado para sesiones que modifican archivos |
claude-opus-5 | $3.50 / $17.50 | planificar un cambio en el que un error sería costoso |
claude-haiku-4-5 | $0.70 / $3.50 | turnos económicos: triaje, resúmenes y el ciclo que funciona todo el día |
gpt-5-6-sol | $2.00 / $12.00 | una segunda opinión de otra familia, con la misma clave y URL base |
La otra opción: COPILOT_PROVIDER_TYPE=anthropic
GitHub documenta tres tipos de proveedor, y Kunavo responde a dos de los formatos de protocolo correspondientes: /v1/chat/completions para openai y /v1/messages para anthropic. El ejemplo de Anthropic en la página de GitHub usa cuatro exportaciones y su URL base es el origen sin ruta https://api.anthropic.com:
COPILOT_PROVIDER_TYPE=anthropicCOPILOT_PROVIDER_BASE_URL— a juzgar por el formato del ejemplo de GitHub,https://api.kunavo.comsin sufijo, ya que la ruta propia de Anthropic es/v1/messagesbajo ese origen y Kunavo la replica. Se aplica la misma salvedad de arriba: GitHub muestra un ejemplo, no una regla.COPILOT_PROVIDER_API_KEY— tu clave desk-kn-. La superficie Messages de Kunavo la acepta comox-api-keyoAuthorization: Bearer, así que se reconocerá cualquiera de los encabezados que elija la CLI.COPILOT_MODEL— el id que espera tu proveedor. El ejemplo de GitHub usa una variante con guiones al estilo de Anthropic, mientras que su propia lista de modelos compatibles escribe las mismas familias con puntos; con BYOK, el id se envía a tu endpoint, así que usa la variante indicada en la tabla anterior.
Por qué esta página empieza igualmente por el tipo openai: la documentación de GitHub no aclara si la ruta BYOK de Anthropic reenvía cache_control, anthropic-beta o un anthropic-version específico. Esto afecta al costo cuando el contexto se repite; consulta el almacenamiento en caché de prompts. Esta página no está dispuesta a dar por cierta una respuesta que no está documentada. El tipo openai no deja ninguna duda, así que es el que incluye un bloque de configuración completo.
Preguntas frecuentes
¿Cómo dirijo GitHub Copilot CLI a un endpoint de API personalizado?
Establece las variables de entorno antes de iniciar la CLI. La página BYOK de GitHub marca dos como obligatorias — COPILOT_PROVIDER_BASE_URL y COPILOT_MODEL — y añade COPILOT_PROVIDER_API_KEY para los endpoints que requieren autenticación. COPILOT_PROVIDER_TYPE tiene openai como valor predeterminado, que GitHub describe como compatible con OpenAI, Ollama, vLLM, Foundry Local y cualquier otro endpoint compatible con la API Chat Completions de OpenAI; los otros valores son azure y anthropic. GitHub documenta una salvedad en otra página: si ~/.copilot/providers.json declara cualquier proveedor o modelo, tiene prioridad sobre todas estas variables.
¿La URL base de Copilot CLI debe terminar en /v1?
La documentación de GitHub no lo aclara. El campo solo se define como «La URL base del endpoint de la API de tu proveedor de modelos», y los ejemplos de la propia página apuntan en ambas direcciones: el ejemplo remoto compatible con OpenAI es https://api.openai.com/v1, mientras que los ejemplos de Ollama y Anthropic son orígenes sin ruta. Para un endpoint compatible con OpenAI, empieza con el formato que GitHub muestra para ese caso — https://api.kunavo.com/v1 — y, si las solicitudes fallan con 404 en lugar de 401, el sufijo se está duplicando y debes eliminarlo. Un 404 indica un problema con la URL y un 401 con la clave; una solicitud curl sencilla a la misma URL base permite distinguir ambos casos antes de depurar la CLI.
¿GitHub Copilot CLI BYOK requiere una cuenta de GitHub?
No. La documentación de autenticación de GitHub indica que, cuando Copilot CLI se configura con la clave de API de tu propio proveedor de LLM, no se requiere autenticación de GitHub y la CLI se conecta directamente al proveedor configurado. En ese caso, hay tres funciones que no estarán disponibles: /delegate, el servidor MCP de GitHub y GitHub Code Search. También puedes iniciar sesión y configurar un proveedor al mismo tiempo para conservar las tres. Además, GitHub documenta COPILOT_OFFLINE=true para entornos en los que la CLI no debe comunicarse en absoluto con los servidores de GitHub. Sin embargo, eso solo aísla la red si el proveedor es local, ya que una URL base remota sigue recibiendo tus prompts y el contexto del código.
¿Kunavo ha probado GitHub Copilot CLI contra su endpoint?
No. La configuración de esta página se ha tomado de la documentación BYOK de GitHub en la fecha indicada, y nada de lo que contiene es el resultado de una ejecución: ni una sesión, ni un turno en streaming, ni un ciclo de ida y vuelta con herramientas. Lo mismo ocurre con todos los demás clientes documentados aquí. GitHub exige que un modelo BYOK admita llamadas a herramientas y streaming, y devuelve un error si no lo hace. Por eso, la primera comprobación honesta te corresponde a ti: ejecuta una tarea que lea y edite un archivo, y toma como referencia el cargo registrado y el comportamiento de la CLI, no esta página.