diff --git a/packages/i18n/src/locales/en/settings.yaml b/packages/i18n/src/locales/en/settings.yaml index 75c3c4733..f9c97a1e2 100644 --- a/packages/i18n/src/locales/en/settings.yaml +++ b/packages/i18n/src/locales/en/settings.yaml @@ -1006,6 +1006,9 @@ pages: chat: title: Chat description: Text generation model providers. e.g. OpenRouter, OpenAI, Ollama. + vision: + title: Vision + description: Vision model providers for image understanding. speech: title: Speech description: Speech (text-to-speech) model providers. e.g. ElevenLabs, Azure Speech. diff --git a/packages/i18n/src/locales/zh-Hans/settings.yaml b/packages/i18n/src/locales/zh-Hans/settings.yaml index c7a94a54a..0f04934c9 100644 --- a/packages/i18n/src/locales/zh-Hans/settings.yaml +++ b/packages/i18n/src/locales/zh-Hans/settings.yaml @@ -960,6 +960,9 @@ pages: chat: title: 聊天 description: Text generation model providers. e.g. OpenRouter, OpenAI, Ollama. + vision: + title: 视觉 + description: 用于图像理解的视觉模型服务来源。 speech: title: Speech description: Speech (text-to-speech) model providers. e.g. ElevenLabs, Azure Speech. diff --git a/packages/stage-pages/src/pages/settings/modules/vision.vue b/packages/stage-pages/src/pages/settings/modules/vision.vue index bbb8c34d5..4e1222970 100644 --- a/packages/stage-pages/src/pages/settings/modules/vision.vue +++ b/packages/stage-pages/src/pages/settings/modules/vision.vue @@ -12,7 +12,7 @@ import { RouterLink } from 'vue-router' const providersStore = useProvidersStore() const visionStore = useVisionStore() const visionProcessingStore = useVisionProcessingStore() -const { persistedChatProvidersMetadata, configuredProviders } = storeToRefs(providersStore) +const { persistedVisionProvidersMetadata, configuredProviders } = storeToRefs(providersStore) const { activeProvider, activeModel, @@ -61,7 +61,11 @@ function handleDeleteProvider(providerId: string) { const formattedLastCapture = computed(() => formatRelativeTime(lastCaptureAt.value)) const formattedLastContextUpdate = computed(() => formatRelativeTime(lastContextUpdateAt.value)) -const isOllamaVisionProvider = computed(() => activeProvider.value === 'ollama') +const isOllamaVisionProvider = computed(() => activeProvider.value === 'vision-ollama') + +function canDeleteProvider(providerId: string) { + return !providerId.startsWith('official-provider') && !providerId.startsWith('vision-official-provider') +} function formatRelativeTime(timestamp: number | null) { if (!timestamp) @@ -93,12 +97,12 @@ function formatRelativeTime(timestamp: number | null) {
-