Avoid duplicate final output in GUI
This commit is contained in:
@@ -548,12 +548,14 @@ function renderRunResult(data) {
|
|||||||
}
|
}
|
||||||
const tail = transcript.slice(lastUserIndex + 1);
|
const tail = transcript.slice(lastUserIndex + 1);
|
||||||
renderTranscriptEntries(tail);
|
renderTranscriptEntries(tail);
|
||||||
// Always show the canonical final output if it isn't already present.
|
// transcript 通常已经包含最终 assistant 消息;只有缺失时才用 final_output 兜底。
|
||||||
const lastMsg = els.chat.querySelector(".message.assistant:last-of-type .body");
|
const finalOutput = (data.final_output || "").trim();
|
||||||
if (!lastMsg || lastMsg.textContent.trim() !== (data.final_output || "").trim()) {
|
const lastAssistant = [...tail]
|
||||||
if (data.final_output && data.final_output.trim()) {
|
.reverse()
|
||||||
appendMessage({ role: "assistant", content: data.final_output });
|
.find((entry) => entry?.role === "assistant" && (entry.content || "").trim());
|
||||||
}
|
const lastAssistantContent = (lastAssistant?.content || "").trim();
|
||||||
|
if (finalOutput && finalOutput !== lastAssistantContent) {
|
||||||
|
appendMessage({ role: "assistant", content: data.final_output });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user