跳转到主要内容
根据每个流式事件或条目的类型分支处理,在文本、推理、工具调用和进度到达时渲染它们,之后再从保存的运行结果重建同一条时间线。TypeScript 产出带类型的条目联合类型;其他语言以映射、字典或哈希的形式产出原始事件。

渲染流式时间线

Rust 没有流式传输;请像下文那样从已完成的运行构建时间线。

TypeScript 条目类型

AgentItem<TOutput> 是一个可辨识联合类型,TypeScript 会根据每个条目的 type 收窄它的类型: 由提供商输出构建的条目还会在 rawProviderItem 中保留原始载荷,以便读取可移植类型中没有的少数字段。请基于可移植字段构建产品逻辑,因为 rawProviderItem 因提供商而异。

其他语言中的事件类型

Go、C#、PHP、Ruby 和 Java 提供相同的事件类型。Python 的 item_stream() 以带 type 键的字典形式产出提供商条目和运行时条目。 字段所在的位置因语言而异: 这些都不是带类型的联合类型,所以请校验你的界面用到的字段,把特定于提供商的解析放在一个适配器后面,并保留未知类型的兜底处理。在 Go、C# 和 Java 中,模型流事件携带的运行 ID 是 "stream";要获取真实的运行 ID,请使用生命周期事件。完整的生命周期事件列表见生命周期钩子。

在运行结束后重建时间线

运行结束后,事件历史仍然可读,所以一个消费者可以负责渲染,另一个负责持久化事件,而无需第二次模型请求。如果需要持久的时间线,请保存已完成的运行结果:
已完成的结果在 items 中包含与流相同的有序条目:
最后修改于 2026年11月5日