Todas las páginas
En esta página

GitHub Copilot

GitHub Copilot es el proveedor con el que arranca OAR: siempre está disponible y usa la CLI de Copilot que tiene la sesión iniciada en el host del relay. El relay lo ejecuta en uno de dos motores. El motor SDK es el predeterminado y te da la corrección del rumbo, un panel para las tareas en segundo plano y preguntas de selección múltiple. El motor Extension ejecuta la CLI de Copilot real en una terminal que puedes observar.

OpenAI con tu propia clave corre en los mismos dos motores, así que las secciones de esta página sobre los motores también se le aplican. Su clave y sus modelos están en la página de OpenAI.

Lo que necesitas #

  • La CLI de Copilot, con la sesión iniciada, en el host del relay. Instálala con npm install -g @github/copilot, ejecuta copilot una vez e inicia sesión. Tu cuenta de GitHub necesita un plan de Copilot que incluya Copilot CLI.
  • Un reinicio del relay después de instalar o actualizar la CLI. El relay busca la runtime de la CLI al arrancar y no ve una instalación posterior.
  • La CLI de GitHub (gh), con la sesión iniciada, para oar copilot, las sesiones del motor Extension en Windows y la tarjeta de Copilot en Check Usage (Ver consumo).
  • tmux (opcional, Linux y macOS) si quieres observar la terminal de una sesión con 🖥️ Inspect tmux console (Inspeccionar la consola de tmux).

El relay no instala ni actualiza la CLI de Copilot. En Settings → Providers → Copilot (Ajustes → Proveedores → Copilot), la fila GitHub Copilot CLI de arriba solo informa de su estado.

Cómo encuentra OAR la CLI #

El motor SDK controla la runtime que viene con la CLI de Copilot. Al arrancar, el relay busca en la caché de paquetes de la CLI y toma la versión más reciente que hay allí:

Sistema Carpeta
Linux ~/.cache/copilot/pkg y ~/.local/share/copilot/pkg
macOS ~/Library/Application Support/copilot/pkg
Windows %LOCALAPPDATA%\copilot\pkg

En Linux, las dos carpetas siguen XDG_CACHE_HOME y XDG_DATA_HOME cuando las defines. Define COPILOT_PKG_DIR para añadir una carpeta de búsqueda, o COPILOT_SDK_PATH para indicar directamente el directorio copilot-sdk de la runtime. Si no se encuentra nada, el motor SDK no está disponible (consulta Elegir el motor).

Usar oar copilot #

oar copilot arranca el relay en segundo plano si ninguno responde en su puerto, y luego abre la CLI de Copilot (gh copilot) en tu shell. Un relay que haya arrancado él se detiene de nuevo cuando termina la sesión. Los argumentos después de -- van a gh copilot.

oar copilot
oar copilot --port 3400 -- --help

Cada ejecución también escribe o actualiza un pequeño envoltorio en ~/.copilot/extensions/web-relay/, una extensión global del usuario que carga la extensión de OAR en la CLI de Copilot. oar copilot --install-extension solo hace eso y termina (no necesita gh); --no-install-extension se lo salta en una ejecución. Si falta gh, oar copilot lo dice y se detiene; instala la CLI de GitHub o ejecuta solo el relay con oar start.

Los dos motores #

