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