This commit is contained in:
首都爱护动物协会 2025-02-26 09:35:05 +08:00 committed by 亢奋猫
parent f09d1b3d9a
commit 5c32d41cd8
11 changed files with 180 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -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: [

View File

@ -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'

View File

@ -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",

View File

@ -519,6 +519,7 @@
"title": "あなたは会話を得意とするアシスタントです。ユーザーの会話を10文字以内のタイトルに要約し、ユーザーの主言語と一致していることを確認してください。句読点や特殊記号は使用しないでください。"
},
"provider": {
"o3": "O3",
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",

View File

@ -519,6 +519,7 @@
"title": "Вы - эксперт в общении, который суммирует разговоры пользователя в 10-символьном заголовке, совпадающем с языком пользователя, без использования знаков препинания и других специальных символов"
},
"provider": {
"o3": "O3",
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",

View File

@ -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",

View File

@ -519,6 +519,7 @@
"title": "你是一名擅長會話的助理,你需要將用戶的會話總結為 10 個字以內的標題,標題語言與用戶的首要語言一致,不要使用標點符號和其他特殊符號"
},
"provider": {
"o3": "O3",
"aihubmix": "AiHubMix",
"anthropic": "Anthropic",
"azure-openai": "Azure OpenAI",

View File

@ -32,7 +32,7 @@ const persistedReducer = persistReducer(
{
key: 'cherry-studio',
storage,
version: 73,
version: 74,
blacklist: ['runtime'],
migrate
},

View File

@ -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',

View File

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