diff --git a/src/renderer/src/assets/images/providers/ph8.png b/src/renderer/src/assets/images/providers/ph8.png new file mode 100644 index 0000000000..a93a89d29a Binary files /dev/null and b/src/renderer/src/assets/images/providers/ph8.png differ diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 9611aeb59f..5c47b0077b 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -50,8 +50,8 @@ import { default as GoogleModelLogo, default as GoogleModelLogoDark } from '@ren import ChatGPT35ModelLogo from '@renderer/assets/images/models/gpt_3.5.png' import ChatGPT4ModelLogo from '@renderer/assets/images/models/gpt_4.png' import { - default as ChatGPT4ModelLogoDark, default as ChatGPT35ModelLogoDark, + default as ChatGPT4ModelLogoDark, default as ChatGptModelLogoDakr, default as ChatGPTo1ModelLogoDark } from '@renderer/assets/images/models/gpt_dark.png' @@ -524,6 +524,20 @@ export const SYSTEM_MODELS: Record = { group: 'Jina AI' } ], + ph8: [ + { + id: 'deepseek-v3-241226', + name: 'deepseek-v3-241226', + provider: 'ph8', + group: 'DeepSeek' + }, + { + id: 'deepseek-r1-250120', + name: 'deepseek-r1-250120', + provider: 'ph8', + group: 'DeepSeek' + } + ], aihubmix: [ { id: 'o3', diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts index 2de9ec4805..209eca2e84 100644 --- a/src/renderer/src/config/providers.ts +++ b/src/renderer/src/config/providers.ts @@ -35,6 +35,7 @@ import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png' import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png' import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.png' import PerplexityProviderLogo from '@renderer/assets/images/providers/perplexity.png' +import Ph8ProviderLogo from '@renderer/assets/images/providers/ph8.png' import PPIOProviderLogo from '@renderer/assets/images/providers/ppio.png' import QiniuProviderLogo from '@renderer/assets/images/providers/qiniu.webp' import SiliconFlowProviderLogo from '@renderer/assets/images/providers/silicon.png' @@ -52,6 +53,7 @@ import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png' import { TOKENFLUX_HOST } from './constant' const PROVIDER_LOGO_MAP = { + ph8: Ph8ProviderLogo, '302ai': Ai302ProviderLogo, openai: OpenAiProviderLogo, silicon: SiliconFlowProviderLogo, @@ -114,6 +116,17 @@ export const NOT_SUPPORTED_REANK_PROVIDERS = ['ollama'] export const ONLY_SUPPORTED_DIMENSION_PROVIDERS = ['ollama', 'infini'] export const PROVIDER_CONFIG = { + ph8: { + api: { + url: 'https://ph8.co' + }, + websites: { + official: 'https://ph8.co', + apiKey: 'https://ph8.co/apiKey', + docs: 'https://m1r239or5aw.feishu.cn/wiki/SegzwS4x1i2P4OksFY2cMvujn9f', + models: 'https://ph8.co/v1/models' + } + }, '302ai': { api: { url: 'https://api.302.ai' diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index bc63d6132c..3c48e82000 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -1060,7 +1060,8 @@ "tokenflux": "TokenFlux", "302ai": "302.AI", "lanyun": "LANYUN", - "vertexai": "Vertex AI" + "vertexai": "Vertex AI", + "ph8": "PH8" }, "restore": { "confirm": "Are you sure you want to restore data?", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 4180e7b20e..9ac68186d2 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -1060,7 +1060,8 @@ "302ai": "302.AI", "cephalon": "Cephalon", "lanyun": "LANYUN", - "vertexai": "Vertex AI" + "vertexai": "Vertex AI", + "ph8": "PH8" }, "restore": { "confirm": "データを復元しますか?", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 9efc0c7cc0..3f21cfbf73 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -1060,7 +1060,8 @@ "tokenflux": "TokenFlux", "302ai": "302.AI", "lanyun": "LANYUN", - "vertexai": "Vertex AI" + "vertexai": "Vertex AI", + "ph8": "PH8" }, "restore": { "confirm": "Вы уверены, что хотите восстановить данные?", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index 76f1bfcee3..d56ee7a66a 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -1060,7 +1060,8 @@ "tokenflux": "TokenFlux", "302ai": "302.AI", "lanyun": "蓝耘科技", - "vertexai": "Vertex AI" + "vertexai": "Vertex AI", + "ph8": "PH8大模型开放平台" }, "restore": { "confirm": "确定要恢复数据吗?", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 531210b660..62413d3663 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -1060,7 +1060,8 @@ "tokenflux": "TokenFlux", "302ai": "302.AI", "lanyun": "藍耘", - "vertexai": "Vertex AI" + "vertexai": "Vertex AI", + "ph8": "PH8大模型開放平台" }, "restore": { "confirm": "確定要復原資料嗎?", diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index d42b4dc065..880770cbae 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -144,6 +144,16 @@ export const INITIAL_PROVIDERS: Provider[] = [ isSystem: true, enabled: false }, + { + id: 'ph8', + name: 'PH8', + type: 'openai', + apiKey: '', + apiHost: 'https://ph8.co', + models: SYSTEM_MODELS.ph8, + isSystem: true, + enabled: false + }, { id: 'cephalon', name: 'Cephalon', diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index a4e175429d..91c7051d8c 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -1754,6 +1754,15 @@ const migrateConfig = { } catch (error) { return state } + }, + '119': (state: RootState) => { + try { + addProvider(state, 'ph8') + state.llm.providers = moveProvider(state.llm.providers, 'ph8', 3) + return state + } catch (error) { + return state + } } }