diff --git a/src/utils/messageHandler.ts b/src/utils/messageHandler.ts index 2d0c5da..0c8ef24 100644 --- a/src/utils/messageHandler.ts +++ b/src/utils/messageHandler.ts @@ -159,13 +159,11 @@ async function handleUserMessageWithBackend( // 优先使用 reuseTaskId,其次使用 historyManager 的 taskId const taskIdToUse = reuseTaskId || historyManager.getCurrentTaskId(); - // 创建或复用会话 - if (!currentSession || !currentSession.active) { - currentSession = dialogManager.createSession(extensionPath, taskIdToUse || undefined); - // 保存 taskId 用于后续操作(如压缩) - lastTaskId = currentSession.getTaskId(); - console.log("[MessageHandler] 创建会话: taskId=", lastTaskId, "来源=", taskIdToUse ? "historyManager" : "新生成"); - } + // 创建会话(dialogManager 会自动处理旧会话的中止) + currentSession = dialogManager.createSession(extensionPath, taskIdToUse || undefined); + // 保存 taskId 用于后续操作(如压缩) + lastTaskId = currentSession.getTaskId(); + console.log("[MessageHandler] 创建会话: taskId=", lastTaskId, "来源=", taskIdToUse ? "historyManager" : "新生成"); // 显示状态栏 panel.webview.postMessage({