Motor SDK Motor Extension
Qué corre Un worker sin interfaz por conversación, que controla la runtime incluida en la CLI de Copilot La CLI de Copilot en una sesión de terminal, con la extensión de OAR cargada
Predeterminado Sí, desde 0.9.2 Se usa cuando el relay no puede ejecutar el motor SDK
Necesita Una CLI de Copilot instalada y con la sesión iniciada Lo mismo, más gh en Windows
Mensaje enviado durante un turn Steer (Corregir el rumbo): entra en el turn en curso Nuevo en 0.9.3 Espera en la queue hasta que termina el turn
Tareas en segundo plano Aparecen en el panel de tareas del área de redacción, cada una con un Stop (Detener) que funciona Nuevo en 0.9.3 No están en el panel
Preguntas de selección múltiple Sí: el modelo puede marcar una pregunta como de selección múltiple, y las tarjetas de opciones tienen un interruptor Select several (Seleccionar varias) Nuevo en 0.9.3 No en una tarjeta de opciones simple. Un formulario con un campo que acepta varios valores ofrece varios
Espera de una pregunta 8 horas 2 horas
🖥️ Inspect tmux console Muestra el registro del worker, no la pantalla de Copilot Muestra la terminal de Copilot en vivo (Linux y macOS, con tmux)
Herramientas de agente relay_tool es una herramienta; para preview se le indica al agente cómo llamar a la API de vistas previas del relay relay_tool y preview a través del servidor MCP de OAR
Modos del relay Modos plan y autopilot nativos; plan rechaza todo lo que no sea de solo lectura, ask pregunta antes de cada acción de ese tipo Solo una instrucción en el prompt
Compactación La runtime compacta en segundo plano al 80 % de la ventana de contexto y bloquea al 95 % OAR no fija ni muestra nada
Vigilancia de turns atascados Da por fallido un turn tras 120 s de silencio, 300 s durante una petición al modelo y 30 min durante una herramienta Un turn está limitado a 2 horas; ventana de inactividad de 45 s mientras el relay considera la CLI sin conexión
Consumo Añade Last SDK worker turn (Último turn del worker SDK) a la tarjeta de Copilot en Check Usage Solo los medidores de la cuenta en la tarjeta

Los dos motores muestran la misma transcripción, las mismas tarjetas de pregunta, los mismos tableros del plan, la misma lista de modelos y la misma línea de consumo por respuesta. Consulta Los turns y la queue para Steer, Queue (Poner en cola) y las ventanas de turns atascados, Modos del relay y Compactación para esas filas, y ask_user para las tarjetas de pregunta.

En el motor SDK, Stop solo termina la respuesta. Los agentes en segundo plano que inició el turn siguen corriendo, cada uno con su propio Stop en el panel de tareas.

Elegir el motor #

La elección es un único ajuste para todo el relay: Settings → Providers → Copilot → Copilot engine (Ajustes → Proveedores → Copilot → Motor de Copilot), con las opciones Extension (Extensión) y SDK — default (SDK — predeterminado). Pulsa Save Copilot settings (Guardar los ajustes de Copilot) después de cambiarlo.

  • Se aplica a las conversaciones cuyo worker arranca después. Una sesión que ya está en curso conserva su motor hasta que se reinicia su worker.
  • Si nadie ha guardado una elección, el relay usa SDK siempre que puede y Extension cuando no puede. Una elección guardada siempre tiene prioridad. Eso incluye un SDK guardado: si en un reinicio posterior ya no encuentra la CLI, el relay no vuelve atrás por su cuenta, y el worker de una conversación nueva no puede arrancar hasta que se encuentre de nuevo la CLI o guardes Extension.
  • El panel dice qué motor está fijado: New Copilot conversations run on the headless SDK worker. No tmux inspector for these sessions. o New Copilot conversations run on the Copilot CLI with the web-relay extension.

Para saber qué motor usa una conversación en curso, mira su área de redacción y su consola de tmux. Durante un turn, el botón de enviar dice Steer en el motor SDK (allí dice Queue mientras hay abierta una tarjeta de pregunta o una aprobación, el turn está compactando o se está ejecutando una llamada a herramienta) y siempre Queue en el motor Extension. La consola de tmux muestra una pantalla de Copilot solo en el motor Extension. La conversación en sí no lleva ninguna etiqueta de motor.

Cuando se rechaza guardar SDK #

El relay se niega a guardar SDK cuando no podría ejecutarlo, y muestra el motivo en lugar de la descripción del motor. El ajuste guardado no cambia, y el selector vuelve al motor que el relay ejecuta realmente.

