@ag-ui/a2a (韩语)
将 AG- UI 代理连接到远程服务并曝光 A2A 协议它将AG-UI对话转换为A2A有效载荷,通过官方的A2A SDK转发,并重放回AG-UI事件流.
状态 : 实验 API在集成稳定时可能会改变.
特征
- AG-UI和A2A格式(用户,助手,工具,二进制有效载荷)之间的信件转换辅助器.
A2AAgent对 A2A 端点进行阻断请求.- 当代理服务器不支持 SSE 时, 可选择从流到阻断请求的回退 .
- 显示 A2A 消息的事件转换工具、任务状态更新以及作为 AG-UI 事件的文物块.
- 帮助工具计划( E)
send_message_to_a2a_agent),用于管弦乐场景. - 实例客户端和Vitest测试以验证转换和流流.
安装
一旦依赖性安装在单列后 :
pnpm install
pnpm --filter @ag-ui/a2a build
快开始
import { A2AAgent } from "@ag-ui/a2a";
import { A2AClient } from "@a2a-js/sdk/client";
const client = new A2AClient("https://my-a2a-agent");
const agent = new A2AAgent({
a2aClient: client,
initialMessages: [{ id: "user-1", role: "user", content: "Plan a team offsite" } as any],
});
const { result, newMessages } = await agent.runAgent();
console.log(result);
console.log(newMessages);
你可以自己注射药了 A2AClient 实例 client 选项, 覆盖默认指令, 或通过设置强制阻塞模式 strategy: "blocking"。 。 。 .
配置参考
| 选项 | 说明 |
|---|---|
a2aClient | 要求。 提供 A2AClient 实例(带有任何认证头或自定义获取您需要的逻辑). |
环境变量认证( A)
整合依赖于基础的A2A代理认证. 共同模式包括:
A2A_AGENT_URL– 设置在部署环境中以指向远程代理基址.A2A_API_KEY或者说A2A_BEARER_TOKEN- 被包裹所消耗fetch在自定义内A2AClient例如,远程代理执行 API 密钥或无记名认证.
将任何全权证书送交 A2AClient 您给 A2AAgent,或配置 HTTP 代理以注入正确的信头.
公用事业
convertAGUIMessagesToA2A(messages, options)——将AG-UI历史重塑为A2A消息对象,只转发用户/助手/工具转动并保存工具有效载荷.convertA2AEventToAGUIEvents(event, options)将 A2A 流事件映射到 AG- UI 文本和工具事件(TEXT_MESSAGE_CHUNK, (中文(简体) ),TOOL_CALL_*, (中文(简体) ),TOOL_CALL_RESULT) (中文(简体) ).sendMessageToA2AAgentToolJSON计划描述send_message_to_a2a_agent用于管弦乐器的工具.
测试
pnpm --filter @ag-ui/a2a test
该套房涵盖转换边缘大小写和使用被嘲笑的A2A客户端进行流回/回落行为.
实例
examples/basic.ts- 最小的脚本。 如果你准备好了A2A_AGENT_URL它会通过真实的A2AClient。否则它会回到一个小的模拟客户端,这样就可以在不触及远程端点的情况下观察整合.
发布清单
pnpm --filter @ag-ui/a2a buildpnpm --filter @ag-ui/a2a test- 更新 ChangeGELOG / 发布注释.
- 发布方式
pnpm publish --filter @ag-ui/a2a。 。 。 .