Aller au contenu

GitHub Copilot

GitHub Copilot est l’assistant de codage IA de GitHub. Il donne accès aux modèles Copilot pour votre compte et votre plan GitHub. OpenClaw peut utiliser Copilot comme fournisseur de modèles de deux manières différentes.

Utilisez le flux de connexion natif par appareil pour obtenir un jeton GitHub, puis échangez-le contre des jetons de l’API Copilot lors de l’exécution d’OpenClaw. C’est le chemin par défaut et le plus simple car il ne nécessite pas VS Code.

  1. Run the login command

    Fenêtre de terminal
    openclaw models auth login-github-copilot

    Il vous sera demandé de visiter une URL et d’entrer un code à usage unique. Gardez le terminal ouvert jusqu’à la fin du processus.

  2. Set a default model

    Fenêtre de terminal
    openclaw models set github-copilot/claude-opus-4.7

    Ou dans la configuration :

    {
    agents: {
    defaults: { model: { primary: "github-copilot/claude-opus-4.7" } },
    },
    }
DrapeauDescription
--yesIgnorer l’invite de confirmation
--set-defaultAppliquer également le modèle par défaut recommandé par le fournisseur
Fenêtre de terminal
# Skip confirmation
openclaw models auth login-github-copilot --yes
# Login and set the default model in one step
openclaw models auth login --provider github-copilot --method device --set-default

Si vous possédez déjà un jeton d’accès GitHub OAuth pour Copilot, importez-le lors de la configuration sans interface (headless) avec openclaw onboard --non-interactive :

Fenêtre de terminal
openclaw onboard --non-interactive --accept-risk \
--auth-choice github-copilot \
--github-copilot-token "$COPILOT_GITHUB_TOKEN" \
--skip-channels --skip-health

Vous pouvez également omettre --auth-choice ; le passage de --github-copilot-token déduit le choix d’authentification du fournisseur GitHub Copilot. Si l’indicateur est omis, l’onboarding revient à COPILOT_GITHUB_TOKEN, GH_TOKEN, puis GITHUB_TOKEN. Utilisez --secret-input-mode ref avec COPILOT_GITHUB_TOKEN défini pour stocker un tokenRef soutenu par l’environnement au lieu de texte brut dans auth-profiles.json.

TTY interactive requis

Le flux de connexion par appareil nécessite un TTY interactif. Exécutez-le directement dans un terminal, et non dans un script non interactif ou un pipeline CI.

La disponibilité des modèles dépend de votre plan

La disponibilité des modèles Copilot dépend de votre plan GitHub. Si un modèle est rejeté, essayez un autre ID (par exemple github-copilot/gpt-4.1).

Actualisation du catalogue en direct depuis l'API Copilot

Une fois que le chemin d’authentification par connexion (ou variable d’environnement) a résolu un jeton GitHub, OpenClaw actualise le catalogue des modèles à la demande depuis ${baseUrl}/models (le même point de terminaison utilisé par VS Code Copilot) afin que le runtime suive les droits par compte et les fenêtres de contexte précises sans remaniement de manifeste. Les modèles Copilot nouvellement publiés deviennent visibles sans mise à jour d’OpenClaw, et les fenêtres de contexte reflètent les limites réelles par modèle (par exemple 400k pour la série gpt-5.x, 1M pour les variantes internes claude-opus-*-1m).

Le catalogue statique groupé reste le repli visible lorsque la découverte est désactivée, que l’utilisateur n’a pas de profil d’authentification GitHub, que l’échange de jetons échoue, ou que l’appel HTTPS /models génère des erreurs. Pour refuser et s’appuyer entièrement sur le catalogue de manifestes statiques (scénarios hors ligne / isolés) :

{
plugins: {
entries: {
"github-copilot": {
config: { discovery: { enabled: false } },
},
},
},
}
Sélection du transport

Les ID de modèle Claude utilisent automatiquement le transport Messages de Anthropic. Les modèles GPT, o-series et Gemini conservent le transport Responses de OpenAI. OpenClaw sélectionne le transport correct en fonction de la référence du modèle.

Compatibilité des requêtes

OpenClaw envoie des en-têtes de requête de style IDE Copilot sur les transports Copilot, incluant la compactage intégré, les tool-result et les tours de suivi d’image. Il n’active pas la continuation Responses au niveau du provider pour Copilot, sauf si ce comportement a été vérifié par rapport à l’API de Copilot.

Ordre de résolution des variables d'environnement

OpenClaw résout l’authentification Copilot à partir des variables d’environnement dans l’ordre de priorité suivant :

PriorityVariableNotes
1COPILOT_GITHUB_TOKENPriorité la plus élevée, spécifique à Copilot
2GH_TOKENJeton GitHub CLI (alternative)
3GITHUB_TOKENJeton GitHub standard (le plus bas)

Lorsque plusieurs variables sont définies, OpenClaw utilise celle ayant la priorité la plus élevée. Le flux de connexion par appareil (openclaw models auth login-github-copilot) stocke son jeton dans le magasin de profils d’authentification et prend la priorité sur toutes les variables d’environnement.

Stockage des jetons

La connexion stocke un jeton GitHub dans le magasin de profils d’authentification et l’échange contre un jeton d’API Copilot lorsque OpenClaw s’exécute. Vous n’avez pas besoin de gérer le jeton manuellement.

GitHub Copilot peut également servir de fournisseur d’embeddings pour la mémoire de recherche. Si vous disposez d’un abonnement Copilot et que vous êtes connecté, OpenClaw peut l’utiliser pour les embeddings sans clé API séparée.

Lorsque memorySearch.provider est "auto"GitHubOpenAIGitHubOpenClawAPI (par défaut), GitHub Copilot est essayé avec la priorité 15 — après les embeddings locaux mais avant OpenAI et les autres fournisseurs payants. Si un jeton GitHub est disponible, OpenClaw découvre les modèles d’embeddings disponibles depuis l’API Copilot et choisit automatiquement le meilleur.

{
agents: {
defaults: {
memorySearch: {
provider: "github-copilot",
// Optional: override the auto-discovered model
model: "text-embedding-3-small",
},
},
},
}
  1. OpenClaw résout votre jeton GitHub (à partir des env vars ou du profil d’authentification).
  2. L’échange contre un jeton API Copilot de courte durée.
  3. Interroge le point de terminaison /models de Copilot pour découvrir les modèles d’embeddings disponibles.
  4. Choisit le meilleur modèle (préfère text-embedding-3-small).
  5. Envoie les requêtes d’embeddings au point de terminaison /embeddings de Copilot.

La disponibilité des modèles dépend de votre offre GitHub. Si aucun modèle d’embeddings n’est disponible, OpenClaw ignore Copilot et essaie le fournisseur suivant.

Sélection du modèle

Choix des fournisseurs, références de modèles et comportement de basculement.

OAuthOAuth et auth

Détails d’authentification et règles de réutilisation des informations d’identification.