From a082fd3fc1d6430a97c50c15be8479eebfc9c263 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Thu, 11 Dec 2025 18:38:59 +0000 Subject: [PATCH] fix: Remove hardcoded model names from UI to prevent staleness - Remove model references from provider labels ('OpenAI' not 'OpenAI (GPT-4)') - Remove DEFAULT_MODELS usage in form initialization - Use generic placeholders instead of specific model names - Models are now fetched dynamically from each provider's API - UI won't become outdated when new models are released --- frontend-modern/src/components/AI/AIChat.tsx | 6 +++--- .../src/components/Settings/AISettings.tsx | 19 +++++++++---------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/frontend-modern/src/components/AI/AIChat.tsx b/frontend-modern/src/components/AI/AIChat.tsx index 63eff68..5bab071 100644 --- a/frontend-modern/src/components/AI/AIChat.tsx +++ b/frontend-modern/src/components/AI/AIChat.tsx @@ -18,10 +18,10 @@ import type { // Provider display names for grouped model selection const PROVIDER_DISPLAY_NAMES: Record = { - anthropic: 'Anthropic (Claude)', - openai: 'OpenAI (GPT)', + anthropic: 'Anthropic', + openai: 'OpenAI', deepseek: 'DeepSeek', - ollama: 'Ollama (Local)', + ollama: 'Ollama', }; // Parse provider from model ID (format: "provider:model-name") diff --git a/frontend-modern/src/components/Settings/AISettings.tsx b/frontend-modern/src/components/Settings/AISettings.tsx index 8122b8e..d7027c7 100644 --- a/frontend-modern/src/components/Settings/AISettings.tsx +++ b/frontend-modern/src/components/Settings/AISettings.tsx @@ -8,16 +8,15 @@ import { notificationStore } from '@/stores/notifications'; import { logger } from '@/utils/logger'; import { AIAPI } from '@/api/ai'; import type { AISettings as AISettingsType, AIProvider, AuthMethod } from '@/types/ai'; -import { DEFAULT_MODELS } from '@/types/ai'; // Providers are now configured via accordion sections, not a single-provider selector // Provider display names for optgroup labels const PROVIDER_DISPLAY_NAMES: Record = { - anthropic: 'Anthropic (Claude)', - openai: 'OpenAI (GPT)', + anthropic: 'Anthropic', + openai: 'OpenAI', deepseek: 'DeepSeek', - ollama: 'Ollama (Local)', + ollama: 'Ollama', }; // Parse provider from model ID (format: "provider:model-name") @@ -98,7 +97,7 @@ export const AISettings: Component = () => { enabled: false, provider: 'anthropic', apiKey: '', - model: DEFAULT_MODELS.anthropic, + model: '', // Will be set when provider is configured chatModel: '', patrolModel: '', baseUrl: '', @@ -122,7 +121,7 @@ export const AISettings: Component = () => { enabled: data.enabled, provider: data.provider, apiKey: '', - model: data.model || DEFAULT_MODELS[data.provider], + model: data.model || '', // User must select a model chatModel: data.chat_model || '', patrolModel: data.patrol_model || '', baseUrl: data.base_url || '', @@ -470,7 +469,7 @@ export const AISettings: Component = () => { type="text" value={form.model} onInput={(e) => setForm('model', e.currentTarget.value)} - placeholder={DEFAULT_MODELS[form.provider]} + placeholder="Configure a provider below to see available models" class={controlClass()} disabled={saving()} /> @@ -614,7 +613,7 @@ export const AISettings: Component = () => { }} >
- Anthropic (Claude) + Anthropic Configured @@ -682,7 +681,7 @@ export const AISettings: Component = () => { }} >
- OpenAI (GPT-4) + OpenAI Configured @@ -826,7 +825,7 @@ export const AISettings: Component = () => { }} >
- Ollama (Local) + Ollama Available