SSE 流式事件
解析 Agent 聊天和工作流运行的 Server-Sent Events
Clouisle 的流式接口返回 Content-Type: text/event-stream。客户端应逐条读取 event: 与 data:,处理未知事件并在 error 或连接断开时关闭资源。
Agent 事件
| 事件 | 说明 |
|---|---|
message_start | 返回 conversation_id 和 message_id |
rag_start / rag_context | 开始检索及返回来源 |
reasoning_start / reasoning_delta / reasoning_end | 思考过程(若模型支持且未隐藏) |
content_delta | 正文增量 |
tool_call / tool_result | 工具名称、参数和结果 |
media_result | 图片/视频展示载荷 |
compression_start / compression_end | 上下文压缩详情 |
output_truncated | 达到最大输出 Token |
iteration_cap_reached | 达到 Agent 工具迭代上限 |
message_end | Token 用量、耗时和终止状态 |
error | 错误详情 |
工作流事件
工作流流包含运行开始、节点开始/输出/跳过、运行完成、失败、取消和超时等状态事件。初始 Webhook 响应中的 stream_url 用于订阅;可用 from_sequence 续读。
客户端策略
- 将
content_delta按顺序拼接,不要覆盖前一片段。 - 将 reasoning 与正文分离保存;不要在不允许展示时渲染隐藏内容。
- 以
message_end作为正常终止,以error作为失败终止。 - 为长连接配置心跳和重连;重连后使用会话/运行 ID,而不是重新创建资源。
这篇文章对你有帮助吗?