Skip to main content
Agent.stream() 返回一条 Flux<Event> 响应式事件流,让调用方可以实时看到每一步推理、工具结果和最终回复,而不必等 call() 返回整体 Msg

基础用法

RuntimeContext(harness 场景):
StreamOptions.defaults() 开启全部事件类型增量模式

事件类型(EventType)

只订阅指定类型

区分 chunk 与最终结果

同一条 REASONING 消息会先推若干增量 chunk,最后推带完整文本的最终事件。 用 Event.isLast() 区分:

增量模式 vs. 全量模式


推理 / 摘要内容过滤

某些模型在 REASONING 事件中会同时包含思考过程 chunk最终推理结论,可分别控制:
摘要类似:

错误处理

stream() 遵循标准 Reactor 语义,使用 onErrorResume 捕获:
工具执行失败时,框架将异常转为 TOOL_RESULT 错误文本,不会向流发送 onError,父流不会被提前终止。

与 Spring WebFlux / SSE 集成

Flux<Event> 可直接桥接 Server-Sent Events:
如果使用 HarnessAgent 并需要向前端传递子 agent 来源信息,可将 event.getSource() 一并序列化(详见 Harness 子 Agent 流式)。

StreamOptions 完整参数


相关文档

  • Hook — 在推理 / 工具调用各阶段插入自定义逻辑
  • 模型(Model) — 底层流式模型配置
  • Harness 子 Agent 流式 — HarnessAgent agent_spawn / agent_send 触发的子 agent 事件转发与 EventSource 字段