diff --git a/apps/desktop/src/renderer/src/components/MessageItem.tsx b/apps/desktop/src/renderer/src/components/MessageItem.tsx index 2989441..abfb83c 100644 --- a/apps/desktop/src/renderer/src/components/MessageItem.tsx +++ b/apps/desktop/src/renderer/src/components/MessageItem.tsx @@ -217,11 +217,13 @@ export function AssistantTurn({ if (seg.kind === 'thinking') { const rows = thinkingRows(seg.text) if (rows.length === 0) return - // 该思考段之后已有正文段在流:思考已完成,表头从「正在思考」切回 + // 只有「最后一段且之后没有正文」才算仍在流式;否则一旦 pi 在回合内 + // 分多轮发出(静默间隙 streaming 抖动),已完成段会被误判回流式态 + const isLast = i === segments.length - 1 const followedByText = segments.some((s, k) => k > i && s.kind === 'text' && s.text.length > 0) streamNodes.push(