El mensaje empieza por Qué hacer
The Copilot SDK was not found when the relay started (COPILOT_SDK_PATH did not resolve) El relay no encontró ninguna runtime de la CLI de Copilot. Instala o actualiza la CLI, ejecuta copilot una vez y reinicia el relay. Consulta Cómo encuentra OAR la CLI.
The SDK engine requires session worker routing, which is disabled on this relay (SESSION_WORKER_ROUTING_ENABLED) Vuelve a activar Session worker routing (Enrutado de workers de sesión) en Settings → Features (Ajustes → Funciones) (está activado por defecto) y reinicia el relay.

Ajustes #

En Settings → Providers → Copilot:

Control Predeterminado Qué hace
GitHub Copilot CLI Una fila de estado. Solo lectura: esta CLI se gestiona con npm en el host del relay.
Copilot engine SDK Qué motor ejecuta las conversaciones nuevas de Copilot. Consulta Elegir el motor.
Save Copilot settings Guarda el motor.

Otros ajustes que afectan a las sesiones de Copilot están en otros lugares:

Ajuste Predeterminado Efecto en Copilot
Settings → General → Background task timeout (Ajustes → General → Tiempo límite de las tareas en segundo plano) 4 h Cuánto tiempo pueden mantener en marcha una sesión, después de su respuesta, los agentes en segundo plano y las shells desacopladas por sí solos. Después se detienen. 0 significa sin límite; el valor máximo es 10 h.
Settings → General → Max turn duration (Ajustes → General → Duración máxima del turn) 60 min Lo máximo que puede correr un turn antes de que el relay lo vuelva a poner en cola.
Settings → Features → Session worker routing activado El motor SDK lo necesita. Un cambio se aplica tras reiniciar el relay.

Modelos #

El relay lee la lista de modelos de la runtime de la CLI de Copilot instalada unos segundos después de arrancar. Cada modelo muestra los reasoning efforts y la ventana de contexto que informa la runtime. La lista empieza por auto y luego agrupa los modelos por fabricante (OpenAI, Anthropic, Google, xAI, Microsoft, Azure OpenAI, Moonshot AI y después los demás por orden alfabético), con la versión más reciente primero.

Hasta la primera detección, un relay nuevo ofrece gpt-5.4, gpt-5.4-mini (el predeterminado), gpt-5.3-codex, claude-sonnet-4.6 y claude-haiku-4.5.

Usa 🤗 Select Models → Copilot (Seleccionar modelos → Copilot) en el menú ⋯ de una conversación para elegir qué modelos aparecen en el área de redacción, y luego 💾 Save enabled models (Guardar los modelos activados). Refresh (Actualizar) vuelve a leer la lista. Si la lista parece antigua, pulsa Refresh.

Consumo #

  • Debajo de una respuesta, un turn de Copilot muestra lo que ha usado: +N para los créditos, con la parte de tu plan mensual entre paréntesis, y month N% left. Una etiqueta stale significa que los números no se pudieron actualizar en ese turn. Solo los turns de Copilot tienen esta línea; los demás proveedores, OpenAI incluido, no usan créditos de Copilot.
  • En la cabecera, una línea de sesión suma la conversación, por ejemplo Session: 1.25 AIC used.
  • En Check Usage, abre 📊 Check Usage en el menú ⋯ y elige la pestaña de Copilot para ver la cuota en vivo (créditos de IA o solicitudes premium, chat y plan). En el motor SDK añade Last SDK worker turn: los créditos que gastó realmente ese turn, sus tokens y sus llamadas al modelo. Son los números de un solo turn, no un total acumulado, y la sección desaparece al cabo de siete días.

La tarjeta de Copilot lee tu cuenta a través de gh. Si no usas gh, define GH_TOKEN o GITHUB_TOKEN en el entorno del relay.

Importar las sesiones que ya tienes #

