Toutes les pages
Sur cette page

GitHub Copilot

GitHub Copilot est le fournisseur avec lequel OAR démarre : il est toujours disponible et utilise la CLI Copilot connectée sur l’hôte du relais. Le relais le fait tourner sur l’un de deux moteurs. Le moteur SDK est celui par défaut et vous offre le pilotage, un panneau pour les tâches de fond et des questions à choix multiple. Le moteur d’extension fait tourner la vraie CLI Copilot dans un terminal que vous pouvez observer.

OpenAI avec votre propre clé tourne sur les deux mêmes moteurs : les sections de cette page consacrées aux moteurs s’y appliquent donc aussi. Sa clé et ses modèles sont sur la page OpenAI.

Ce qu’il vous faut #

  • La CLI Copilot, connectée, sur l’hôte du relais. Installez-la avec npm install -g @github/copilot, lancez copilot une fois et connectez-vous. Votre compte GitHub doit avoir un forfait Copilot qui inclut Copilot CLI.
  • Un redémarrage du relais après avoir installé ou mis à niveau la CLI. Le relais cherche le runtime de la CLI à son démarrage et ne voit pas une installation faite plus tard.
  • La CLI GitHub (gh), connectée, pour oar copilot, les sessions du moteur d’extension sous Windows et la carte Copilot de Check Usage (Vérifier la consommation).
  • tmux (facultatif, Linux et macOS) si vous voulez observer le terminal d’une session avec 🖥️ Inspect tmux console (Inspecter la console tmux).

Le relais n’installe ni ne met à jour la CLI Copilot. Dans Settings → Providers → Copilot (Réglages → Fournisseurs → Copilot), la ligne GitHub Copilot CLI en haut se contente d’indiquer son état.

Comment OAR trouve la CLI #

Le moteur SDK pilote le runtime fourni avec la CLI Copilot. Au démarrage, le relais regarde dans le cache de paquets de la CLI et prend la version la plus récente qui s’y trouve :

Système Dossier
Linux ~/.cache/copilot/pkg et ~/.local/share/copilot/pkg
macOS ~/Library/Application Support/copilot/pkg
Windows %LOCALAPPDATA%\copilot\pkg

Sous Linux, les deux dossiers suivent XDG_CACHE_HOME et XDG_DATA_HOME quand vous les définissez. Définissez COPILOT_PKG_DIR pour ajouter un dossier à explorer, ou COPILOT_SDK_PATH pour désigner directement le dossier copilot-sdk du runtime. Si rien n’est trouvé, le moteur SDK n’est pas disponible (voir Choisir le moteur).

Utiliser oar copilot #

oar copilot démarre le relais en arrière-plan si aucun ne répond sur son port, puis ouvre la CLI Copilot (gh copilot) dans votre shell. Un relais qu’il a démarré s’arrête de nouveau à la fin de la session. Les arguments placés après -- vont à gh copilot.

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

Chaque exécution écrit ou rafraîchit aussi un petit wrapper dans ~/.copilot/extensions/web-relay/, une extension globale à l’utilisateur qui charge l’extension d’OAR dans la CLI Copilot. oar copilot --install-extension ne fait que cela et se termine (il n’a pas besoin de gh) ; --no-install-extension saute cette étape pour une exécution. Si gh manque, oar copilot le signale et s’arrête ; installez la CLI GitHub ou ne lancez que le relais avec oar start.

Les deux moteurs #

