From 9b065558ff340863326f4d5d4ba9f240f7008377 Mon Sep 17 00:00:00 2001 From: icarus Date: Wed, 6 Aug 2025 19:04:47 +0800 Subject: [PATCH] =?UTF-8?q?refactor(providers):=20=E5=B0=86=20PROVIDER=5FC?= =?UTF-8?q?ONFIG=20=E9=87=8D=E5=91=BD=E5=90=8D=E4=B8=BA=20PROVIDER=5FURLS?= =?UTF-8?q?=20=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3=E5=BC=95?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/config/providers.ts | 47 +++++-------------- .../ProviderSettings/AwsBedrockSettings.tsx | 4 +- .../ProviderSettings/ModelList/ModelList.tsx | 4 +- .../ProviderSettings/ProviderOAuth.tsx | 6 +-- .../ProviderSettings/ProviderSetting.tsx | 4 +- .../ProviderSettings/VertexAISettings.tsx | 4 +- 6 files changed, 24 insertions(+), 45 deletions(-) diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts index 82c2bf3c89..f0e9abce51 100644 --- a/src/renderer/src/config/providers.ts +++ b/src/renderer/src/config/providers.ts @@ -659,7 +659,19 @@ export function getProviderLogo(providerId: string) { export const NOT_SUPPORTED_REANK_PROVIDERS = ['ollama'] export const ONLY_SUPPORTED_DIMENSION_PROVIDERS = ['ollama', 'infini'] -export const PROVIDER_CONFIG = { +type ProviderUrls = { + api: { + url: string + } + websites?: { + official: string + apiKey?: string + docs: string + models?: string + } +} + +export const PROVIDER_URLS: Record = { ph8: { api: { url: 'https://ph8.co' @@ -693,17 +705,6 @@ export const PROVIDER_CONFIG = { models: 'https://platform.openai.com/docs/models' } }, - o3: { - api: { - url: 'https://api.o3.fan' - }, - websites: { - official: 'https://o3.fan', - apiKey: 'https://o3.fan/token', - docs: '', - models: 'https://o3.fan/info/models/' - } - }, burncloud: { api: { url: 'https://ai.burncloud.com' @@ -749,17 +750,6 @@ export const PROVIDER_CONFIG = { models: 'https://cloud.siliconflow.cn/models' } }, - 'gitee-ai': { - api: { - url: 'https://ai.gitee.com' - }, - websites: { - official: 'https://ai.gitee.com/', - apiKey: 'https://ai.gitee.com/dashboard/settings/tokens', - docs: 'https://ai.gitee.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90/POST/chat/completions', - models: 'https://ai.gitee.com/serverless-api' - } - }, deepseek: { api: { url: 'https://api.deepseek.com' @@ -1081,17 +1071,6 @@ export const PROVIDER_CONFIG = { models: 'https://fireworks.ai/dashboard/models' } }, - zhinao: { - api: { - url: 'https://api.360.cn' - }, - websites: { - official: 'https://ai.360.com/', - apiKey: 'https://ai.360.com/platform/keys', - docs: 'https://ai.360.com/platform/docs/overview', - models: 'https://ai.360.com/platform/limit' - } - }, hunyuan: { api: { url: 'https://api.hunyuan.cloud.tencent.com' diff --git a/src/renderer/src/pages/settings/ProviderSettings/AwsBedrockSettings.tsx b/src/renderer/src/pages/settings/ProviderSettings/AwsBedrockSettings.tsx index d358198345..1410ce067b 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/AwsBedrockSettings.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/AwsBedrockSettings.tsx @@ -1,5 +1,5 @@ import { HStack } from '@renderer/components/Layout' -import { PROVIDER_CONFIG } from '@renderer/config/providers' +import { PROVIDER_URLS } from '@renderer/config/providers' import { useAwsBedrockSettings } from '@renderer/hooks/useAwsBedrock' import { Alert, Input } from 'antd' import { FC, useState } from 'react' @@ -12,7 +12,7 @@ const AwsBedrockSettings: FC = () => { const { accessKeyId, secretAccessKey, region, setAccessKeyId, setSecretAccessKey, setRegion } = useAwsBedrockSettings() - const providerConfig = PROVIDER_CONFIG['aws-bedrock'] + const providerConfig = PROVIDER_URLS['aws-bedrock'] const apiKeyWebsite = providerConfig?.websites?.apiKey const [localAccessKeyId, setLocalAccessKeyId] = useState(accessKeyId) diff --git a/src/renderer/src/pages/settings/ProviderSettings/ModelList/ModelList.tsx b/src/renderer/src/pages/settings/ProviderSettings/ModelList/ModelList.tsx index 31f94ac252..0a29e60f03 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ModelList/ModelList.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ModelList/ModelList.tsx @@ -2,7 +2,7 @@ import CollapsibleSearchBar from '@renderer/components/CollapsibleSearchBar' import CustomTag from '@renderer/components/CustomTag' import { LoadingIcon, StreamlineGoodHealthAndWellBeing } from '@renderer/components/Icons' import { HStack } from '@renderer/components/Layout' -import { PROVIDER_CONFIG } from '@renderer/config/providers' +import { PROVIDER_URLS } from '@renderer/config/providers' import { useProvider } from '@renderer/hooks/useProvider' import { getProviderLabel } from '@renderer/i18n/label' import { SettingHelpLink, SettingHelpText, SettingHelpTextRow, SettingSubtitle } from '@renderer/pages/settings' @@ -47,7 +47,7 @@ const ModelList: React.FC = ({ providerId }) => { const { t } = useTranslation() const { provider, models, removeModel } = useProvider(providerId) - const providerConfig = PROVIDER_CONFIG[provider.id] + const providerConfig = PROVIDER_URLS[provider.id] const docsWebsite = providerConfig?.websites?.docs const modelsWebsite = providerConfig?.websites?.models diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderOAuth.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderOAuth.tsx index 86d151a27b..d8665e5878 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderOAuth.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderOAuth.tsx @@ -4,7 +4,7 @@ import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.p import TokenFluxProviderLogo from '@renderer/assets/images/providers/tokenflux.png' import { HStack } from '@renderer/components/Layout' import OAuthButton from '@renderer/components/OAuth/OAuthButton' -import { PROVIDER_CONFIG } from '@renderer/config/providers' +import { PROVIDER_URLS } from '@renderer/config/providers' import { useProvider } from '@renderer/hooks/useProvider' import { getProviderLabel } from '@renderer/i18n/label' import { providerBills, providerCharge } from '@renderer/utils/oauth' @@ -35,7 +35,7 @@ const ProviderOAuth: FC = ({ providerId }) => { } let providerWebsite = - PROVIDER_CONFIG[provider.id]?.api?.url.replace('https://', '').replace('api.', '') || provider.name + PROVIDER_URLS[provider.id]?.api?.url.replace('https://', '').replace('api.', '') || provider.name if (provider.id === 'ppio') { providerWebsite = 'ppio.com' } @@ -62,7 +62,7 @@ const ProviderOAuth: FC = ({ providerId }) => { i18nKey="settings.provider.oauth.description" components={{ website: ( - + ) }} values={{ provider: providerWebsite }} diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx index 9c09c76771..6eb40c7ad2 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx @@ -3,7 +3,7 @@ import { LoadingIcon } from '@renderer/components/Icons' import { HStack } from '@renderer/components/Layout' import { ApiKeyListPopup } from '@renderer/components/Popups/ApiKeyListPopup' import { isEmbeddingModel, isRerankModel } from '@renderer/config/models' -import { PROVIDER_CONFIG } from '@renderer/config/providers' +import { PROVIDER_URLS } from '@renderer/config/providers' import { useTheme } from '@renderer/context/ThemeProvider' import { useAllProviders, useProvider, useProviders } from '@renderer/hooks/useProvider' import i18n from '@renderer/i18n' @@ -57,7 +57,7 @@ const ProviderSetting: FC = ({ providerId }) => { const isDmxapi = provider.id === 'dmxapi' - const providerConfig = PROVIDER_CONFIG[provider.id] + const providerConfig = PROVIDER_URLS[provider.id] const officialWebsite = providerConfig?.websites?.official const apiKeyWebsite = providerConfig?.websites?.apiKey const configedApiHost = providerConfig?.api?.url diff --git a/src/renderer/src/pages/settings/ProviderSettings/VertexAISettings.tsx b/src/renderer/src/pages/settings/ProviderSettings/VertexAISettings.tsx index cd38c488e7..3dc7ae36a1 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/VertexAISettings.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/VertexAISettings.tsx @@ -1,5 +1,5 @@ import { HStack } from '@renderer/components/Layout' -import { PROVIDER_CONFIG } from '@renderer/config/providers' +import { PROVIDER_URLS } from '@renderer/config/providers' import { useProvider } from '@renderer/hooks/useProvider' import { useVertexAISettings } from '@renderer/hooks/useVertexAI' import { Alert, Input, Space } from 'antd' @@ -30,7 +30,7 @@ const VertexAISettings: FC = ({ providerId }) => { const { provider, updateProvider } = useProvider(providerId) const [apiHost, setApiHost] = useState(provider.apiHost) - const providerConfig = PROVIDER_CONFIG['vertexai'] + const providerConfig = PROVIDER_URLS['vertexai'] const apiKeyWebsite = providerConfig?.websites?.apiKey const onUpdateApiHost = () => {