所需权限:
workspace:a2aBase URL
POST {baseUrl}/message:send 或 GET {baseUrl}/tasks/{taskId}。
协议版本
MemoryLake 并行暴露两套 A2A 路由,分别对应一个协议版本;每个版本都可以通过两种传输方式调用:REST 与 JSON-RPC 2.0。
走 JSON-RPC 时,两个协议版本都 POST 到不带后缀的
{baseUrl},由 method 指定具体操作:v1.0 使用 SendMessage、SendStreamingMessage、GetTask、CancelTask、SubscribeToTask;v0.3 使用 message/send、message/stream、tasks/get、tasks/cancel、tasks/resubscribe。协议版本由方法名协商得出;v1.0 客户端还应额外发送 A2A-Version: 1.0。
四组路由都接受同一个 configuration 对象,以及下文描述的同一套 MemoryLake 扩展:
MemoryLake 扩展
MemoryLake 通过metadata.memorylake 命名空间扩展了标准 A2A 协议。在 message:send 或 message:stream 的请求元数据中传入此对象,以控制 Agent 与 MemoryLake 记忆层的交互方式。
这是与普通 A2A 服务器的核心区别 —— 这些字段将 Agent 连接到 MemoryLake 中的工作空间、项目和 Actor。
object
必填
MemoryLake 专属配置。不传此字段时,Agent 将在没有任何记忆上下文的情况下运行。
示例
发送一条消息涉及三个彼此独立的选择 —— 协议版本(v1.0 / v0.3)×方法(send / stream)×传输方式(REST / JSON-RPC),因此共有 8 种有效组合。以下把 8 种全部列出。 下表的路径均相对于上文的 base URL;JSON-RPC 一律 POST 到不带后缀的 base URL,由method 指定操作。
上表 header 列中,SSE 表示
Accept: text/event-stream,v1.0 表示 A2A-Version: 1.0。8 种组合都使用同一个 configuration 对象和同一套 metadata.memorylake 扩展。其中 4 个 streaming 变体以 text/event-stream 返回;4 个 send 变体返回单个 JSON 响应体。
请注意版本与传输方式之间的三处结构差异:v1.0 使用
parts,role 为 "ROLE_USER";v0.3 REST 使用 content,role 为 "ROLE_USER";v0.3 JSON-RPC 使用 parts 且每个 part 都带 kind 判别符,role 为小写的 "user"。REST 传输
JSON-RPC 传输
两个协议版本共用同一个路径 —— 不带任何后缀的POST {baseUrl}。协议版本由方法名决定;v1.0 客户端还应额外发送 A2A-Version: 1.0。