Skip to content
目录

事件系统和任务管理

服务端用 事件驱动 把 Executor 产出转为协议层 Task / Message / Artifact 更新。


1. ExecutionEventBus

Executor 发布:

事件类型(概念)含义
状态更新working、input-required、completed…
消息/片段流式 text、文件 part
Artifact可下载产出物

Handler 订阅后写 Store 并推 SSE。


2. ExecutionEventQueue

  • 有序缓冲事件,支持背压。
  • 多消费者(SSE、推送)可各取一份。

3. Task 生命周期

mermaid
stateDiagram-v2
  [*] --> submitted
  submitted --> working
  working --> completed
  working --> failed
  working --> canceled
  working --> input_required
  input_required --> working

A2A 规范 一致;SDK 校验非法跳转。


4. ResultManager

聚合流式 part → 完整 Message;合并 artifact 元数据。


5. TaskStore

抽象接口:get / save / list
默认内存实现;生产换 DB,保证 taskId 幂等。


6. contextId / taskId

可客户端指定或 服务端自动生成;续聊同一 context 关联多 task。


7. 历史记录

框架按 task 维护 message 历史,Executor 可读不可直接改 Store(防一致性问题)。


8. 总结

扩展服务端 = 发正确事件类型 + 遵守状态机;不要绕过 Bus 直接改 HTTP 响应。

MIT License.