diff --git a/open-sse/config/providerModels.js b/open-sse/config/providerModels.js index 4e44a06f..68285d36 100644 --- a/open-sse/config/providerModels.js +++ b/open-sse/config/providerModels.js @@ -211,13 +211,8 @@ export const PROVIDER_MODELS = { // { id: "minimax-m2.5-free", name: "MiniMax M2.5", targetFormat: "claude" }, // { id: "trinity-large-preview-free", name: "Trinity Large Preview" }, ], - mmf: [ // MiMo Free + mmf: [ // MiMo Free — free channel only serves mimo-auto { id: "mimo-auto", name: "MiMo Auto" }, - { id: "mimo-v2.5-pro", name: "MiMo V2.5 Pro" }, - { id: "mimo-v2.5", name: "MiMo V2.5" }, - { id: "mimo-v2-pro", name: "MiMo V2 Pro" }, - { id: "mimo-v2-omni", name: "MiMo V2 Omni" }, - { id: "mimo-v2-flash", name: "MiMo V2 Flash" }, ], cl: [ // Cline @@ -539,16 +534,27 @@ export const PROVIDER_MODELS = { { id: "voyage-multilingual-2", name: "Voyage Multilingual 2", type: "embedding" }, ], siliconflow: [ + // DeepSeek models + { id: "deepseek-ai/DeepSeek-V4-Pro", name: "DeepSeek V4 Pro" }, + { id: "deepseek-ai/DeepSeek-V4-Flash", name: "DeepSeek V4 Flash" }, { id: "deepseek-ai/DeepSeek-V3.2", name: "DeepSeek V3.2" }, + { id: "deepseek-ai/DeepSeek-V3.2-Exp", name: "DeepSeek V3.2 Exp" }, { id: "deepseek-ai/DeepSeek-V3.1", name: "DeepSeek V3.1" }, + { id: "deepseek-ai/DeepSeek-V3.1-Terminus", name: "DeepSeek V3.1 Terminus" }, { id: "deepseek-ai/DeepSeek-R1", name: "DeepSeek R1" }, - { id: "Qwen/Qwen3-235B-A22B-Instruct-2507", name: "Qwen3 235B" }, - { id: "Qwen/Qwen3-Coder-480B-A35B-Instruct", name: "Qwen3 Coder 480B" }, - { id: "Qwen/Qwen3-32B", name: "Qwen3 32B" }, + // Qwen models + { id: "Qwen/Qwen3.5-397B-A17B", name: "Qwen 3.5 397B A17B" }, + { id: "Qwen/Qwen3.5-122B-A10B", name: "Qwen 3.5 122B A10B" }, + // GLM models + { id: "zai-org/GLM-5.1", name: "GLM 5.1" }, + { id: "zai-org/GLM-5", name: "GLM 5" }, + // Kimi models + { id: "moonshotai/Kimi-K2.6", name: "Kimi K2.6" }, { id: "moonshotai/Kimi-K2.5", name: "Kimi K2.5" }, - { id: "zai-org/GLM-4.7", name: "GLM 4.7" }, + // Other models { id: "openai/gpt-oss-120b", name: "GPT OSS 120B" }, - { id: "baidu/ERNIE-4.5-300B-A47B", name: "ERNIE 4.5 300B" }, + { id: "MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" }, + { id: "inclusionAI/Ling-flash-2.0", name: "Ling Flash 2.0" }, ], "xiaomi-mimo": [ { id: "mimo-v2.5-pro", name: "MiMo V2.5 Pro" }, diff --git a/open-sse/config/providers.js b/open-sse/config/providers.js index 4de90330..4eb2fd9c 100644 --- a/open-sse/config/providers.js +++ b/open-sse/config/providers.js @@ -323,7 +323,7 @@ export const PROVIDERS = { format: "openai" }, siliconflow: { - baseUrl: "https://api.siliconflow.cn/v1/chat/completions", + baseUrl: "https://api.siliconflow.com/v1/chat/completions", format: "openai" }, hyperbolic: { diff --git a/src/app/api/providers/[id]/models/route.js b/src/app/api/providers/[id]/models/route.js index 793094de..5147899e 100644 --- a/src/app/api/providers/[id]/models/route.js +++ b/src/app/api/providers/[id]/models/route.js @@ -232,7 +232,7 @@ const PROVIDER_MODELS_CONFIG = { cerebras: createOpenAIModelsConfig("https://api.cerebras.ai/v1/models"), cohere: createOpenAIModelsConfig("https://api.cohere.ai/v1/models"), nebius: createOpenAIModelsConfig("https://api.studio.nebius.ai/v1/models"), - siliconflow: createOpenAIModelsConfig("https://api.siliconflow.cn/v1/models"), + siliconflow: createOpenAIModelsConfig("https://api.siliconflow.com/v1/models"), hyperbolic: createOpenAIModelsConfig("https://api.hyperbolic.xyz/v1/models"), ollama: createOpenAIModelsConfig("https://ollama.com/api/tags"), // ollama-local: url resolved dynamically below via providerSpecificData.baseUrl diff --git a/src/app/api/providers/[id]/test/testUtils.js b/src/app/api/providers/[id]/test/testUtils.js index d0725d83..e85dbadd 100644 --- a/src/app/api/providers/[id]/test/testUtils.js +++ b/src/app/api/providers/[id]/test/testUtils.js @@ -527,7 +527,7 @@ async function testApiKeyConnection(connection, effectiveProxy = null) { return { valid: res.ok, error: res.ok ? null : "Invalid API key" }; } case "siliconflow": { - const res = await fetchWithConnectionProxy("https://api.siliconflow.cn/v1/models", { headers: { Authorization: `Bearer ${connection.apiKey}` } }, effectiveProxy); + const res = await fetchWithConnectionProxy("https://api.siliconflow.com/v1/models", { headers: { Authorization: `Bearer ${connection.apiKey}` } }, effectiveProxy); return { valid: res.ok, error: res.ok ? null : "Invalid API key" }; } case "hyperbolic": { diff --git a/src/app/api/providers/validate/route.js b/src/app/api/providers/validate/route.js index 64dd5b8d..28a446ae 100644 --- a/src/app/api/providers/validate/route.js +++ b/src/app/api/providers/validate/route.js @@ -373,7 +373,7 @@ export async function POST(request) { cerebras: "https://api.cerebras.ai/v1/models", cohere: "https://api.cohere.ai/v1/models", nebius: "https://api.studio.nebius.ai/v1/models", - siliconflow: "https://api.siliconflow.cn/v1/models", + siliconflow: "https://api.siliconflow.com/v1/models", hyperbolic: "https://api.hyperbolic.xyz/v1/models", ollama: "https://ollama.com/api/tags", "ollama-local": `${resolveOllamaLocalHost({ providerSpecificData })}/api/tags`,