Moteur SDK Moteur d’extension
Ce qui tourne Un worker sans interface par conversation, qui pilote le runtime fourni avec la CLI Copilot La CLI Copilot dans une session de terminal, avec l’extension d’OAR chargée
Par défaut Oui, depuis 0.9.2 Utilisé quand le relais ne peut pas faire tourner le moteur SDK
Prérequis Une CLI Copilot installée et connectée La même chose, plus gh sous Windows
Message envoyé pendant un turn Steer (Piloter) : il entre dans le turn en cours Ajouté en 0.9.3 Attend dans la queue jusqu’à la fin du turn
Tâches de fond Listées dans le panneau des tâches de la zone de saisie, chacune avec un Stop (Arrêter) qui fonctionne Ajouté en 0.9.3 Absentes du panneau
Questions à choix multiple Oui : le modèle peut marquer une question comme à choix multiple, et les cartes de choix ont un interrupteur Select several (Sélectionner plusieurs) Ajouté en 0.9.3 Pas sur une simple carte de choix. Un formulaire avec un champ qui accepte plusieurs valeurs en propose plusieurs
Attente d’une question 8 heures 2 heures
🖥️ Inspect tmux console Affiche le journal du worker, pas l’écran de Copilot Affiche le terminal Copilot en direct (Linux et macOS, avec tmux)
Outils d’agent relay_tool est un outil ; pour preview, on indique à l’agent comment appeler l’API d’aperçu du relais relay_tool et preview via le serveur MCP d’OAR
Modes du relais Modes plan et autopilot natifs ; plan refuse tout ce qui n’est pas en lecture seule, ask demande avant chacune de ces actions Une simple instruction dans le prompt
Compactage Le runtime compacte en arrière-plan à 80 % de la fenêtre de contexte et bloque à 95 % OAR ne règle et n’affiche rien
Surveillance des turns bloqués Fait échouer un turn après 120 s de silence, 300 s pendant une requête au modèle, 30 min pendant un outil Un turn est limité à 2 heures ; fenêtre d’inactivité de 45 s tant que le relais considère la CLI hors ligne
Consommation Ajoute Last SDK worker turn (Dernier turn du worker SDK) à la carte Copilot de Check Usage Seulement les compteurs du compte sur la carte

Les deux moteurs affichent le même fil de la conversation, les mêmes cartes de question, tableaux de plan, liste de modèles et ligne de consommation par réponse. Voir Les turns et la queue pour Steer, Queue (Mettre en file) et les fenêtres de turn bloqué, Modes du relais et Compactage pour ces lignes, et ask_user pour les cartes de question.

Sur le moteur SDK, Stop ne met fin qu’à la réponse. Les agents en arrière-plan lancés par le turn continuent de tourner sous leur propre Stop dans le panneau des tâches.

Choisir le moteur #

Le choix est un seul réglage pour tout le relais : Settings → Providers → Copilot → Copilot engine (Réglages → Fournisseurs → Copilot → Moteur Copilot), avec les options Extension et SDK — default (SDK — par défaut). Appuyez sur Save Copilot settings (Enregistrer les réglages Copilot) après l’avoir changé.

  • Il s’applique aux conversations dont le worker démarre ensuite. Une session déjà en cours garde son moteur jusqu’au redémarrage de son worker.
  • Si personne n’a enregistré de choix, le relais utilise SDK chaque fois qu’il le peut et Extension quand il ne le peut pas. Un choix que vous avez enregistré l’emporte toujours. Cela vaut aussi pour un SDK enregistré : si un redémarrage ultérieur ne trouve plus la CLI, le relais ne revient pas en arrière de lui-même, et le worker d’une nouvelle conversation ne peut pas démarrer tant que la CLI n’est pas retrouvée ou que vous n’enregistrez pas Extension.
  • Le panneau indique quel moteur est réglé : New Copilot conversations run on the headless SDK worker. No tmux inspector for these sessions. ou New Copilot conversations run on the Copilot CLI with the web-relay extension.

Pour savoir quel moteur utilise une conversation en cours, regardez sa zone de saisie et sa console tmux. Pendant un turn, le bouton d’envoi affiche Steer sur le moteur SDK (il y affiche Queue tant qu’une carte de question ou une approbation est ouverte, que le turn compacte ou qu’un appel d’outil tourne) et toujours Queue sur le moteur d’extension. La console tmux n’affiche un écran Copilot que sur le moteur d’extension. La conversation elle-même ne porte pas d’étiquette de moteur.

Quand l’enregistrement de SDK est refusé #

Le relais refuse d’enregistrer SDK quand il ne pourrait pas le faire tourner, et affiche la raison à la place de la description du moteur. Le réglage enregistré ne change pas, et la liste de choix revient au moteur que le relais fait réellement tourner.

