跳转到内容

SSE 事件

SSE 用于把后端生成的增量结果推给前端。Jarvis 用它传递主聊天流、工具状态、会话更新和部分远程状态。

  • 把 SSE 当作可断开的流,而不是永久连接。
  • 支持重连和状态刷新。
  • 不要只依赖最后一条事件判断全局状态。
  • UI 应能处理重复、延迟或顺序变化的事件。
类别 含义
消息增量 主聊天模型返回的 token 或块
工具调用 工具开始、输出、完成或失败
工作会话汇报 编码会话通过 MCP 工具上报进展、阻塞或问题
会话状态 运行时状态变化、终端快照、可见性变化
错误事件 模型提供商、网络、认证或后端处理失败
  1. 先按事件 ID 或会话 ID 聚合。
  2. 对工具输出做折叠或摘要,不要默认展开所有日志。
  3. 对阻塞、待人工、权限请求使用更醒目的状态。
  4. 断线后重新拉取当前会话状态。

SSE 是实时信号,摘要胶囊是可刷新快照。实时信号丢失时,胶囊和会话列表应能帮助用户恢复当前状态。

检查后端是否仍健康、浏览器是否断网、隧道是否重连、模型提供商是否超时。

客户端需要幂等处理。重连后可能重新收到一部分状态更新。

打开会话详情页,以会话当前状态和最新汇报为准。