mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-23 10:00:08 +08:00
feat: ParateraAI 添加支持 (#5792)
* feat: add Paratera mini app with logo and URL. * feat: add Paratera AI provider and associated model. * feat: add Paratera provider to migration configuration * fix: update Paratera entry in default mini apps configuration * feat: add additional Paratera models to system models configuration * feat: reintroduce Paratera provider in migration configuration * fix: update redux-persist version to 99 in store configuration --------- Co-authored-by: George Zhao <georgezhao@SKJLAB>
This commit is contained in:
parent
85e3233a72
commit
e134cacbec
BIN
src/renderer/src/assets/images/apps/paratera.ico
Normal file
BIN
src/renderer/src/assets/images/apps/paratera.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@ -1,4 +1,5 @@
|
|||||||
import n8nLogo from '@renderer/assets/images/apps/n8n.ico?url'
|
import n8nLogo from '@renderer/assets/images/apps/n8n.ico?url'
|
||||||
|
import ParateraLogo from '@renderer/assets/images/apps/paratera.ico?url'
|
||||||
import ApplicationLogo from '@renderer/assets/images/apps/application.png?url'
|
import ApplicationLogo from '@renderer/assets/images/apps/application.png?url'
|
||||||
import ThreeMinTopAppLogo from '@renderer/assets/images/apps/3mintop.png?url'
|
import ThreeMinTopAppLogo from '@renderer/assets/images/apps/3mintop.png?url'
|
||||||
import AbacusLogo from '@renderer/assets/images/apps/abacus.webp?url'
|
import AbacusLogo from '@renderer/assets/images/apps/abacus.webp?url'
|
||||||
@ -450,6 +451,12 @@ const ORIGIN_DEFAULT_MIN_APPS: MinAppType[] = [
|
|||||||
padding: 10
|
padding: 10
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'paratera',
|
||||||
|
name: 'ParateraAI',
|
||||||
|
logo: ParateraLogo,
|
||||||
|
url: 'https://ai.paratera.com/'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'n8n',
|
id: 'n8n',
|
||||||
name: 'n8n',
|
name: 'n8n',
|
||||||
|
|||||||
@ -2074,6 +2074,62 @@ export const SYSTEM_MODELS: Record<string, Model[]> = {
|
|||||||
name: 'Qwen2.5 72B Instruct',
|
name: 'Qwen2.5 72B Instruct',
|
||||||
group: 'Qwen'
|
group: 'Qwen'
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
paratera: [
|
||||||
|
{
|
||||||
|
id: 'GLM-Z1-Flash-P002',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'GLM-Z1-Flash-P002',
|
||||||
|
group: 'GLM'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'GLM-Z1-AirX-P002',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'GLM-Z1-AirX-P002',
|
||||||
|
group: 'GLM'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'DeepSeek-V3-250324-P001',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'DeepSeek-V3-250324-P001',
|
||||||
|
group: 'DeepSeek'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'DeepSeek-R1',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'DeepSeek-R1',
|
||||||
|
group: 'DeepSeek'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'QwQ-N011-32B',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'QwQ-N011-32B',
|
||||||
|
group: 'Qwen'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'GLM-Embedding-2-P002',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'GLM-Embedding-2-P002',
|
||||||
|
group: 'GLM'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'GLM-Embedding-3-P002',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'GLM-Embedding-3-P002',
|
||||||
|
group: 'GLM'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'Doubao-Embedding-Text-P001',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'Doubao-Embedding-Text-P001',
|
||||||
|
group: 'Doubao'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'Doubao-Embedding-Large-Text-P001',
|
||||||
|
provider: 'paratera',
|
||||||
|
name: 'Doubao-Embedding-Large-Text-P001',
|
||||||
|
group: 'Doubao'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ import VoyageAIProviderLogo from '@renderer/assets/images/providers/voyageai.png
|
|||||||
import XirangProviderLogo from '@renderer/assets/images/providers/xirang.png'
|
import XirangProviderLogo from '@renderer/assets/images/providers/xirang.png'
|
||||||
import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png'
|
import ZeroOneProviderLogo from '@renderer/assets/images/providers/zero-one.png'
|
||||||
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
|
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
|
||||||
|
import ParateraLogo from '@renderer/assets/images/apps/paratera.ico'
|
||||||
|
|
||||||
const PROVIDER_LOGO_MAP = {
|
const PROVIDER_LOGO_MAP = {
|
||||||
openai: OpenAiProviderLogo,
|
openai: OpenAiProviderLogo,
|
||||||
@ -88,7 +89,8 @@ const PROVIDER_LOGO_MAP = {
|
|||||||
gpustack: GPUStackProviderLogo,
|
gpustack: GPUStackProviderLogo,
|
||||||
alayanew: AlayaNewProviderLogo,
|
alayanew: AlayaNewProviderLogo,
|
||||||
voyageai: VoyageAIProviderLogo,
|
voyageai: VoyageAIProviderLogo,
|
||||||
qiniu: QiniuProviderLogo
|
qiniu: QiniuProviderLogo,
|
||||||
|
paratera: ParateraLogo
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export function getProviderLogo(providerId: string) {
|
export function getProviderLogo(providerId: string) {
|
||||||
@ -583,5 +585,16 @@ export const PROVIDER_CONFIG = {
|
|||||||
docs: 'https://developer.qiniu.com/aitokenapi',
|
docs: 'https://developer.qiniu.com/aitokenapi',
|
||||||
models: 'https://developer.qiniu.com/aitokenapi/12883/model-list'
|
models: 'https://developer.qiniu.com/aitokenapi/12883/model-list'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
paratera: {
|
||||||
|
api: {
|
||||||
|
url: 'https://llmapi.paratera.com'
|
||||||
|
},
|
||||||
|
websites: {
|
||||||
|
official: 'https://ai.paratera.com/',
|
||||||
|
apiKey: 'https://ai.paratera.com/#/lms/api',
|
||||||
|
docs: 'https://ai.paratera.com/document/llm/quickStart/useApi',
|
||||||
|
models: 'https://ai.paratera.com/#/lms/model'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,7 +46,7 @@ const persistedReducer = persistReducer(
|
|||||||
{
|
{
|
||||||
key: 'cherry-studio',
|
key: 'cherry-studio',
|
||||||
storage,
|
storage,
|
||||||
version: 98,
|
version: 99,
|
||||||
blacklist: ['runtime', 'messages', 'messageBlocks'],
|
blacklist: ['runtime', 'messages', 'messageBlocks'],
|
||||||
migrate
|
migrate
|
||||||
},
|
},
|
||||||
|
|||||||
@ -476,6 +476,16 @@ export const INITIAL_PROVIDERS: Provider[] = [
|
|||||||
models: SYSTEM_MODELS.voyageai,
|
models: SYSTEM_MODELS.voyageai,
|
||||||
isSystem: true,
|
isSystem: true,
|
||||||
enabled: false
|
enabled: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'paratera',
|
||||||
|
name: 'Paratera AI',
|
||||||
|
type: 'openai-compatible',
|
||||||
|
apiKey: '',
|
||||||
|
apiHost: 'https://llmapi.paratera.com',
|
||||||
|
models: SYSTEM_MODELS.paratera,
|
||||||
|
isSystem: true,
|
||||||
|
enabled: false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -1248,6 +1248,15 @@ const migrateConfig = {
|
|||||||
provider.type = 'openai-compatible'
|
provider.type = 'openai-compatible'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
return state
|
||||||
|
} catch (error) {
|
||||||
|
return state
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'99': (state: RootState) => {
|
||||||
|
try {
|
||||||
|
addProvider(state, 'paratera')
|
||||||
|
|
||||||
return state
|
return state
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return state
|
return state
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user