Skip to main content

Session 对象

创建、获取、列出、更新和归档 Session 的接口都会返回该对象。

Template 摘要

Session stats

Event 对象

接口返回的 Event 是按 type 变化的 JSON 对象。所有返回 Event 都包含通用字段,不同事件类型会携带不同的 payload 字段。
按事件类型允许出现的 payload 字段如下。表中不重复列出通用字段 idtypesession_idprocessed_at

客户端可发送事件类型

POST /api/v1/forward/sessions/{session_id}/events 只接受以下事件类型。 system.message 是公开 Event 类型,但不作为 Forward 客户端写入事件开放。

公开事件类型

查询历史和订阅 SSE 事件流时,可能收到以下公开事件类型;其中 event_startevent_delta 仅在订阅 SSE 且传入 event_deltas[] 时可能返回: user.messageuser.interruptuser.tool_confirmationuser.tool_resultuser.custom_tool_resultuser.define_outcomesystem.messageagent.messageagent.thinkingagent.message_startagent.content_block_startagent.content_block_deltaagent.content_block_stopagent.message_deltaagent.message_stopevent_startevent_deltaagent.tool_useagent.tool_resultagent.custom_tool_useagent.mcp_tool_useagent.mcp_tool_resultagent.artifact_deliveredsession.status_runningsession.status_idlesession.status_terminatedsession.errorsession.updated

增量流式事件

Forward 当前支持两套增量流式事件:
  • 推荐新接入使用流式增量事件:在订阅 Session Event Stream 时传入 event_deltas[]
  • 旧版增量流式事件由创建 Session 时的 incremental_streaming_enabled 控制,能力仍然保留但不推荐新接入使用。

流式增量事件

流式增量事件通过订阅 Session Event Stream 接口的 event_deltas[] 查询参数开启。支持重复传参,允许值如下: 开启后,SSE 事件流中可能额外返回以下两类顶层 Event: event_start.event 字段: event_delta.delta 字段: event_start 示例:
event_delta 示例:
流式增量事件解析约定:
  • 只有订阅 SSE 事件流且传入 event_deltas[] 时,才会返回 event_start / event_delta;历史查询不返回这类流式增量事件。
  • 最终完整公开事件仍会返回。客户端可使用流式增量事件做即时展示,再以最终完整事件作为持久化或展示校准结果。
  • include_thinking=false 时,会过滤 agent.thinking 事件开始信号和 delta.content.type=thinking 的增量片段。
  • include_tool_calls=false 不影响 event_deltas[] 当前支持的 agent.messageagent.thinking 流式增量事件,但仍会过滤普通工具调用事件和旧版工具输入/输出 delta。
  • 若 Session 创建时设置了 incremental_streaming_enabled=true,该 Session 使用旧版流式能力,订阅接口中的 event_deltas[] 不会启用流式增量事件。

旧版增量流式事件

旧版增量流式事件由创建 Session 时的 incremental_streaming_enabled 字段控制,不通过查询历史或订阅 SSE 的请求参数控制。该能力仍然保留用于兼容既有客户端,但不推荐新接入使用:
  • true:事件流会在最终完整 agent.message 之前返回 assistant 输出片段;历史查询也会返回同一批增量事件。
  • false 或省略:保持普通模式,只返回完整公开事件,不返回增量事件。
开启旧版增量流式后,最终完整的 agent.message 仍会返回。客户端可使用增量事件做即时展示,再以最终 agent.message 作为持久化或展示校准结果。 旧版顶层增量事件类型只有以下 6 种: text_deltathinking_deltasignature_deltainput_json_deltatool_output_delta 不是顶层 Event 类型,只会作为 agent.content_block_delta.delta.type 出现。 agent.content_block_delta 示例:
旧版增量事件解析约定:
  • SSE event: 与 JSON data.type 都使用公开 Event 类型。
  • agent.content_block_delta.index 用于区分多个 content block。
  • processed_at 在增量事件上可能缺失,客户端应按可选字段处理。
  • 网络中断后可使用 Last-Event-ID 携带最后收到的 Event ID 重连。
  • include_thinking=false 时,会过滤 thinking_deltasignature_delta 及可识别的 thinking content block start/stop 事件。
  • include_tool_calls=false 时,会过滤 input_json_deltatool_output_delta 及可识别的 tool content block start/stop 事件。