From dc7cca846f507722f6d2cf4d90d110e992b90050 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 8 Feb 2026 22:51:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Agent=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=9B=9E=E9=80=80=E6=97=B6=E7=9A=84=E5=8A=A8=E6=80=81=E5=88=86?= =?UTF-8?q?=E6=9E=90=E5=9B=9E=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(chat)/api/chat/route.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/app/(chat)/api/chat/route.ts b/app/(chat)/api/chat/route.ts index d1cff42..d1d1a72 100644 --- a/app/(chat)/api/chat/route.ts +++ b/app/(chat)/api/chat/route.ts @@ -732,6 +732,22 @@ export async function POST(request: Request) { } catch (autoError) { // 智能分析失败时,回退到简单逻辑 console.error("[Smart Auto Mode] ❌ Error, falling back:", autoError); + try { + const { analyzeIntent } = await import("@/lib/ai/smart-analyzer"); + const rescueAnalysis = await analyzeIntent({ + text: autoTextForFallback, + hasImage: autoHasImageForFallback || smartAutoHistoryImages.length > 0, + imageUrls: smartAutoHistoryImages, + imageFromHistory: autoFromHistoryForFallback || smartAutoHistoryImages.length > 0, + historyMessages: [], + context: undefined, + }); + if (rescueAnalysis.conversationalReply?.trim()) { + smartAutoFriendlyMessage = rescueAnalysis.conversationalReply.trim(); + } + } catch (rescueError) { + console.error("[Smart Auto Mode] Rescue analysis failed:", rescueError); + } const allModels = await getEnabledAiModelsWithProvider(); // @ts-ignore - 检查各种可能的图片类型 @@ -744,9 +760,10 @@ export async function POST(request: Request) { if (hasImage) { bestModel = allModels.find(m => m.model.supportsImageGen && !m.model.isSubModel); smartAutoFriendlyMessage = - "我先完成这一轮图片分析,再按你的要求执行修改并返回结果。"; + smartAutoFriendlyMessage || + "我正在先做这一轮图片分析,接着按你的要求执行修改。"; } else { - smartAutoFriendlyMessage = buildAutoModeFallbackMessage({ + smartAutoFriendlyMessage = smartAutoFriendlyMessage || buildAutoModeFallbackMessage({ text: autoTextForFallback, hasImage: false, fromHistory: false,