mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-24 18:50:56 +08:00
add o3
This commit is contained in:
parent
f09d1b3d9a
commit
5c32d41cd8
BIN
src/renderer/src/assets/images/providers/o3.png
Normal file
BIN
src/renderer/src/assets/images/providers/o3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@ -331,6 +331,134 @@ export const SYSTEM_MODELS: Record<string, Model[]> = {
|
||||
group: 'Qwen'
|
||||
}
|
||||
],
|
||||
o3: [
|
||||
{
|
||||
id: 'gpt-4o',
|
||||
provider: 'o3',
|
||||
name: 'GPT-4o',
|
||||
group: 'OpenAI'
|
||||
},
|
||||
{
|
||||
id: 'o1-mini',
|
||||
provider: 'o3',
|
||||
name: 'o1-mini',
|
||||
group: 'OpenAI'
|
||||
},
|
||||
{
|
||||
id: 'o1-preview',
|
||||
provider: 'o3',
|
||||
name: 'o1-preview',
|
||||
group: 'OpenAI'
|
||||
},
|
||||
{
|
||||
id: 'o3-mini',
|
||||
provider: 'o3',
|
||||
name: 'o3-mini',
|
||||
group: 'OpenAI'
|
||||
},
|
||||
{
|
||||
id: 'o3-mini-high',
|
||||
provider: 'o3',
|
||||
name: 'o3-mini-high',
|
||||
group: 'OpenAI'
|
||||
},
|
||||
{
|
||||
id: 'claude-3-7-sonnet-20250219',
|
||||
provider: 'o3',
|
||||
name: 'claude-3-7-sonnet-20250219',
|
||||
group: 'Anthropic'
|
||||
},
|
||||
{
|
||||
id: 'claude-3-5-sonnet-20241022',
|
||||
provider: 'o3',
|
||||
name: 'claude-3-5-sonnet-20241022',
|
||||
group: 'Anthropic'
|
||||
},
|
||||
{
|
||||
id: 'claude-3-5-haiku-20241022',
|
||||
provider: 'o3',
|
||||
name: 'claude-3-5-haiku-20241022',
|
||||
group: 'Anthropic'
|
||||
},
|
||||
{
|
||||
id: 'claude-3-opus-20240229',
|
||||
provider: 'o3',
|
||||
name: 'claude-3-opus-20240229',
|
||||
group: 'Anthropic'
|
||||
},
|
||||
{
|
||||
id: 'claude-3-haiku-20240307',
|
||||
provider: 'o3',
|
||||
name: 'claude-3-haiku-20240307',
|
||||
group: 'Anthropic'
|
||||
},
|
||||
{
|
||||
id: 'claude-3-5-sonnet-20240620',
|
||||
provider: 'o3',
|
||||
name: 'claude-3-5-sonnet-20240620',
|
||||
group: 'Anthropic'
|
||||
},
|
||||
{
|
||||
id: 'deepseek-ai/Deepseek-R1',
|
||||
provider: 'o3',
|
||||
name: 'DeepSeek R1',
|
||||
group: 'DeepSeek'
|
||||
},
|
||||
{
|
||||
id: 'deepseek-reasoner',
|
||||
provider: 'o3',
|
||||
name: 'deepseek-reasoner',
|
||||
group: 'DeepSeek'
|
||||
},
|
||||
{
|
||||
id: 'deepseek-chat',
|
||||
provider: 'o3',
|
||||
name: 'deepseek-chat',
|
||||
group: 'DeepSeek'
|
||||
},
|
||||
{
|
||||
id: 'deepseek-ai/DeepSeek-V3',
|
||||
provider: 'o3',
|
||||
name: 'DeepSeek V3',
|
||||
group: 'DeepSeek'
|
||||
},
|
||||
{
|
||||
id: 'text-embedding-3-small',
|
||||
provider: 'o3',
|
||||
name: 'text-embedding-3-small',
|
||||
group: '嵌入模型'
|
||||
},
|
||||
{
|
||||
id: 'text-embedding-3-small',
|
||||
provider: 'o3',
|
||||
name: 'text-embedding-3-small',
|
||||
group: '嵌入模型'
|
||||
},
|
||||
{
|
||||
id: 'text-embedding-ada-002',
|
||||
provider: 'o3',
|
||||
name: 'text-embedding-ada-002',
|
||||
group: '嵌入模型'
|
||||
},
|
||||
{
|
||||
id: 'text-embedding-v2',
|
||||
provider: 'o3',
|
||||
name: 'text-embedding-v2',
|
||||
group: '嵌入模型'
|
||||
},
|
||||
{
|
||||
id: 'Doubao-embedding',
|
||||
provider: 'o3',
|
||||
name: 'Doubao-embedding',
|
||||
group: '嵌入模型'
|
||||
},
|
||||
{
|
||||
id: 'Doubao-embedding-large',
|
||||
provider: 'o3',
|
||||
name: 'Doubao-embedding-large',
|
||||
group: '嵌入模型'
|
||||
}
|
||||
],
|
||||
ollama: [],
|
||||
lmstudio: [],
|
||||
silicon: [
|
||||
|
||||
@ -24,6 +24,7 @@ import MistralProviderLogo from '@renderer/assets/images/providers/mistral.png'
|
||||
import ModelScopeProviderLogo from '@renderer/assets/images/providers/modelscope.png'
|
||||
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.png'
|
||||
import NvidiaProviderLogo from '@renderer/assets/images/providers/nvidia.png'
|
||||
import O3ProviderLogo from '@renderer/assets/images/providers/o3.png'
|
||||
import OcoolAiProviderLogo from '@renderer/assets/images/providers/ocoolai.png'
|
||||
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
|
||||
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
|
||||
@ -114,6 +115,8 @@ export function getProviderLogo(providerId: string) {
|
||||
return PerplexityProviderLogo
|
||||
case 'infini':
|
||||
return InfiniProviderLogo
|
||||
case 'o3':
|
||||
return O3ProviderLogo
|
||||
default:
|
||||
return undefined
|
||||
}
|
||||
@ -131,6 +134,17 @@ export const PROVIDER_CONFIG = {
|
||||
models: 'https://platform.openai.com/docs/models'
|
||||
}
|
||||
},
|
||||
o3: {
|
||||
api: {
|
||||
url: 'https://api.o3.fan'
|
||||
},
|
||||
websites: {
|
||||
official: 'https://o3.fan',
|
||||
apiKey: 'https://o3.fan/token',
|
||||
docs: 'https://docs.o3.fan',
|
||||
models: 'https://docs.o3.fan/models'
|
||||
}
|
||||
},
|
||||
ppio: {
|
||||
api: {
|
||||
url: 'https://api.ppinfra.com/v3/openai'
|
||||
|
||||
@ -519,6 +519,7 @@
|
||||
"title": "You are an assistant who is good at conversation. You need to summarize the user's conversation into a title of 10 characters or less, ensuring it matches the user's primary language without using punctuation or other special symbols."
|
||||
},
|
||||
"provider": {
|
||||
"o3": "O3",
|
||||
"aihubmix": "AiHubMix",
|
||||
"anthropic": "Anthropic",
|
||||
"azure-openai": "Azure OpenAI",
|
||||
|
||||
@ -519,6 +519,7 @@
|
||||
"title": "あなたは会話を得意とするアシスタントです。ユーザーの会話を10文字以内のタイトルに要約し、ユーザーの主言語と一致していることを確認してください。句読点や特殊記号は使用しないでください。"
|
||||
},
|
||||
"provider": {
|
||||
"o3": "O3",
|
||||
"aihubmix": "AiHubMix",
|
||||
"anthropic": "Anthropic",
|
||||
"azure-openai": "Azure OpenAI",
|
||||
|
||||
@ -519,6 +519,7 @@
|
||||
"title": "Вы - эксперт в общении, который суммирует разговоры пользователя в 10-символьном заголовке, совпадающем с языком пользователя, без использования знаков препинания и других специальных символов"
|
||||
},
|
||||
"provider": {
|
||||
"o3": "O3",
|
||||
"aihubmix": "AiHubMix",
|
||||
"anthropic": "Anthropic",
|
||||
"azure-openai": "Azure OpenAI",
|
||||
|
||||
@ -203,9 +203,9 @@
|
||||
"http": {
|
||||
"400": "请求错误,请检查请求参数是否正确。如果修改了模型设置,请重置到默认设置",
|
||||
"401": "身份验证失败,请检查 API 密钥是否正确",
|
||||
"403": "禁止访问,请检查是否实名认证,或联系服务商询问被禁止原因",
|
||||
"403": "禁止访问,请翻译具体报错信息查看原因,或联系服务商询问被禁止原因",
|
||||
"404": "模型不存在或者请求路径错误",
|
||||
"429": "请求过多,请稍后再试",
|
||||
"429": "请求速率超过限制,请稍后再试",
|
||||
"500": "服务器错误,请稍后再试",
|
||||
"502": "网关错误,请稍后再试",
|
||||
"503": "服务不可用,请稍后再试",
|
||||
@ -519,6 +519,7 @@
|
||||
"title": "你是一名擅长会话的助理,你需要将用户的会话总结为 10 个字以内的标题,标题语言与用户的首要语言一致,不要使用标点符号和其他特殊符号"
|
||||
},
|
||||
"provider": {
|
||||
"o3": "O3",
|
||||
"aihubmix": "AiHubMix",
|
||||
"anthropic": "Anthropic",
|
||||
"azure-openai": "Azure OpenAI",
|
||||
|
||||
@ -519,6 +519,7 @@
|
||||
"title": "你是一名擅長會話的助理,你需要將用戶的會話總結為 10 個字以內的標題,標題語言與用戶的首要語言一致,不要使用標點符號和其他特殊符號"
|
||||
},
|
||||
"provider": {
|
||||
"o3": "O3",
|
||||
"aihubmix": "AiHubMix",
|
||||
"anthropic": "Anthropic",
|
||||
"azure-openai": "Azure OpenAI",
|
||||
|
||||
@ -32,7 +32,7 @@ const persistedReducer = persistReducer(
|
||||
{
|
||||
key: 'cherry-studio',
|
||||
storage,
|
||||
version: 73,
|
||||
version: 74,
|
||||
blacklist: ['runtime'],
|
||||
migrate
|
||||
},
|
||||
|
||||
@ -36,6 +36,16 @@ const initialState: LlmState = {
|
||||
isSystem: true,
|
||||
enabled: true
|
||||
},
|
||||
{
|
||||
id: 'o3',
|
||||
name: 'O3',
|
||||
type: 'openai',
|
||||
apiKey: '',
|
||||
apiHost: 'https://api.o3.fan',
|
||||
models: SYSTEM_MODELS.o3,
|
||||
isSystem: true,
|
||||
enabled: false
|
||||
},
|
||||
{
|
||||
id: 'aihubmix',
|
||||
name: 'AiHubMix',
|
||||
|
||||
@ -1161,6 +1161,26 @@ const migrateConfig = {
|
||||
.trim()
|
||||
}
|
||||
return state
|
||||
},
|
||||
'74': (state: RootState) => {
|
||||
return {
|
||||
...state,
|
||||
llm: {
|
||||
...state.llm,
|
||||
providers: [
|
||||
...state.llm.providers,
|
||||
{
|
||||
id: 'o3',
|
||||
name: 'O3',
|
||||
apiKey: '',
|
||||
apiHost: 'https://api.o3.fan',
|
||||
models: SYSTEM_MODELS.o3,
|
||||
isSystem: true,
|
||||
enabled: false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user