From aac42de4c5528baedb41ddc33fd6fde2ae1b8f6c Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 1 Feb 2026 15:57:43 +0800 Subject: [PATCH] =?UTF-8?q?debug:=20=E6=B7=BB=E5=8A=A0=20auto-title=20?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=9F=A5=E6=89=BE=E8=AF=A6=E7=BB=86=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- app/api/canvas/auto-title/route.ts | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/api/canvas/auto-title/route.ts b/app/api/canvas/auto-title/route.ts index 2b655a9b2..4a28c8e0b 100644 --- a/app/api/canvas/auto-title/route.ts +++ b/app/api/canvas/auto-title/route.ts @@ -24,15 +24,21 @@ export async function POST(request: NextRequest) { // 从数据库获取支持视觉的模型(查找包含 qwen-vl 或 vision 的模型) const models = await getEnabledAiModelsWithProvider(); console.log("[Auto-title] Available models count:", models.length); + console.log("[Auto-title] All model IDs:", models.map(m => m.modelId)); - // 查找千问VL模型(优先 qwen-vl-max,其次 qwen-vl-plus) - const visionModel = models.find(m => - m.modelId?.toLowerCase().includes('qwen-vl') || - m.modelId?.toLowerCase().includes('qwen3-vl') || - m.modelId?.toLowerCase().includes('vision') - ); + // 查找千问VL模型(支持多种命名格式) + const visionModel = models.find(m => { + const id = m.modelId?.toLowerCase() || ''; + const name = m.displayName?.toLowerCase() || ''; + return id.includes('qwen-vl') || + id.includes('qwen3-vl') || + id.includes('qwen2.5-vl') || + id.includes('vision') || + name.includes('vl') || + name.includes('视觉'); + }); - console.log("[Auto-title] Found vision model:", visionModel?.modelId); + console.log("[Auto-title] Found vision model:", visionModel?.modelId, visionModel?.displayName); if (!visionModel || !visionModel.providerId) { console.log("[Auto-title] No vision model found, using default title");