diff --git a/src-tauri/src/chat_manager/provider_adapter/mod.rs b/src-tauri/src/chat_manager/provider_adapter/mod.rs index 21a697a5..0212f538 100644 --- a/src-tauri/src/chat_manager/provider_adapter/mod.rs +++ b/src-tauri/src/chat_manager/provider_adapter/mod.rs @@ -359,6 +359,7 @@ pub fn adapter_for(credential: &ProviderCredential) -> Box Box::new(nanogpt::NanoGPTAdapter), "xai" => Box::new(xai::XAIAdapter), "anannas" => Box::new(anannas::AnannasAdapter), + "concentrate" => Box::new(openai::OpenAIAdapter), "google" | "google-gemini" | "gemini" => Box::new(google_gemini::GoogleGeminiAdapter), "gemini-agent-platform-express" => { Box::new(gemini_agent_platform_express::GeminiAgentPlatformExpressAdapter::new()) diff --git a/src-tauri/src/providers/config.rs b/src-tauri/src/providers/config.rs index c9434bcf..15df7cc7 100644 --- a/src-tauri/src/providers/config.rs +++ b/src-tauri/src/providers/config.rs @@ -158,6 +158,7 @@ fn get_all_provider_configs_internal() -> Vec { "https://integrate.api.nvidia.com/v1", ), ("anannas", "Anannas AI", "https://api.anannas.ai/v1"), + ("concentrate", "Concentrate", "https://api.concentrate.ai/v1"), ("groq", "Groq", "https://api.groq.com"), ("stability", "Stability AI", "https://api.stability.ai"), ( diff --git a/src/assets/concentrate.svg b/src/assets/concentrate.svg new file mode 100644 index 00000000..1c0fd3f8 --- /dev/null +++ b/src/assets/concentrate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/core/storage/schemas.ts b/src/core/storage/schemas.ts index 7a2ddb3f..8d104f5e 100644 --- a/src/core/storage/schemas.ts +++ b/src/core/storage/schemas.ts @@ -804,6 +804,14 @@ export const PROVIDER_REASONING_CAPABILITIES: Record = { @@ -57,6 +58,7 @@ const ICON_MAP: Record = { featherless: Featherless, nvidia: NVIDIA, chutes: Chutes, + concentrate: Concentrate, ollama: Ollama, lmstudio: LM Studio, intenserp: IntenseRP Next, diff --git a/src/ui/components/ModelSelectorButton.tsx b/src/ui/components/ModelSelectorButton.tsx index d49da502..da79ec68 100644 --- a/src/ui/components/ModelSelectorButton.tsx +++ b/src/ui/components/ModelSelectorButton.tsx @@ -6,6 +6,7 @@ import type { Model } from "../../core/storage/schemas"; import { useI18n } from "../../core/i18n/context"; import GroqIcon from "../../assets/groq.svg"; import CerebrasIcon from "../../assets/cerebras.svg"; +import ConcentrateIcon from "../../assets/concentrate.svg"; // Provider icons - matching the character settings function getProviderIcon(providerId: string) { @@ -40,6 +41,8 @@ function getProviderIcon(providerId: string) { ); case "groq": return Groq; + case "concentrate": + return Concentrate; default: return ; }