1.7 KiB
1.7 KiB
Bug: 前端未渲染 events 接口事件
日期
- 2026-03-24
现象
- 用户反馈:改动后前端无法获取/渲染
/api/v1/agent/runs/{threadId}/events的事件。 - 页面表现为消息流无事件增量或工具执行状态未更新。
本次背景
- 本次清理了前端死链路:
ToolRegistryRouteNavigationToolAiDecisionEngine
- 当前主链路仍为 AG-UI SSE:
AgUiService -> AgUiEvent -> ChatBloc -> HomeChatItemRenderer。
影响范围
- Chat 事件流渲染(运行状态、工具调用状态、文本完成事件)
- 可能影响 Home 聊天视图实时反馈
初步判断
- 已清理的死链路不在当前主流程中,理论上不应直接导致 SSE 事件无法渲染。
- 更可能的问题点:
runId绑定过滤导致事件被丢弃(shouldDispatch为 false)onEvent回调异常导致流提前停止- SSE
data结构变化,AgUiEvent.fromJson解析失败
关键代码位置
apps/lib/features/chat/data/services/ag_ui_service.dartapps/lib/features/chat/data/models/ag_ui_event.dartapps/lib/features/chat/presentation/bloc/chat_bloc.dartapps/lib/features/home/ui/widgets/home_chat_item_renderer.dart
待执行排查
- 在
_streamEventsFromApi增加临时诊断日志:eventType、eventRunId、expectedRunId、shouldDispatch - 捕获并输出
onEvent抛错栈,确认是否由 UI/Bloc 处理异常中断 - 抓取真实 SSE 帧,核对
runId/threadId/type/data与解析模型一致性 - 复测
RUN_STARTED -> TOOL_* -> TEXT_MESSAGE_END -> RUN_FINISHED/RUN_ERROR完整链路
当前状态
- 状态:待定位
- 优先级:高