fix(model-resolver): prefer provider's recommended variant over saved base model (#1131)
This commit is contained in:
parent
03caf9c958
commit
fa39a87465
1 changed files with 14 additions and 0 deletions
|
|
@ -504,6 +504,20 @@ export async function findInitialModel(options: {
|
|||
if (defaultProvider && defaultModelId) {
|
||||
const found = modelRegistry.find(defaultProvider, defaultModelId);
|
||||
if (found) {
|
||||
// Check if the provider's recommended default is a higher-capability variant
|
||||
// of the saved model (e.g. saved "claude-opus-4-6" vs recommended "claude-opus-4-6[1m]").
|
||||
// If so, prefer the recommended variant to avoid using a smaller context window (#1125).
|
||||
const recommendedId = defaultModelPerProvider[defaultProvider as KnownProvider];
|
||||
if (recommendedId && recommendedId !== defaultModelId && recommendedId.startsWith(defaultModelId)) {
|
||||
const recommended = modelRegistry.find(defaultProvider, recommendedId);
|
||||
if (recommended) {
|
||||
model = recommended;
|
||||
if (defaultThinkingLevel) {
|
||||
thinkingLevel = defaultThinkingLevel;
|
||||
}
|
||||
return { model, thinkingLevel, fallbackMessage: undefined };
|
||||
}
|
||||
}
|
||||
model = found;
|
||||
if (defaultThinkingLevel) {
|
||||
thinkingLevel = defaultThinkingLevel;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue