From bba4d4875c3ed163aae05411ee6adb97ceedf396 Mon Sep 17 00:00:00 2001 From: john Date: Mon, 12 Jan 2026 15:51:58 +0800 Subject: [PATCH] feat: add Cerebras to model provider list --- public/image/model_cerebras.svg | 1 + src/atoms/interfaceState.ts | 8 ++++++-- src/helper/model.ts | 5 ++++- types/model.d.ts | 5 +++-- 4 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 public/image/model_cerebras.svg diff --git a/public/image/model_cerebras.svg b/public/image/model_cerebras.svg new file mode 100644 index 00000000..c8bab7b7 --- /dev/null +++ b/public/image/model_cerebras.svg @@ -0,0 +1 @@ +Cerebras \ No newline at end of file diff --git a/src/atoms/interfaceState.ts b/src/atoms/interfaceState.ts index cb7afb51..6e2b2c96 100644 --- a/src/atoms/interfaceState.ts +++ b/src/atoms/interfaceState.ts @@ -21,7 +21,8 @@ export const PROVIDERS: ModelProvider[] = [ "grok", "nvdia", "perplexity", - "oap" + "oap", + "cerebras", ] as const export const PROVIDER_LABELS: Record = { @@ -40,6 +41,7 @@ export const PROVIDER_LABELS: Record = { perplexity: "Perplexity", oap: "OAP", azure_openai: "Azure OpenAI", + cerebras: "Cerebras", default: "Default", } @@ -59,6 +61,7 @@ export const PROVIDER_ICONS: Record = { perplexity: `${imgPrefix}model_perplexity.svg`, oap: `${imgPrefix}logo_oap.png`, azure_openai: `${imgPrefix}model_azure.svg`, + cerebras: `${imgPrefix}model_cerebras.svg`, default: "", } @@ -437,6 +440,7 @@ export const defaultInterface: Record = { grok: openaiCompatibleTemplate("https://api.x.ai/v1"), nvdia: openaiCompatibleTemplate("https://integrate.api.nvidia.com/v1"), perplexity: openaiCompatibleTemplate("https://api.perplexity.ai"), + cerebras: openaiCompatibleTemplate("https://api.cerebras.ai/v1"), } export const isProviderIconNoFilter = (model: ModelProvider, userTheme: string, systemTheme: string) => { @@ -453,4 +457,4 @@ export const isProviderIconNoFilter = (model: ModelProvider, userTheme: string, default: return model.startsWith("google") && isLightMode } -} \ No newline at end of file +} diff --git a/src/helper/model.ts b/src/helper/model.ts index cb6e5259..cc3085c5 100644 --- a/src/helper/model.ts +++ b/src/helper/model.ts @@ -161,6 +161,8 @@ export function matchOpenaiCompatible(baseURL: string): ModelProvider { return "nvdia" case defaultInterface.perplexity["baseURL"].default: return "perplexity" + case defaultInterface.cerebras["baseURL"].default: + return "cerebras" default: return "openai_compatible" } @@ -284,6 +286,7 @@ export function intoModelConfig(group: LLMGroup, model: BaseModel): ModelConfig "grok", "nvdia", "perplexity", + "cerebras", ].includes(group.modelProvider) ? "openai" : group.modelProvider if (apiKey) { @@ -460,4 +463,4 @@ export function fieldsToLLMGroup(provider: ModelProvider, obj: Record