diff --git a/src/views/messageArea.ts b/src/views/messageArea.ts index d4d5519..4357ebe 100644 --- a/src/views/messageArea.ts +++ b/src/views/messageArea.ts @@ -742,6 +742,12 @@ export function getMessageAreaScript(): string { // 添加消息 function addMessage(text, sender) { + // 如果是用户消息,先重置当前分段消息容器 + // 确保用户消息不会被添加到上一轮 AI 消息容器内部 + if (sender === 'user' && currentSegmentedMessage) { + currentSegmentedMessage = null; + } + const div = document.createElement('div'); div.className = \`message \${sender}-message\`; @@ -919,6 +925,13 @@ export function getMessageAreaScript(): string { // 实时更新分段消息(按后端返回顺序) function updateSegmentsRealtime(segments, isComplete) { console.log('[WebView] updateSegmentsRealtime 被调用, segments:', segments, 'isComplete:', isComplete); + + // 如果是完成标记,不处理 segments,直接返回 + if (isComplete) { + console.log('[WebView] 对话完成,跳过 segments 处理'); + return; + } + if (!segments || segments.length === 0) { console.log('[WebView] segments 为空,跳过渲染'); return;