diff --git a/src/sse/services/model.js b/src/sse/services/model.js index a883cbfb..a6ab3fcb 100644 --- a/src/sse/services/model.js +++ b/src/sse/services/model.js @@ -19,27 +19,23 @@ export async function getModelInfo(modelStr) { const parsed = parseModel(modelStr); if (!parsed.isAlias) { - if (parsed.provider === parsed.providerAlias) { - // Check OpenAI Compatible nodes - const openaiNodes = await getProviderNodes({ type: "openai-compatible" }); - const matchedOpenAI = openaiNodes.find((node) => node.prefix === parsed.providerAlias); - if (matchedOpenAI) { - return { provider: matchedOpenAI.id, model: parsed.model }; - } + // Always check provider-node prefix matching using original input first + const openaiNodes = await getProviderNodes({ type: "openai-compatible" }); + const matchedOpenAI = openaiNodes.find((node) => node.prefix === parsed.providerAlias); + if (matchedOpenAI) { + return { provider: matchedOpenAI.id, model: parsed.model }; + } - // Check Anthropic Compatible nodes - const anthropicNodes = await getProviderNodes({ type: "anthropic-compatible" }); - const matchedAnthropic = anthropicNodes.find((node) => node.prefix === parsed.providerAlias); - if (matchedAnthropic) { - return { provider: matchedAnthropic.id, model: parsed.model }; - } + const anthropicNodes = await getProviderNodes({ type: "anthropic-compatible" }); + const matchedAnthropic = anthropicNodes.find((node) => node.prefix === parsed.providerAlias); + if (matchedAnthropic) { + return { provider: matchedAnthropic.id, model: parsed.model }; + } - // Check Custom Embedding nodes - const embeddingNodes = await getProviderNodes({ type: "custom-embedding" }); - const matchedEmbedding = embeddingNodes.find((node) => node.prefix === parsed.providerAlias); - if (matchedEmbedding) { - return { provider: matchedEmbedding.id, model: parsed.model }; - } + const embeddingNodes = await getProviderNodes({ type: "custom-embedding" }); + const matchedEmbedding = embeddingNodes.find((node) => node.prefix === parsed.providerAlias); + if (matchedEmbedding) { + return { provider: matchedEmbedding.id, model: parsed.model }; } return { provider: parsed.provider,