Aller au contenu
English

Configurer Copilot CLI

Exécutez GitHub Copilot CLI avec votre compte Copilot ou un jeton GitHub.

L’image d’agent contient copilot, issu du paquet @github/copilot, à la version fixée par agentVersions.copilot. Configurez l’accès au compte dans votre harness TypeScript, comme ci-dessous.

Votre compte GitHub doit avoir accès à Copilot ; voir le démarrage rapide de la CLI GitHub.

Copilot s’exécute toujours sur votre abonnement Copilot. Fournissez un jeton GitHub à permissions fines disposant de la permission Copilot Requests :

import { createAgent, createCopilotHarness } from "@elie-laloum/outpost";

export const coder = createAgent({
  harness: createCopilotHarness({
    authentication: { account: { variable: "COPILOT_GITHUB_TOKEN" } },
    variables: { COPILOT_GITHUB_TOKEN: process.env.COPILOT_GITHUB_TOKEN ?? "" },
  }),
});

Pour réutiliser plutôt une connexion de l’hôte, lancez copilot login et indiquez authentication: "account". Outpost lit le jeton du dernier utilisateur connecté dans ~/.copilot/config.json (ou $COPILOT_HOME/config.json) et le transmet à la sandbox sous le nom COPILOT_GITHUB_TOKEN.

Autres formes d’identifiants et emplacement des secrets : Authentification.

Copilot n’a pas de mode par clé API : authentication: "usage" est refusé à la composition de l’agent. Les requêtes sont décomptées de votre abonnement Copilot.

  • Pas de fork automatisé : Le fork d’une conversation Copilot est refusé ; reprenez-la plutôt.
  • Pour les réglages de modèle pris en charge, consultez CopilotSettings.
  • Jetons classiques : Les jetons d’accès personnels ghp_ sont refusés.
  • Consommation incomplète : Un fichier de session absent ou illisible met usage.complete à false, avec un avertissement.
  • Décompte tardif : Les totaux de tokens peuvent arriver après leur consommation par le modèle. Associez un budget à un timeout.
  • Requêtes premium : Copilot facture des requêtes premium ; usage compte des tokens, pas des requêtes premium.
  • Options MCP : startupTimeoutMs et oauth sont refusés ; authentifiez les serveurs HTTP avec bearerTokenVariable.

API : createCopilotHarness · CopilotSettings · createCopilotConversations.