[Bug] retryMessage 未正确处理流式失败场景 #5

Closed
opened 2026-05-04 22:45:13 +08:00 by admin · 0 comments
Owner

问题描述

AgentChat.vue:571-609 的 retryMessage() 函数存在以下问题:

  1. 流式失败消息无法正确重试:当 SSE 流式失败降级到 fallback POST 时,消息数组中有占位消息 + 实际回复。如果 fallback 也失败 (第 530 行 outer catch),错误消息前对应的用户消息可能被占位消息隔开,导致 retryMessage 查找用户消息失败。

  2. 只移除一对用户消息+错误消息:如果流式失败后产生了占位消息 + 错误消息,重试时只移除用户消息和最后的错误消息,占位消息会残留在数组中。

涉及文件

frontend/src/views/AgentChat.vue:571-609

修复建议

  • 重试时查找并移除流式失败产生的中间占位消息
  • 考虑记录更精确的消息关联 (如 execution_id),而非通过索引回退猜测

严重程度

中 - 重试功能在流式失败场景下不可靠

## 问题描述 AgentChat.vue:571-609 的 retryMessage() 函数存在以下问题: 1. 流式失败消息无法正确重试:当 SSE 流式失败降级到 fallback POST 时,消息数组中有占位消息 + 实际回复。如果 fallback 也失败 (第 530 行 outer catch),错误消息前对应的用户消息可能被占位消息隔开,导致 retryMessage 查找用户消息失败。 2. 只移除一对用户消息+错误消息:如果流式失败后产生了占位消息 + 错误消息,重试时只移除用户消息和最后的错误消息,占位消息会残留在数组中。 ## 涉及文件 frontend/src/views/AgentChat.vue:571-609 ## 修复建议 - 重试时查找并移除流式失败产生的中间占位消息 - 考虑记录更精确的消息关联 (如 execution_id),而非通过索引回退猜测 ## 严重程度 中 - 重试功能在流式失败场景下不可靠
admin self-assigned this 2026-05-04 22:45:13 +08:00
admin closed this issue 2026-05-04 23:56:51 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/aiagent#5