feat: add ocoolai provider
This commit is contained in:
parent
e8b992c289
commit
4413528d0e
@ -260,6 +260,14 @@ export const SYSTEM_MODELS: Record<string, Model[]> = {
|
|||||||
group: 'DeepSeek Coder'
|
group: 'DeepSeek Coder'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
ocoolai: [
|
||||||
|
{
|
||||||
|
id: 'gpt-4o',
|
||||||
|
provider: 'ocoolai',
|
||||||
|
name: 'OpenAI GPT-4o',
|
||||||
|
group: 'OpenAI'
|
||||||
|
}
|
||||||
|
],
|
||||||
github: [
|
github: [
|
||||||
{
|
{
|
||||||
id: 'gpt-4o',
|
id: 'gpt-4o',
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import GraphRagProviderLogo from '@renderer/assets/images/providers/graph-rag.pn
|
|||||||
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
|
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
|
||||||
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
||||||
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.png'
|
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.png'
|
||||||
|
import OcoolAiProviderLogo from '@renderer/assets/images/providers/ocoolai.png'
|
||||||
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
|
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
|
||||||
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
|
import OpenAiProviderLogo from '@renderer/assets/images/providers/openai.png'
|
||||||
import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.png'
|
import OpenRouterProviderLogo from '@renderer/assets/images/providers/openrouter.png'
|
||||||
@ -63,6 +64,8 @@ export function getProviderLogo(providerId: string) {
|
|||||||
return MinimaxProviderLogo
|
return MinimaxProviderLogo
|
||||||
case 'github':
|
case 'github':
|
||||||
return GithubProviderLogo
|
return GithubProviderLogo
|
||||||
|
case 'ocoolai':
|
||||||
|
return OcoolAiProviderLogo
|
||||||
default:
|
default:
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
@ -137,6 +140,17 @@ export const PROVIDER_CONFIG = {
|
|||||||
logo: DeepSeekProviderLogo
|
logo: DeepSeekProviderLogo
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
ocoolai: {
|
||||||
|
api: {
|
||||||
|
url: 'https://one.ooo.cool'
|
||||||
|
},
|
||||||
|
websites: {
|
||||||
|
official: 'https://ocoolai.com/',
|
||||||
|
apiKey: 'https://one.ocoolai.com/token',
|
||||||
|
docs: 'https://docs.ooo.cool/',
|
||||||
|
models: 'https://docs.ooo.cool/guides/jiage/'
|
||||||
|
}
|
||||||
|
},
|
||||||
github: {
|
github: {
|
||||||
api: {
|
api: {
|
||||||
url: 'https://models.inference.ai.azure.com/'
|
url: 'https://models.inference.ai.azure.com/'
|
||||||
|
|||||||
@ -159,7 +159,8 @@ const resources = {
|
|||||||
doubao: 'Doubao',
|
doubao: 'Doubao',
|
||||||
minimax: 'MiniMax',
|
minimax: 'MiniMax',
|
||||||
'graphrag-kylin-mountain': 'GraphRAG',
|
'graphrag-kylin-mountain': 'GraphRAG',
|
||||||
github: 'GitHub Models'
|
github: 'GitHub Models',
|
||||||
|
ocoolai: 'ocoolAI'
|
||||||
},
|
},
|
||||||
settings: {
|
settings: {
|
||||||
title: 'Settings',
|
title: 'Settings',
|
||||||
@ -440,7 +441,8 @@ const resources = {
|
|||||||
doubao: '豆包',
|
doubao: '豆包',
|
||||||
minimax: 'MiniMax',
|
minimax: 'MiniMax',
|
||||||
'graphrag-kylin-mountain': 'GraphRAG',
|
'graphrag-kylin-mountain': 'GraphRAG',
|
||||||
github: 'GitHub Models'
|
github: 'GitHub Models',
|
||||||
|
ocoolai: 'ocoolAI'
|
||||||
},
|
},
|
||||||
settings: {
|
settings: {
|
||||||
title: '设置',
|
title: '设置',
|
||||||
|
|||||||
@ -263,8 +263,6 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
|
|
||||||
public async models(): Promise<OpenAI.Models.Model[]> {
|
public async models(): Promise<OpenAI.Models.Model[]> {
|
||||||
try {
|
try {
|
||||||
const response = await this.sdk.models.list()
|
|
||||||
|
|
||||||
if (this.provider.id === 'github') {
|
if (this.provider.id === 'github') {
|
||||||
// @ts-ignore key is not typed
|
// @ts-ignore key is not typed
|
||||||
return response.body.map((model) => ({
|
return response.body.map((model) => ({
|
||||||
@ -275,6 +273,7 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const response = await this.sdk.models.list()
|
||||||
return response.data
|
return response.data
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return []
|
return []
|
||||||
|
|||||||
@ -22,7 +22,7 @@ const persistedReducer = persistReducer(
|
|||||||
{
|
{
|
||||||
key: 'cherry-studio',
|
key: 'cherry-studio',
|
||||||
storage,
|
storage,
|
||||||
version: 25,
|
version: 26,
|
||||||
blacklist: ['runtime'],
|
blacklist: ['runtime'],
|
||||||
migrate
|
migrate
|
||||||
},
|
},
|
||||||
|
|||||||
@ -77,6 +77,15 @@ const initialState: LlmState = {
|
|||||||
isSystem: true,
|
isSystem: true,
|
||||||
enabled: false
|
enabled: false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'ocoolai',
|
||||||
|
name: 'ocoolAI',
|
||||||
|
apiKey: '',
|
||||||
|
apiHost: 'https://one.ooo.cool',
|
||||||
|
models: [],
|
||||||
|
isSystem: true,
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'github',
|
id: 'github',
|
||||||
name: 'Github Models',
|
name: 'Github Models',
|
||||||
|
|||||||
@ -413,6 +413,26 @@ const migrateConfig = {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'26': (state: RootState) => {
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
llm: {
|
||||||
|
...state.llm,
|
||||||
|
providers: [
|
||||||
|
...state.llm.providers,
|
||||||
|
{
|
||||||
|
id: 'ocoolai',
|
||||||
|
name: 'ocoolAI',
|
||||||
|
apiKey: '',
|
||||||
|
apiHost: 'https://one.ooo.cool',
|
||||||
|
models: [],
|
||||||
|
isSystem: true,
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user