github / github/copilot-cli

Allow specifying a model *family* (e.g. `opus`, `sonnet`, `fable`) that resolves to its latest stable version

未关闭
#4,068 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:configuration area:models
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

## Describe the feature or problem you'd like to solve
A default currently must pin an exact version (e.g. `claude-opus-4.8`). The Opus family alone has shipped `4.5`, `4.6`, `4.7`, and `4.8` (plus `-fast` variants), so anyone who wants "always the newest Opus" must manually edit their config on each release. I'd like to express a stable *family* preference and let the CLI track the newest version automatically. (I searched existing issues and did not find a duplicate family-level request; #3466 covers related model-selection UX pain but is a distinct problem.)

## Proposed solution
Accept a version-less family alias wherever a model is specified — `settings.json` `"model"`, `--model`, and `COPILOT_MODEL` — e.g. `"model": "opus"`, `copilot --model sonnet`, `COPILOT_MODEL=fable`. Resolution rules:

- Resolves to the highest **stable** version available to the account in that family, re-evaluated at each launch; prefer stable over `-fast`/preview variants when both exist.
- A family alias occupies the same precedence tier as an exact model id would in that source (so an explicit `--model ` still overrides a `settings.json` family alias, as today).
- If the family is unavailable to the account, fall through to the next resolver tier (or emit a clear error), rather than silently using an unrelated model.
- Complements the existing `auto` selector (which lets Copilot pick automatically): a family alias keeps the family fixed while auto-tracking versions within it.

## Example prompts or workflows
- `copilot --model opus -p "refactor this"` keeps using the newest Opus across upgrades with no config churn.
- A user sets `"model": "sonnet"` once and doesn't re-edit config on each Sonnet release.

## Additional context
Reduces how often users must interact with the model picker as new versions ship (see #3466 for current picker UX friction).

贡献指南

打开贡献指南

调研方向

Start by tracing the existing model resolution paths for settings.json, --model, and COPILOT_MODEL. The work is done when family aliases select the newest stable version available to the account, preserve source precedence, and fall through or report a clear error when unavailable.

由索引模型根据 Issue 内容生成。

评估

技术栈
shell
领域
cli
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。