Le message commence par Que faire
The Copilot SDK was not found when the relay started (COPILOT_SDK_PATH did not resolve) Le relais n’a trouvé aucun runtime de la CLI Copilot. Installez ou mettez à niveau la CLI, lancez copilot une fois, puis redémarrez le relais. Voir Comment OAR trouve la CLI.
The SDK engine requires session worker routing, which is disabled on this relay (SESSION_WORKER_ROUTING_ENABLED) Réactivez Session worker routing (Routage des workers de session) dans Settings → Features (Réglages → Fonctionnalités) (il est activé par défaut) et redémarrez le relais.

Réglages #

Sous Settings → Providers → Copilot :

Contrôle Par défaut Ce qu’il fait
GitHub Copilot CLI Une ligne d’état. En lecture seule : vous gérez cette CLI avec npm sur l’hôte du relais.
Copilot engine SDK Le moteur qui fait tourner les nouvelles conversations Copilot. Voir Choisir le moteur.
Save Copilot settings Enregistre le moteur.

D’autres réglages qui touchent les sessions Copilot se trouvent ailleurs :

Réglage Par défaut Effet sur Copilot
Settings → General → Background task timeout (Réglages → Général → Délai des tâches de fond) 4 h Combien de temps les agents en arrière-plan et les shells détachés peuvent à eux seuls garder une session active après sa réponse. Ensuite, ils sont arrêtés. 0 signifie sans limite ; la valeur maximale est de 10 h.
Settings → General → Max turn duration (Réglages → Général → Durée maximale d’un turn) 60 min La durée maximale d’un turn avant que le relais ne le remette en file.
Settings → Features → Session worker routing (Réglages → Fonctionnalités → Routage des workers de session) activé Le moteur SDK en a besoin. Une modification s’applique après un redémarrage du relais.

Modèles #

Le relais lit la liste des modèles dans le runtime de la CLI Copilot installé quelques secondes après son démarrage. Chaque modèle affiche les efforts de raisonnement et la fenêtre de contexte que le runtime annonce. La liste commence par auto, puis regroupe les modèles par éditeur (OpenAI, Anthropic, Google, xAI, Microsoft, Azure OpenAI, Moonshot AI, puis les autres par ordre alphabétique), la version la plus récente en premier.

Jusqu’à la première découverte, un nouveau relais propose gpt-5.4, gpt-5.4-mini (le modèle par défaut), gpt-5.3-codex, claude-sonnet-4.6 et claude-haiku-4.5.

Utilisez 🤗 Select Models → Copilot (Sélectionner des modèles → Copilot) dans le menu ⋯ d’une conversation pour choisir quels modèles apparaissent dans la zone de saisie, puis 💾 Save enabled models (Enregistrer les modèles activés). Refresh (Actualiser) relit la liste. Si la liste paraît ancienne, appuyez sur Refresh.

Consommation #

  • Sous une réponse, un turn Copilot indique ce qu’il a consommé : +N pour les crédits, avec la part de votre forfait mensuel entre parenthèses, et month N% left. Une étiquette stale signifie que les chiffres n’ont pas pu être actualisés pour ce turn. Seuls les turns Copilot ont cette ligne ; les autres fournisseurs, OpenAI compris, n’utilisent pas de crédits Copilot.
  • Dans l’en-tête, une ligne de session fait le total de la conversation, par exemple Session: 1.25 AIC used.
  • Dans Check Usage, ouvrez 📊 Check Usage dans le menu ⋯ et choisissez l’onglet Copilot pour le quota en direct (crédits d’IA ou requêtes premium, chat et forfait). Sur le moteur SDK, il ajoute Last SDK worker turn : les crédits que ce turn a réellement dépensés, ses tokens et ses appels au modèle. Ce sont les chiffres d’un seul turn, pas un total cumulé, et la section disparaît au bout de sept jours.

La carte Copilot lit votre compte via gh. Si vous n’utilisez pas gh, définissez GH_TOKEN ou GITHUB_TOKEN dans l’environnement du relais.

Importer les sessions que vous avez déjà #

Au démarrage, le relais importe les sessions Copilot enregistrées sur l’hôte, pour qu’elles apparaissent dans votre liste avec leur historique. Il les lit via le runtime Copilot installé. Si le runtime n’est pas disponible, l’import est signalé comme échoué. Le relais ne devine rien à partir des fichiers.

