fix provider指令切换模型类型

This commit is contained in:
HitMargin
2026-04-05 00:51:37 +08:00
parent c33d5dcb1a
commit ec5dfed19e
3 changed files with 53 additions and 23 deletions

View File

@@ -85,14 +85,12 @@ const call: LocalCommandCall = async (args, context) => {
applyConfigEnvironmentVariables()
return { type: 'text', value: `API provider set to ${arg}.` }
} else {
// Cloud providers: set env vars only, clear settings.modelType
// Cloud providers: set env vars only, do NOT touch settings.modelType
delete process.env.CLAUDE_CODE_USE_OPENAI
delete process.env.OPENAI_API_KEY
delete process.env.OPENAI_BASE_URL
process.env[getEnvVarForProvider(arg)] = '1'
// Clear settings.json to 'anthropic' to avoid validation errors
updateSettingsForSource('userSettings', { modelType: 'anthropic' })
// Ensure settings.env gets applied to process.env (in case it contains provider-specific creds)
// Do not modify settings.json - cloud providers controlled solely by env vars
applyConfigEnvironmentVariables()
return { type: 'text', value: `API provider set to ${arg} (via environment variable).` }
}