diff --git a/src/web-ui/src/app/components/NavPanel/components/PersistentFooterActions.tsx b/src/web-ui/src/app/components/NavPanel/components/PersistentFooterActions.tsx index 7818513e..5589bc1f 100644 --- a/src/web-ui/src/app/components/NavPanel/components/PersistentFooterActions.tsx +++ b/src/web-ui/src/app/components/NavPanel/components/PersistentFooterActions.tsx @@ -124,6 +124,7 @@ const PersistentFooterActions: React.FC = () => { }, []); return ( + <>
@@ -244,6 +245,7 @@ const PersistentFooterActions: React.FC = () => { onAgree={handleAgreeDisclaimer} /> + ); }; diff --git a/src/web-ui/src/infrastructure/config/components/AIModelConfig.scss b/src/web-ui/src/infrastructure/config/components/AIModelConfig.scss index 4dc97656..e64023c9 100644 --- a/src/web-ui/src/infrastructure/config/components/AIModelConfig.scss +++ b/src/web-ui/src/infrastructure/config/components/AIModelConfig.scss @@ -629,16 +629,6 @@ color: var(--color-accent-400); } - &--image_understanding { - background: rgba(168, 85, 247, 0.12); - color: rgba(192, 132, 252, 1); - } - - &--image_generation { - background: rgba(236, 72, 153, 0.12); - color: rgba(244, 114, 182, 1); - } - &--embedding { background: rgba(34, 197, 94, 0.12); color: var(--color-success); @@ -659,11 +649,6 @@ color: rgba(129, 140, 248, 1); } - &--speech_recognition { - background: rgba(168, 85, 247, 0.12); - color: rgba(192, 132, 252, 0.8); - } - &--more { background: var(--element-bg-subtle); color: var(--color-text-muted); diff --git a/src/web-ui/src/infrastructure/config/components/AIModelConfig.tsx b/src/web-ui/src/infrastructure/config/components/AIModelConfig.tsx index 8d41878d..d69ff438 100644 --- a/src/web-ui/src/infrastructure/config/components/AIModelConfig.tsx +++ b/src/web-ui/src/infrastructure/config/components/AIModelConfig.tsx @@ -70,15 +70,8 @@ function uniqModelNames(modelNames: string[]): string[] { function getCapabilitiesByCategory(category: ModelCategory): ModelCapability[] { switch (category) { case 'general_chat': - return ['text_chat', 'function_calling']; - case 'multimodal': - return ['text_chat', 'image_understanding', 'function_calling']; - case 'image_generation': - return ['image_generation']; - case 'speech_recognition': - return ['speech_recognition']; default: - return ['text_chat']; + return ['text_chat', 'function_calling']; } } @@ -200,9 +193,6 @@ const AIModelConfig: React.FC = () => { const categoryOptions = useMemo( () => [ { label: t('category.general_chat'), value: 'general_chat' }, - { label: t('category.multimodal'), value: 'multimodal' }, - { label: t('category.image_generation'), value: 'image_generation' }, - { label: t('category.speech_recognition'), value: 'speech_recognition' }, ], [t] ); @@ -210,9 +200,6 @@ const AIModelConfig: React.FC = () => { const categoryCompactLabels = useMemo>( () => ({ general_chat: t('categoryIcons.general_chat'), - multimodal: t('categoryIcons.multimodal'), - image_generation: t('categoryIcons.image_generation'), - speech_recognition: t('categoryIcons.speech_recognition'), }), [t] ); @@ -622,11 +609,6 @@ const AIModelConfig: React.FC = () => { setIsEditing(true); }; - const handleAddModelToExistingProvider = (config: AIModelConfigType) => { - handleEditProvider(config); - }; - - const handleEdit = (config: AIModelConfigType) => { resetRemoteModelDiscovery(); setManualModelInput(''); @@ -1391,7 +1373,7 @@ const AIModelConfig: React.FC = () => { {!isFromTemplate && ( <> - +
handleCapabilityChange(capability, normalizeSelectValue(value))} - placeholder={t('optional.selectModel')} - // Allow clearing the selection even when there are no compatible models. - disabled={availableModels.length === 0 && !configuredModelId} - options={[ - { label: t('optional.notSet'), value: '' }, - ...availableModels.map(buildModelOption), - ]} - renderOption={renderModelOption} - renderValue={renderModelValue} - className="default-model-config__model-select" - size="small" - /> - - ); - })}
); }; diff --git a/src/web-ui/src/infrastructure/config/types/index.ts b/src/web-ui/src/infrastructure/config/types/index.ts index 658688e7..9eaa67d8 100644 --- a/src/web-ui/src/infrastructure/config/types/index.ts +++ b/src/web-ui/src/infrastructure/config/types/index.ts @@ -68,16 +68,10 @@ export interface AIExperienceConfig { export type ModelCapability = | 'text_chat' - | 'image_understanding' - | 'image_generation' - | 'function_calling' - | 'speech_recognition'; + | 'function_calling'; export type ModelCategory = - | 'general_chat' - | 'multimodal' - | 'image_generation' - | 'speech_recognition'; + | 'general_chat'; export interface ModelMetadata { category: ModelCategory; @@ -87,28 +81,13 @@ export interface ModelMetadata { } -export const CAPABILITY_LABELS: Record = { - text_chat: t('settings/ai-model:capabilities.text_chat'), - image_understanding: t('settings/ai-model:capabilities.image_understanding'), - image_generation: t('settings/ai-model:capabilities.image_generation'), - function_calling: t('settings/ai-model:capabilities.function_calling'), - speech_recognition: t('settings/ai-model:capabilities.speech_recognition') -}; - - export const CATEGORY_LABELS: Record = { - general_chat: t('settings/ai-model:category.general_chat'), - multimodal: t('settings/ai-model:category.multimodal'), - image_generation: t('settings/ai-model:category.image_generation'), - speech_recognition: t('settings/ai-model:category.speech_recognition') + general_chat: t('settings/ai-model:category.general_chat') }; export const CATEGORY_ICONS: Record = { - general_chat: t('settings/ai-model:categoryIcons.general_chat'), - multimodal: t('settings/ai-model:categoryIcons.multimodal'), - image_generation: t('settings/ai-model:categoryIcons.image_generation'), - speech_recognition: t('settings/ai-model:categoryIcons.speech_recognition') + general_chat: t('settings/ai-model:categoryIcons.general_chat') }; @@ -168,10 +147,6 @@ export interface DefaultModelsConfig { primary?: string | null; fast?: string | null; - - image_understanding?: string | null; - - speech_recognition?: string | null; } export interface AIConfig { @@ -582,16 +557,4 @@ export interface DefaultModels { export interface OptionalCapabilityModels { - - image_understanding?: string; - - image_generation?: string; - - speech_recognition?: string; } - - -export type OptionalCapabilityType = - | 'image_understanding' - | 'image_generation' - | 'speech_recognition';