Support model discovery and in-session switching for BYOM providers
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
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).
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
この issue では、設定のエントリーポイント COPILOT_MODEL、COPILOT_PROVIDER_BASE_URL、COPILOT_PROVIDER_API_KEY と copilot コマンドが示されている。まず、これらの値が現在のモデルピッカーとセッションにどのように渡されるかを追跡することから始める。完了条件は、ピッカーで認証済みの Vertex AI/BYOM モデルを表示でき、再起動せずに切り替えられ、エンドポイントと認証の設定を保持でき、短期間で期限切れになる gcloud/ADC トークンを更新できること。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- google-cloud, powershell
- 領域
- api, cli, cloud
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100