Allow specifying a model *family* (e.g. `opus`, `sonnet`, `fable`) that resolves to its latest stable version
- 主要语言
- 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