Cuando el relay arranca, importa las sesiones de Copilot guardadas en el host, para que aparezcan en tu lista con su historial. Las lee a través de la runtime de Copilot instalada. Si la runtime no está disponible, la importación se informa como fallida. El relay no intenta adivinar a partir de los archivos.

Eliminar una sesión así solo la oculta: la sesión propia de la CLI de Copilot se queda, porque el relay nunca la ejecutó.

Variables de entorno #

Defínelas en el entorno del proceso del relay y luego reinicia el relay.

Variable Qué hace
COPILOT_SDK_PATH El directorio copilot-sdk de la runtime de la CLI de Copilot, en lugar del más reciente de la caché de paquetes
COPILOT_PKG_DIR Una caché de paquetes adicional en la que buscar la runtime
GH_TOKEN, GITHUB_TOKEN Un token de GitHub para la tarjeta de Copilot en Check Usage, en lugar de gh auth token
OAR_MCP_SERVER=0 No conecta el servidor MCP de OAR al motor Extension; este recibe las instrucciones de vista previa como texto, y ninguna herramienta relay_tool
COPILOT_REMOTE_SESSION_WORKER_ROUTING_ENABLED=0 Fija Session worker routing en desactivado, lo que deja el motor SDK sin disponibilidad

Límites #

  • El relay necesita un reinicio para notar una CLI de Copilot que se instaló o actualizó después de arrancar.
  • En el motor SDK no hay ninguna terminal a la que conectarse.
  • Los mensajes enviados durante un turn se ponen en cola en el motor Extension; no pueden corregir el rumbo.
  • En el motor SDK, el relay da a un turn 2 minutos de silencio sin nada en marcha, 5 minutos durante una petición al modelo y 30 minutos mientras corre una herramienta antes de darlo por fallido. Un turn que espera en una tarjeta de pregunta nunca se considera atascado. Las ventanas están en Los turns y la queue.
  • Una conversación de OpenAI con tu propia clave también usa estos motores, pero gasta tu clave, así que sus turns no llevan línea de consumo de Copilot.

Si no funciona #

Qué pasa Por qué, y qué hacer
Copilot no arranca, o el motor SDK se rechaza con COPILOT_SDK_PATH did not resolve No se encontró ninguna runtime de la CLI de Copilot al arrancar. Instala o actualiza la CLI, ejecuta copilot una vez y reinicia el relay.
En el motor SDK, la respuesta dice que la runtime de Copilot no pudo autenticarse Ejecuta copilot en el host del relay, inicia sesión y vuelve a enviar el mensaje.
Las conversaciones nuevas corren en Extension aunque querías SDK Nadie guardó una elección y el relay no puede ejecutar SDK, o guardaste Extension. Pon Copilot engine en SDK y guarda; el mensaje de rechazo nombra la causa si la hay.
Una conversación en curso no cambió de motor El motor se lee cuando arranca su worker. ☠️ Kill session (Matar la sesión) en el menú ⋯ detiene el worker; el siguiente mensaje lo arranca en el motor actual.
La respuesta dice que GitHub Copilot no tiene créditos de IA para este periodo de facturación El plan está agotado. Abre Check Usage para ver la hora de reinicio y reintenta después, o pasa la conversación a otro proveedor. El relay no lo reintenta.
oar copilot dice que falta la CLI de GitHub El comando ejecuta gh copilot. Instala la CLI de GitHub, o ejecuta solo el relay.
La lista de modelos es antigua o incorrecta 🤗 Select Models → Refresh.
No hay línea de consumo bajo una respuesta Solo la registran los turns de Copilot.
🖥️ Inspect tmux console muestra líneas de registro, no una pantalla de Copilot La conversación corre en el motor SDK.

Las sesiones de agente, los modos del relay y el resto del comportamiento que no depende del motor funcionan como se describe en las páginas de sesiones y de agentes que trabajan juntos.