diff --git a/src/renderer/src/assets/images/providers/moonshot.jpeg b/src/renderer/src/assets/images/providers/moonshot.jpeg new file mode 100644 index 00000000..c0d8127a Binary files /dev/null and b/src/renderer/src/assets/images/providers/moonshot.jpeg differ diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index b84cd0a2..c9ececd6 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -285,6 +285,32 @@ export const SYSTEM_MODELS: Record = { defaultEnabled: false } ], + moonshot: [ + { + id: 'moonshot-v1-8k', + provider: 'moonshot', + name: 'Moonshot V1 8k', + group: 'Moonshot V1', + temperature: 0.7, + defaultEnabled: true + }, + { + id: 'moonshot-v1-32k', + provider: 'moonshot', + name: 'Moonshot V1 32k', + group: 'Moonshot V1', + temperature: 0.7, + defaultEnabled: true + }, + { + id: 'moonshot-v1-128k', + provider: 'moonshot', + name: 'Moonshot V1 128k', + group: 'Moonshot V1', + temperature: 0.7, + defaultEnabled: true + } + ], groq: [ { id: 'llama3-8b-8192', diff --git a/src/renderer/src/services/provider.ts b/src/renderer/src/services/provider.ts index f7340841..1a5d01d1 100644 --- a/src/renderer/src/services/provider.ts +++ b/src/renderer/src/services/provider.ts @@ -5,6 +5,7 @@ import YiProviderLogo from '@renderer/assets/images/providers/yi.svg' import GroqProviderLogo from '@renderer/assets/images/providers/groq.png' import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png' import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png' +import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpeg' import ChatGPTModelLogo from '@renderer/assets/images/models/chatgpt.jpeg' import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.jpeg' import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png' @@ -13,6 +14,7 @@ import QwenModelLogo from '@renderer/assets/images/models/qwen.jpeg' import YiModelLogo from '@renderer/assets/images/models/yi.svg' import LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg' import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg' +import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpeg' export function getProviderLogo(providerId: string) { switch (providerId) { @@ -30,6 +32,8 @@ export function getProviderLogo(providerId: string) { return ZhipuProviderLogo case 'ollama': return OllamaProviderLogo + case 'moonshot': + return MoonshotProviderLogo default: return undefined } @@ -44,7 +48,8 @@ export function getModelLogo(modelId: string) { gemma: GemmaModelLogo, 'yi-': YiModelLogo, llama: LlamaModelLogo, - mixtral: MixtralModelLogo + mixtral: MixtralModelLogo, + moonshot: MoonshotModelLogo } for (const key in logoMap) { diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index 6a29d767..155e3dc3 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -19,7 +19,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 4, + version: 5, blacklist: ['runtime'], migrate }, diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index 813a064d..48c8cd6f 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -58,6 +58,15 @@ const initialState: LlmState = { isSystem: true, enabled: false }, + { + id: 'moonshot', + name: 'Moonshot AI', + apiKey: '', + apiHost: 'https://api.moonshot.cn', + models: SYSTEM_MODELS.moonshot.filter((m) => m.defaultEnabled), + isSystem: true, + enabled: false + }, { id: 'groq', name: 'Groq', diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index be98a915..786eda1e 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -62,6 +62,26 @@ const migrate = createMigrate({ ] } } + }, + // @ts-ignore store type is unknown + '5': (state: RootState) => { + return { + ...state, + llm: { + ...state.llm, + providers: [ + ...state.llm.providers, + { + id: 'moonshot', + name: 'Moonshot', + apiKey: '', + apiHost: 'https://api.moonshot.cn', + isSystem: true, + models: SYSTEM_MODELS.moonshot.filter((m) => m.defaultEnabled) + } + ] + } + } } })