Skip to content
目录

服务端架构详解

服务端把 JSON-RPC/REST 请求 转为对 Agent Executor 的调用,经 EventBus 更新 TaskStore,并输出同步响应或 SSE 流


1. 核心组件

组件职责
RequestHandler路由 RPC 方法
DefaultRequestHandler标准 message/send、tasks/*
AgentExecutor业务:收消息、产出事件
TaskStore持久化 Task(内存/自定义)
ExecutionEventBusExecutor → 框架事件

2. 请求处理流

mermaid
sequenceDiagram
  participant C as Client
  participant H as Handler
  participant E as Executor
  participant S as TaskStore
  C->>H: message/send
  H->>S: 创建/加载 Task
  H->>E: 执行(异步)
  E->>H: 事件
  H->>S: 更新状态
  H->>C: Task / SSE

3. 非阻塞执行

长任务:先返回 Task id,Executor 后台跑;客户端轮询或 SSE 跟状态(与协议「异步优先」一致)。


4. 流式响应

  • 同连接 SSE 推送 TaskStatusUpdateArtifact 等。
  • 结束发送 terminal 事件。

5. 任务取消

cancelTask → 向 Executor 发取消信号 → 状态 canceled;运行中工具应监听 abort。


6. 推送通知

可选:任务变更 异步 POST 到客户端 webhook(不阻塞主请求)。


7. Express 集成

A2AExpressApp 挂载 well-known、RPC、SSE 路由;中间件层加认证。


8. 总结

实现 A2A Server = 实现 Executor + 选 TaskStore;框架处理协议与并发。

MIT License.