From dcd58538080e81f1ad3d5708211a609bcc1e2010 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 9 Feb 2026 11:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E7=94=9F=E5=9B=BE=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=8D=E8=A1=A5=E5=85=85=E5=8E=9F=E5=A7=8B?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E9=81=BF=E5=85=8D=E5=81=8F=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(chat)/api/chat/route.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/(chat)/api/chat/route.ts b/app/(chat)/api/chat/route.ts index 9762ae9..34b3bf5 100644 --- a/app/(chat)/api/chat/route.ts +++ b/app/(chat)/api/chat/route.ts @@ -146,7 +146,17 @@ function applyOptimizedPromptToLatestUserMessage( const textPart = msg.parts.find( (part): part is { type: "text"; text: string } => part.type === "text", ); - const finalPrompt = `${hiddenPromptPrefix}${prompt}`.trim(); + const originalText = textPart?.text?.trim() || ""; + const normalizedOriginal = hiddenPromptPrefix && originalText.startsWith(hiddenPromptPrefix) + ? originalText.slice(hiddenPromptPrefix.length).trim() + : originalText; + const shouldAppendOriginal = + normalizedOriginal && + normalizedOriginal !== prompt && + !prompt.includes(normalizedOriginal); + const finalPrompt = shouldAppendOriginal + ? `${hiddenPromptPrefix}${prompt}\n\n用户原始需求:${normalizedOriginal}`.trim() + : `${hiddenPromptPrefix}${prompt}`.trim(); if (textPart) { textPart.text = finalPrompt;