From bd80723ee6449051977a2158a7cf261bebc82475 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 11 Feb 2026 21:13:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=8F=90=E7=A4=BA=E8=AF=8D=E8=A6=86=E7=9B=96=E5=8E=9F?= =?UTF-8?q?=E5=A7=8B=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(chat)/api/chat/route.ts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/app/(chat)/api/chat/route.ts b/app/(chat)/api/chat/route.ts index 34b3bf5..f620d8f 100644 --- a/app/(chat)/api/chat/route.ts +++ b/app/(chat)/api/chat/route.ts @@ -150,13 +150,26 @@ function applyOptimizedPromptToLatestUserMessage( 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() + const hasOriginalDemand = normalizedOriginal.length > 0; + const hasOriginalInOptimized = + hasOriginalDemand && + (prompt.includes(normalizedOriginal) || normalizedOriginal.includes(prompt)); + const finalPrompt = hasOriginalDemand && !hasOriginalInOptimized + ? [ + hiddenPromptPrefix.trim(), + `【核心目标(必须优先满足)】${normalizedOriginal}`, + `【执行优化细节】${prompt}`, + ] + .filter(Boolean) + .join("\n\n") + .trim() : `${hiddenPromptPrefix}${prompt}`.trim(); + console.log("[Prompt Merge] Final image prompt prepared:", { + original: normalizedOriginal.substring(0, 120), + optimized: prompt.substring(0, 120), + merged: finalPrompt.substring(0, 180), + forcePreserveOriginal: hasOriginalDemand && !hasOriginalInOptimized, + }); if (textPart) { textPart.text = finalPrompt;