From fb082c10bce63d09b2a4f3e27f7210097de137cb Mon Sep 17 00:00:00 2001 From: Roo Code Date: Wed, 3 Dec 2025 17:02:12 +0000 Subject: [PATCH] fix: correct OpenRouter model name from deepseek-3.2 to deepseek-v3.2 --- src/api/providers/__tests__/openrouter.spec.ts | 4 ++-- src/api/providers/fetchers/openrouter.ts | 4 ++-- src/api/providers/openrouter.ts | 7 +++---- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/api/providers/__tests__/openrouter.spec.ts b/src/api/providers/__tests__/openrouter.spec.ts index 8607976aff..1fa12b7673 100644 --- a/src/api/providers/__tests__/openrouter.spec.ts +++ b/src/api/providers/__tests__/openrouter.spec.ts @@ -381,10 +381,10 @@ describe("OpenRouterHandler", () => { ) }) - it("should NOT use R1 format for DeepSeek 3.2 models", async () => { + it("should NOT use R1 format for DeepSeek V3.2 models", async () => { const deepseek32Handler = new OpenRouterHandler({ ...mockOptions, - openRouterModelId: "deepseek/deepseek-3.2", + openRouterModelId: "deepseek/deepseek-v3.2", }) const mockStream = { diff --git a/src/api/providers/fetchers/openrouter.ts b/src/api/providers/fetchers/openrouter.ts index 1882e280f3..4deb0d206c 100644 --- a/src/api/providers/fetchers/openrouter.ts +++ b/src/api/providers/fetchers/openrouter.ts @@ -268,9 +268,9 @@ export const parseOpenRouterModel = ({ // Configure DeepSeek V3 models properly // These models support standard tool calling but NOT R1 format + // OpenRouter uses deepseek/deepseek-v3 and deepseek/deepseek-v3.2 naming if ( - id.startsWith("deepseek/deepseek-v3") || - id.startsWith("deepseek/deepseek-3") || + id.startsWith("deepseek/deepseek-v3") || // Matches deepseek/deepseek-v3, deepseek/deepseek-v3.2, etc. id === "deepseek/deepseek-chat" ) { // Ensure these models are marked as supporting native tools diff --git a/src/api/providers/openrouter.ts b/src/api/providers/openrouter.ts index eb40e241c5..c56f3858c9 100644 --- a/src/api/providers/openrouter.ts +++ b/src/api/providers/openrouter.ts @@ -136,7 +136,7 @@ export class OpenRouterHandler extends BaseProvider implements SingleCompletionH ] // DeepSeek R1 models require user instead of system role. - // Note: DeepSeek V3 models (deepseek-v3, deepseek-3.2, etc.) do NOT use R1 format + // Note: DeepSeek V3 models (deepseek-v3, deepseek-v3.2, etc.) do NOT use R1 format if (modelId.startsWith("deepseek/deepseek-r1") || modelId === "perplexity/sonar-reasoning") { openAiMessages = convertToR1Format([{ role: "user", content: systemPrompt }, ...messages]) } @@ -390,11 +390,10 @@ export class OpenRouterHandler extends BaseProvider implements SingleCompletionH } // Only DeepSeek R1 models use special temperature and topP settings - // DeepSeek V3 models (v3, 3.2, 3.2-exp) use standard settings + // DeepSeek V3 models (v3, v3.2, etc.) use standard settings const isDeepSeekR1 = id.startsWith("deepseek/deepseek-r1") || id === "perplexity/sonar-reasoning" const isDeepSeekV3 = - id.startsWith("deepseek/deepseek-v3") || - id.startsWith("deepseek/deepseek-3") || + id.startsWith("deepseek/deepseek-v3") || // Matches deepseek/deepseek-v3, deepseek/deepseek-v3.2, etc. id === "deepseek/deepseek-chat" const params = getModelParams({