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
}
}