a2aproject/a2a-js
Official JavaScript SDK for the Agent2Agent (A2A) Protocol
解决的问题
它为 AI 代理提供了一种标准化的通信与互操作方式。通过实现 Agent2Agent (A2A) 协议,开发者可以构建出能被不同客户端发现、驱动与管理的代理,且无需考虑底层传输方式。
运作原理
此 SDK 允许开发者创建 A2A servers(公开功能的代理)与 A2A clients(与这些代理交互的应用程序)。它通过支持三种传输层来抽象化通信层:JSON-RPC、HTTP+JSON/REST 以及 gRPC。
在服务器端,AgentExecutor 处理业务逻辑,而 DefaultRequestHandler 则管理路由、任务存储与推送通知。在客户端,ClientFactory 会根据代理声明的功能(即「代理卡」)自动选择最佳的传输方式。
适用对象
正在构建代理应用程序,且需要一致的代理对代理或客户端对代理通信协议的开发者,特别是使用 TypeScript 或 JavaScript 环境的开发者。
特色亮点
- 多传输支持:原生支持 JSON-RPC、REST 与 gRPC。
- 任务生命周期管理:内置任务提交、流式更新与用户发起的取消功能。
- 持久化存储:支持 PostgreSQL、MySQL、SQLite 与 Cloudflare D1,确保任务与通知配置在重启后依然存在。
- 推送通知:针对无法维持持久连接的长时间运行任务,提供基于 Webhook 的更新机制。
- 向后兼容性:提供可选层,允许 v1.0 部署与 v0.3 节点进行互操作。
相关
- 项目
- 项目
- 项目
- 项目
- 项目