Developer Docs

文档首页

开发文档 · 运行应用

事件流、Consent 与恢复

Fellow StreamEvent SSE 的当前恢复方式、Consent 边界和客户端责任。

成熟度:Preview

目标

让客户端完整消费 Run 事件,在传输中断后安全恢复,并将 Consent 作为独立授权状态处理,而不是把断流、拒绝或超时误判为成功。

当前可用

Fellow 原生流式 wire 是 StreamEvent SSE。客户端先创建 Run,再订阅该 Run 的事件流。事件带递增序号并写入数据库;断线后可使用 fromSequence 回放缺失事件,再接入实时流。

@fellow.work/client 提供 Run 事件迭代、自动重连选项,以及查询和提交待处理 Consent 的能力。AG-UI 事件是参考客户端在边界上的 adapter,不是 Gateway 的原生事件真相。

客户端恢复责任

  • 持久化最后已处理的事件序号,并从该位置恢复。
  • 将回放和实时阶段可能重复到达的事件设计为幂等处理。
  • 只有收到明确的业务终态才能判定 Run 成功或失败;网络断开本身不是业务终态。
  • 将 Consent 的请求、批准、拒绝和过期视为授权流程,不要用模型输出或客户端字段伪造批准。
  • 浏览器重连仍须使用短期 access token,不能暴露 fkey_

当前边界

  • 当前实时 fan-out 使用内存 Stream Bridge。单实例回放可用,但不能据此推断 Redis 支撑的多副本实时流。
  • 心跳、事件保留窗口、慢消费者策略、最大事件大小和统一 terminal error 契约尚未冻结为公共兼容承诺。
  • 通用 idempotency key 支持不能假定存在;重试创建或触发副作用前,应以具体 API 的已发布行为为准。
  • 本页不新增任何事件或 Consent 端点;精确调用面以 Gateway 与 Client SDK 当前文档为准。

未来能力

Planned: 冻结事件 schema、终态与错误语义、恢复游标、保留窗口、去重标识和 adapter 映射测试,并纳入 Interaction conformance。

相关文档