问题
后端已经提供 AgentTask 事件接口,但 TaskDetail 仍以固定间隔轮询完整 snapshot,且缺少终态停止、请求取消和重叠请求控制。前端 API 层部分返回值仍为 Record<string, unknown>,创建任务和发送消息也没有系统性使用幂等键。
实施要求
- 基于唯一公开 OpenAPI 生成 operation-level TypeScript client,不只生成 schema。
- 所有外部响应必须经过生成类型或明确的运行时解析,不得在业务层传播
Record<string, unknown>。
- AgentTask 详情采用唯一 SSE state machine;删除固定轮询及“失败后退回轮询”的双轨逻辑。
- 支持 cursor/Last-Event-ID 恢复、断线重连、事件去重、乱序保护和 terminal event 后主动关闭。
- 页面卸载、Workspace/Task 切换时使用 AbortController 取消 fetch 与流连接。
- 所有会产生状态变化的 command 由客户端生成稳定幂等键,并通过类型化客户端发送。
- 明确 snapshot 初始化与增量事件归并规则,避免每次命令后重新抓取完整状态。
验收条件
问题
后端已经提供 AgentTask 事件接口,但 TaskDetail 仍以固定间隔轮询完整 snapshot,且缺少终态停止、请求取消和重叠请求控制。前端 API 层部分返回值仍为
Record<string, unknown>,创建任务和发送消息也没有系统性使用幂等键。实施要求
Record<string, unknown>。验收条件
unknown响应。