diff --git a/src/renderer/components/chat-area.ts b/src/renderer/components/chat-area.ts index f80b6ef..2a5d9bb 100644 --- a/src/renderer/components/chat-area.ts +++ b/src/renderer/components/chat-area.ts @@ -89,7 +89,8 @@ export function renderMessages(): void { emptyStateEl.style.display = 'none'; messagesContainerEl.style.display = ''; - const existingCount = messagesContainerEl.children.length; + // 只计算已渲染的 .message 元素(排除 placeholder 和其他非消息元素) + const existingCount = messagesContainerEl.querySelectorAll('.message').length; const isNewMessage = existingCount > 0 && existingCount < msgs.length; for (let i = existingCount; i < msgs.length; i++) { appendMessageDOM(msgs[i], i);