From 2e6caa358cb3687ddad9ac7e096d23a30f9f3ad6 Mon Sep 17 00:00:00 2001 From: zhb <50901800+zhbdesign@users.noreply.github.com> Date: Tue, 23 Jun 2026 20:03:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AC=AC=E4=B8=89=E6=96=B9AP?= =?UTF-8?q?I=E5=9C=A8=E5=93=8D=E5=BA=94=E4=B8=AD=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=9A=84model=E4=B8=8E=E8=AF=B7=E6=B1=82=E7=9A=84modelid?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4=E5=AF=BC=E8=87=B4=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87=E6=98=BE=E7=A4=BA200000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复第三方API在响应中返回的model与请求的modelid不一致导致上下文显示200000 --- src/server/services/sessionService.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/server/services/sessionService.ts b/src/server/services/sessionService.ts index 31b87b1f..abc01a50 100644 --- a/src/server/services/sessionService.ts +++ b/src/server/services/sessionService.ts @@ -1390,10 +1390,11 @@ export class SessionService { for (const providerId of providerIds) { const env = await this.providerService.getProviderRuntimeEnv(providerId).catch(() => null) + const rawContextWindows = env?.[MODEL_CONTEXT_WINDOWS_ENV_KEY] ?? null // Step 1: Try matching the transcript model name directly (current behavior) const contextWindow = getModelContextWindowFromEnvValue( model, - env?.[MODEL_CONTEXT_WINDOWS_ENV_KEY], + rawContextWindows, ) if (contextWindow !== undefined) { if (contextWindow > MODEL_CONTEXT_WINDOW_DEFAULT && is1mContextDisabled()) { @@ -1443,10 +1444,11 @@ export class SessionService { for (const provider of providers) { const env = await this.providerService.getProviderRuntimeEnv(provider.id).catch(() => null) + const rawContextWindows = env?.[MODEL_CONTEXT_WINDOWS_ENV_KEY] ?? null // Step 1: Try matching the transcript model name directly const contextWindow = getModelContextWindowFromEnvValue( model, - env?.[MODEL_CONTEXT_WINDOWS_ENV_KEY], + rawContextWindows, ) if (contextWindow !== undefined) { matches.push(contextWindow) @@ -1463,12 +1465,6 @@ export class SessionService { rawContextWindows, ) if (fallbackWindow !== undefined) { - traceDebug('CTX_WIN', 'getUniqueSavedProviderContextWindow — fallback match via configured model', { - transcriptModel: model, - configuredModel, - envKey, - fallbackWindow, - }) matches.push(fallbackWindow) break // One match per provider is enough }