diff --git a/open-sse/handlers/responseSanitizer.ts b/open-sse/handlers/responseSanitizer.ts index f7cbb300fc..015f79c234 100644 --- a/open-sse/handlers/responseSanitizer.ts +++ b/open-sse/handlers/responseSanitizer.ts @@ -27,8 +27,10 @@ const ALLOWED_RESPONSES_USAGE_FIELDS = new Set([ type JsonRecord = Record; +const DEEPSEEK_V4_SANITIZER_MODEL_PATTERN = /deepseek[-/]v4/i; + function isDeepSeekV4Model(model: unknown): boolean { - return typeof model === "string" && /deepseek[-/]v4/i.test(model); + return typeof model === "string" && DEEPSEEK_V4_SANITIZER_MODEL_PATTERN.test(model); } function toRecord(value: unknown): JsonRecord | null { diff --git a/open-sse/translator/index.ts b/open-sse/translator/index.ts index 49fb8add0e..d74947c435 100644 --- a/open-sse/translator/index.ts +++ b/open-sse/translator/index.ts @@ -111,7 +111,7 @@ function isDeepSeekReplayTarget(provider: unknown, model: unknown): boolean { const normalizedModel = String(model ?? "") .trim() .toLowerCase(); - return normalizedProvider === "deepseek" || normalizedModel.includes("deepseek"); + return normalizedProvider === "deepseek" || /(^|\/)deepseek/i.test(normalizedModel); } /** @param options.normalizeToolCallId - When true, use 9-char tool call ids (e.g. Mistral); when false, leave ids as-is */