Supprimer une telle session ne fait que la masquer : la session propre à la CLI Copilot reste, car le relais ne l’a jamais fait tourner.

Variables d’environnement #

Définissez-les dans l’environnement du processus du relais, puis redémarrez le relais.

Variable Ce qu’elle fait
COPILOT_SDK_PATH Le dossier copilot-sdk du runtime de la CLI Copilot, à la place du plus récent du cache de paquets
COPILOT_PKG_DIR Un cache de paquets supplémentaire où chercher le runtime
GH_TOKEN, GITHUB_TOKEN Un token GitHub pour la carte Copilot de Check Usage, à la place de gh auth token
OAR_MCP_SERVER=0 Ne pas attacher le serveur MCP d’OAR au moteur d’extension ; celui-ci reçoit les instructions d’aperçu sous forme de texte, et pas d’outil relay_tool
COPILOT_REMOTE_SESSION_WORKER_ROUTING_ENABLED=0 Force Session worker routing à désactivé, ce qui rend le moteur SDK indisponible

Limites #

  • Le relais a besoin d’un redémarrage pour remarquer une CLI Copilot installée ou mise à niveau après son démarrage.
  • Sur le moteur SDK, il n’y a pas de terminal auquel se rattacher.
  • Les messages envoyés pendant un turn vont en queue sur le moteur d’extension ; ils ne peuvent pas piloter le turn.
  • Sur le moteur SDK, le relais accorde à un turn 2 minutes de silence quand rien ne tourne, 5 minutes pendant une requête au modèle et 30 minutes pendant qu’un outil tourne, avant de faire échouer le turn. Un turn qui attend une carte de question n’est jamais considéré comme bloqué. Les fenêtres sont décrites dans Les turns et la queue.
  • Une conversation OpenAI sur votre propre clé utilise aussi ces moteurs, mais dépense votre clé : ses turns n’ont donc pas de ligne de consommation Copilot.

Si ça ne marche pas #

Ce qui se passe Pourquoi, et que faire
Copilot ne démarre pas, ou le moteur SDK est refusé avec COPILOT_SDK_PATH did not resolve (COPILOT_SDK_PATH n’a pas pu être résolu) Aucun runtime de la CLI Copilot n’a été trouvé au démarrage. Installez ou mettez à niveau la CLI, lancez copilot une fois, redémarrez le relais.
Sur le moteur SDK, la réponse indique que le runtime Copilot n’a pas pu s’authentifier Lancez copilot sur l’hôte du relais, connectez-vous, puis renvoyez le message.
Les nouvelles conversations tournent sur Extension alors que vous vouliez SDK Personne n’a enregistré de choix et le relais ne peut pas faire tourner SDK, ou vous avez enregistré Extension. Réglez Copilot engine sur SDK et enregistrez ; le message de refus nomme la cause s’il y en a une.
Une conversation en cours n’a pas changé de moteur Le moteur est lu au démarrage de son worker. ☠️ Kill session (Tuer la session) dans le menu ⋯ arrête le worker ; le message suivant le redémarre sur le moteur actuel.
La réponse indique que GitHub Copilot n’a plus de crédits d’IA pour cette fenêtre de facturation Le forfait est épuisé. Ouvrez Check Usage pour voir l’heure de réinitialisation et réessayez après, ou passez la conversation sur un autre fournisseur. Le relais ne réessaie pas dans ce cas.
oar copilot indique que la CLI GitHub manque Il lance gh copilot. Installez la CLI GitHub, ou ne lancez que le relais.
La liste des modèles est ancienne ou fausse 🤗 Select Models → Refresh (Sélectionner des modèles → Actualiser).
Pas de ligne de consommation sous une réponse Seuls les turns Copilot l’enregistrent.
🖥️ Inspect tmux console affiche des lignes de journal, pas un écran Copilot La conversation tourne sur le moteur SDK.

Les sessions d’agent, les modes du relais et les autres comportements qui ne dépendent pas du moteur fonctionnent comme décrit dans les pages sur les sessions et sur les agents qui travaillent ensemble.