diff --git a/src/renderer/src/assets/images/apps/obsidian.svg b/src/renderer/src/assets/images/apps/obsidian.svg deleted file mode 100644 index dbf69ac8..00000000 --- a/src/renderer/src/assets/images/apps/obsidian.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/renderer/src/assets/images/providers/alayanew.webp b/src/renderer/src/assets/images/providers/alayanew.webp new file mode 100644 index 00000000..b53fd47d Binary files /dev/null and b/src/renderer/src/assets/images/providers/alayanew.webp differ diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 04db317b..2ed36b0d 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -598,6 +598,7 @@ export const SYSTEM_MODELS: Record = { group: '01-ai' } ], + alayanew: [], openai: [ { id: 'gpt-4.5-preview', provider: 'openai', name: ' gpt-4.5-preview', group: 'gpt-4.5' }, { id: 'gpt-4o', provider: 'openai', name: ' GPT-4o', group: 'GPT 4o' }, diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts index 485ea7e2..5a7878df 100644 --- a/src/renderer/src/config/providers.ts +++ b/src/renderer/src/config/providers.ts @@ -2,6 +2,7 @@ import ZhinaoProviderLogo from '@renderer/assets/images/models/360.png' import HunyuanProviderLogo from '@renderer/assets/images/models/hunyuan.png' import AzureProviderLogo from '@renderer/assets/images/models/microsoft.png' import AiHubMixProviderLogo from '@renderer/assets/images/providers/aihubmix.jpg' +import AlayaNewProviderLogo from '@renderer/assets/images/providers/alayanew.webp' import AnthropicProviderLogo from '@renderer/assets/images/providers/anthropic.png' import BaichuanProviderLogo from '@renderer/assets/images/providers/baichuan.png' import BaiduCloudProviderLogo from '@renderer/assets/images/providers/baidu-cloud.svg' @@ -40,95 +41,55 @@ import BytedanceProviderLogo from '@renderer/assets/images/providers/volcengine. import XirangProviderLogo from '@renderer/assets/images/providers/xirang.png' import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png' import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png' + +const PROVIDER_LOGO_MAP = { + openai: OpenAiProviderLogo, + silicon: SiliconFlowProviderLogo, + deepseek: DeepSeekProviderLogo, + 'gitee-ai': GiteeAIProviderLogo, + yi: ZeroOneProviderLogo, + groq: GroqProviderLogo, + zhipu: ZhipuProviderLogo, + ollama: OllamaProviderLogo, + lmstudio: LMStudioProviderLogo, + moonshot: MoonshotProviderLogo, + openrouter: OpenRouterProviderLogo, + baichuan: BaichuanProviderLogo, + dashscope: BailianProviderLogo, + modelscope: ModelScopeProviderLogo, + xirang: XirangProviderLogo, + anthropic: AnthropicProviderLogo, + aihubmix: AiHubMixProviderLogo, + gemini: GoogleProviderLogo, + stepfun: StepProviderLogo, + doubao: BytedanceProviderLogo, + 'graphrag-kylin-mountain': GraphRagProviderLogo, + minimax: MinimaxProviderLogo, + github: GithubProviderLogo, + ocoolai: OcoolAiProviderLogo, + together: TogetherProviderLogo, + fireworks: FireworksProviderLogo, + zhinao: ZhinaoProviderLogo, + nvidia: NvidiaProviderLogo, + 'azure-openai': AzureProviderLogo, + hunyuan: HunyuanProviderLogo, + grok: GrokProviderLogo, + hyperbolic: HyperbolicProviderLogo, + mistral: MistralProviderLogo, + jina: JinaProviderLogo, + ppio: PPIOProviderLogo, + 'baidu-cloud': BaiduCloudProviderLogo, + dmxapi: DmxapiProviderLogo, + perplexity: PerplexityProviderLogo, + infini: InfiniProviderLogo, + o3: O3ProviderLogo, + 'tencent-cloud-ti': TencentCloudProviderLogo, + gpustack: GPUStackProviderLogo, + alayanew: AlayaNewProviderLogo +} as const + export function getProviderLogo(providerId: string) { - switch (providerId) { - case 'openai': - return OpenAiProviderLogo - case 'silicon': - return SiliconFlowProviderLogo - case 'deepseek': - return DeepSeekProviderLogo - case 'gitee-ai': - return GiteeAIProviderLogo - case 'yi': - return ZeroOneProviderLogo - case 'groq': - return GroqProviderLogo - case 'zhipu': - return ZhipuProviderLogo - case 'ollama': - return OllamaProviderLogo - case 'lmstudio': - return LMStudioProviderLogo - case 'moonshot': - return MoonshotProviderLogo - case 'openrouter': - return OpenRouterProviderLogo - case 'baichuan': - return BaichuanProviderLogo - case 'dashscope': - return BailianProviderLogo - case 'modelscope': - return ModelScopeProviderLogo - case 'xirang': - return XirangProviderLogo - case 'anthropic': - return AnthropicProviderLogo - case 'aihubmix': - return AiHubMixProviderLogo - case 'gemini': - return GoogleProviderLogo - case 'stepfun': - return StepProviderLogo - case 'doubao': - return BytedanceProviderLogo - case 'graphrag-kylin-mountain': - return GraphRagProviderLogo - case 'minimax': - return MinimaxProviderLogo - case 'github': - return GithubProviderLogo - case 'ocoolai': - return OcoolAiProviderLogo - case 'together': - return TogetherProviderLogo - case 'fireworks': - return FireworksProviderLogo - case 'zhinao': - return ZhinaoProviderLogo - case 'nvidia': - return NvidiaProviderLogo - case 'azure-openai': - return AzureProviderLogo - case 'hunyuan': - return HunyuanProviderLogo - case 'grok': - return GrokProviderLogo - case 'hyperbolic': - return HyperbolicProviderLogo - case 'mistral': - return MistralProviderLogo - case 'jina': - return JinaProviderLogo - case 'ppio': - return PPIOProviderLogo - case 'baidu-cloud': - return BaiduCloudProviderLogo - case 'dmxapi': - return DmxapiProviderLogo - case 'perplexity': - return PerplexityProviderLogo - case 'infini': - return InfiniProviderLogo - case 'o3': - return O3ProviderLogo - case 'tencent-cloud-ti': - return TencentCloudProviderLogo - case 'gpustack': - return GPUStackProviderLogo - default: - return undefined - } + return PROVIDER_LOGO_MAP[providerId as keyof typeof PROVIDER_LOGO_MAP] } export const PROVIDER_CONFIG = { @@ -387,9 +348,15 @@ export const PROVIDER_CONFIG = { models: 'https://platform.minimaxi.com/document/Models' } }, - 'graphrag-kylin-mountain': { + alayanew: { api: { - url: '' + url: 'https://deepseek.alayanew.com' + }, + websites: { + official: 'https://www.alayanew.com/backend/register?id=cherrystudio', + apiKey: 'https://www.alayanew.com/access?id=cherrystudio', + docs: 'https://docs.alayanew.com/docs/modelService/interview?utm_source=cherrystudio', + models: 'https://www.alayanew.com/product/deepseek?id=cherrystudio' } }, openrouter: { diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 849ed332..065bf80e 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -629,7 +629,8 @@ "yi": "Yi", "zhinao": "360AI", "zhipu": "ZHIPU AI", - "gpustack": "GPUStack" + "gpustack": "GPUStack", + "alayanew": "Alaya NeW" }, "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 f53dc489..3119ce92 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -629,7 +629,8 @@ "yi": "零一万物", "zhinao": "360智脳", "zhipu": "智譜AI", - "gpustack": "GPUStack" + "gpustack": "GPUStack", + "alayanew": "Alaya NeW" }, "restore": { "confirm": "データを復元しますか?", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 9ccd2d13..8e3e8b24 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -629,7 +629,8 @@ "yi": "Yi", "zhinao": "360AI", "zhipu": "ZHIPU AI", - "gpustack": "GPUStack" + "gpustack": "GPUStack", + "alayanew": "Alaya NeW" }, "restore": { "confirm": "Вы уверены, что хотите восстановить данные?", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index a933b69f..1289fcee 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -623,7 +623,8 @@ "yi": "零一万物", "zhinao": "360智脑", "zhipu": "智谱AI", - "gpustack": "GPUStack" + "gpustack": "GPUStack", + "alayanew": "Alaya NeW" }, "restore": { "confirm": "确定要恢复数据吗?", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index eec4668a..b1808cb3 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -623,7 +623,8 @@ "yi": "零一萬物", "zhinao": "360 智腦", "zhipu": "智譜 AI", - "gpustack": "GPUStack" + "gpustack": "GPUStack", + "alayanew": "Alaya NeW" }, "restore": { "confirm": "確定要復原資料嗎?", diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index da059823..97dc9a53 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -36,7 +36,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 79, + version: 80, blacklist: ['runtime', 'messages'], migrate }, diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index cdc32582..30011f40 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -119,6 +119,16 @@ const initialState: LlmState = { isSystem: true, enabled: false }, + { + id: 'alayanew', + name: 'AlayaNew', + type: 'openai', + apiKey: '', + apiHost: 'https://deepseek.alayanew.com', + models: SYSTEM_MODELS.alayanew, + isSystem: true, + enabled: false + }, { id: 'infini', name: 'Infini', diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index 575c5c55..ed006331 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -1256,6 +1256,20 @@ const migrateConfig = { enabled: false }) return state + }, + '80': (state: RootState) => { + state.llm.providers.push({ + id: 'alayanew', + name: 'AlayaNew', + type: 'openai', + apiKey: '', + apiHost: 'https://deepseek.alayanew.com', + models: SYSTEM_MODELS.alayanew, + isSystem: true, + enabled: false + }) + state.llm.providers = moveProvider(state.llm.providers, 'alayanew', 10) + return state } }