diff --git a/frontend/src/components/AccountAiSettings.tsx b/frontend/src/components/AccountAiSettings.tsx index 00fa9e5..53dfd36 100644 --- a/frontend/src/components/AccountAiSettings.tsx +++ b/frontend/src/components/AccountAiSettings.tsx @@ -42,10 +42,17 @@ function parseConfigured(raw: Record | undefined): Record(null) const [keyInputs, setKeyInputs] = useState({}) @@ -87,14 +94,11 @@ export function AccountAiSettings({ accountId, compact }: AccountAiSettingsProps const mainProvider = normalizeSupportedProvider(prev.provider) const researchProv = normalizeSupportedProvider(prev.research_provider ?? mainProvider) let next = prev - if (providerId === mainProvider && !models.includes(prev.model)) { + if (providerId === mainProvider && !prev.model?.trim()) { next = { ...next, model: models[0] } } - if (providerId === researchProv) { - const currentResearch = prev.research_model ?? '' - if (!currentResearch || !models.includes(currentResearch)) { - next = { ...next, research_model: models[0] } - } + if (providerId === researchProv && !prev.research_model?.trim()) { + next = { ...next, research_model: models[0] } } return next }) @@ -175,6 +179,8 @@ export function AccountAiSettings({ accountId, compact }: AccountAiSettingsProps const primaryModels = getModelsForProvider(provider) const researchModels = getModelsForProvider(researchProvider) + const primaryModelOptions = mergeModelOptions(primaryModels, settings?.model) + const researchModelOptions = mergeModelOptions(researchModels, settings?.research_model) const primaryModelsMeta = modelsMeta[provider] const researchModelsMeta = modelsMeta[researchProvider] const currentProviderConfigured = configured[provider] @@ -288,18 +294,18 @@ export function AccountAiSettings({ accountId, compact }: AccountAiSettingsProps } > setSettings((prev) => prev ? { ...prev, research_model: e.target.value } : prev, ) } > - {researchModels.length === 0 ? ( + {researchModelOptions.length === 0 ? ( ) : ( - researchModels.map((model) => ( + researchModelOptions.map((model) => ( diff --git a/frontend/src/lib/aiCredentials.ts b/frontend/src/lib/aiCredentials.ts index 28fa018..1dfc784 100644 --- a/frontend/src/lib/aiCredentials.ts +++ b/frontend/src/lib/aiCredentials.ts @@ -82,9 +82,10 @@ export function resolveProviderApiToken( return value } -function normalizeModel(provider: ProviderId, model: string | undefined, fallback: string): string { - const models = modelsForProvider(provider) - if (model && models.includes(model)) return model +function normalizeModel(_provider: ProviderId, model: string | undefined, fallback: string): string { + const trimmed = model?.trim() + if (trimmed) return trimmed + const models = modelsForProvider(_provider) return models[0] ?? fallback }