From e4b74e1dbdc4dd3e70cd808bdc9bc5248befffdd Mon Sep 17 00:00:00 2001 From: icarus Date: Wed, 6 Aug 2025 18:53:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=BE=E7=BD=AE):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20Groq=20=E6=9C=8D=E5=8A=A1=E5=B1=82=E7=BA=A7=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为 Groq 提供商添加特定的服务层级选项(on_demand 和 performance),同时更新中文翻译文件以包含新的选项 --- src/renderer/src/i18n/locales/zh-cn.json | 2 + .../Tabs/components/OpenAISettingsGroup.tsx | 63 +++++++++++++------ 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index b9e59b2fb9..c1308a7748 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -3054,6 +3054,8 @@ "auto": "自动", "default": "默认", "flex": "灵活", + "on_demand": "按需", + "performance": "性能", "priority": "优先", "tip": "指定用于处理请求的延迟层级", "title": "服务层级" diff --git a/src/renderer/src/pages/home/Tabs/components/OpenAISettingsGroup.tsx b/src/renderer/src/pages/home/Tabs/components/OpenAISettingsGroup.tsx index 624d8baea8..898b40bb45 100644 --- a/src/renderer/src/pages/home/Tabs/components/OpenAISettingsGroup.tsx +++ b/src/renderer/src/pages/home/Tabs/components/OpenAISettingsGroup.tsx @@ -5,7 +5,7 @@ import { SettingDivider, SettingRow } from '@renderer/pages/settings' import { CollapsibleSettingGroup } from '@renderer/pages/settings/SettingGroup' import { RootState, useAppDispatch } from '@renderer/store' import { setOpenAISummaryText } from '@renderer/store/settings' -import { Model, OpenAIServiceTier, OpenAISummaryText } from '@renderer/types' +import { Model, OpenAIServiceTier, OpenAISummaryText, ServiceTier, SystemProviderIds } from '@renderer/types' import { Tooltip } from 'antd' import { CircleHelp } from 'lucide-react' import { FC, useCallback, useEffect, useMemo } from 'react' @@ -70,31 +70,54 @@ const OpenAISettingsGroup: FC = ({ model, providerId, SettingGroup, Setti ] const serviceTierOptions = useMemo(() => { - const baseOptions: { value: OpenAIServiceTier; label: string }[] = [ - { - value: 'auto', - label: t('settings.openai.service_tier.auto') - }, - { - value: 'default', - label: t('settings.openai.service_tier.default') - }, - { - value: 'flex', - label: t('settings.openai.service_tier.flex') - }, - { - value: 'priority', - label: t('settings.openai.service_tier.priority') - } - ] + let baseOptions: { value: ServiceTier; label: string }[] + if (provider.id === SystemProviderIds.groq) { + baseOptions = [ + { + value: 'auto', + label: t('settings.openai.service_tier.auto') + }, + { + value: 'on_demand', + label: t('settings.openai.service_tier.on_demand') + }, + { + value: 'flex', + label: t('settings.openai.service_tier.flex') + }, + { + value: 'performance', + label: t('settings.openai.service_tier.performance') + } + ] + } else { + // 其他情况默认是和 OpenAI 相同 + baseOptions = [ + { + value: 'auto', + label: t('settings.openai.service_tier.auto') + }, + { + value: 'default', + label: t('settings.openai.service_tier.default') + }, + { + value: 'flex', + label: t('settings.openai.service_tier.flex') + }, + { + value: 'priority', + label: t('settings.openai.service_tier.priority') + } + ] + } return baseOptions.filter((option) => { if (option.value === 'flex') { return isSupportedFlexServiceTier } return true }) - }, [isSupportedFlexServiceTier, t]) + }, [isSupportedFlexServiceTier, provider.id, t]) useEffect(() => { if (serviceTierMode && !serviceTierOptions.some((option) => option.value === serviceTierMode)) {