github / github/copilot-cli

Support model discovery and in-session switching for BYOM providers

Ouverte
#4,376 0 commentaires 5 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

area:configuration area:models
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

Describe the feature or problem you'd like to solve

Copilot CLI's BYOM configuration currently requires a single COPILOT_MODEL value. When using Google Vertex AI through its OpenAI-compatible endpoint and gcloud authentication, users must restart Copilot CLI to change models.

This is a gap in the model-selection experience: a Copilot subscription exposes multiple GitHub-hosted models through the model picker, but BYOM is effectively one provider/model per process. A subscription-based model experience should support many available models behind one provider configuration (many-to-one), rather than requiring a separate CLI process for each model (one-to-one).

Think BYOMS (Bring your own model subscription) instead of a single BYOM.

Proposed solution

Support model discovery and model selection for BYOM providers, including Vertex AI:

  • Discover models exposed by the configured provider, or allow a provider-specific model catalog/configuration.
  • Show available BYOM models in the same model picker used for GitHub-hosted models.
  • Allow switching models during a Copilot CLI session without restarting the CLI.
  • Preserve provider-level authentication and endpoint settings while changing only the selected model.
  • Support short-lived Google OAuth access tokens from gcloud/ADC without requiring users to manually restart the CLI when a token refresh is needed.

For Vertex AI, this should work with the OpenAI-compatible endpoint and Google Cloud authentication, while respecting the models enabled and authorized for the user's project and region.

Example prompts or workflows
copilot
# Model picker shows GitHub models plus authorized Vertex AI models.
# Selecting a different model changes the active BYOM model in the current session.
Additional context

Current workaround:

$env:COPILOT_PROVIDER_BASE_URL = "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/openapi"
$env:COPILOT_PROVIDER_API_KEY = gcloud auth print-access-token
$env:COPILOT_MODEL = "google/gemini-2.5-flash"
copilot

Changing COPILOT_MODEL requires restarting Copilot CLI. Related issue: #3399 (custom headers for BYOK).

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue nomme les points d’entrée de configuration COPILOT_MODEL, COPILOT_PROVIDER_BASE_URL et COPILOT_PROVIDER_API_KEY ainsi que la commande copilot ; commencez par suivre la façon dont ces valeurs alimentent le sélecteur de modèles et la session actuels. Le travail est terminé lorsque le sélecteur peut afficher les modèles Vertex AI/BYOM autorisés, basculer entre eux sans redémarrer, conserver les paramètres de l’endpoint et de l’authentification, et actualiser les tokens gcloud/ADC à courte durée de vie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
google-cloud, powershell
Domaine
api, cli, cloud
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.