- 入门指南
- 最佳实践
- 租户
- 注册表
- 通知
- 文件夹上下文
- 流程
- 作业
- Apps
- 触发器
- 日志
- 监控
- 索引
- 队列
- 资产
- 连接
- 业务规则
- 存储桶
- 智能体网关
- 关于 Agent Gateway
- 入站(UiPath 外部)
- 出站(UiPath 到外部)
- A2A 测试和故障排除
- Orchestrator 测试
- 资源目录服务
- 集成
- 故障排除
入站(UiPath 外部)
外部智能体或客户端如何与您在 Orchestrator 中部署的对话智能体进行对话,以及这些调用的身份验证方式。
此功能处于预览阶段。
入站 A2A 是指与您在 UiPath Platform 上部署的对话智能体进行对话的外部智能体或客户端。UiPath 是调用的目标,而不是其他内容前面的网关。
此方向没有任何可注册的内容。部署到文件夹的每个对话智能体都已具备 A2A 能力:Agent Gateway为其智能体卡提供服务,并将 A2A 流量转换为与智能体的原生对话。任何 A2A 客户端都可以使用智能体(只需卡 URL 和 UiPath 令牌)。
由于 UiPath 是目标,因此只需配置一种身份验证:调用者通过 UiPath 进行身份验证。出站方向中显示的连接、标头和 Orchestrator 资产引用此处没有对应项。
公开已部署的对话智能体
智能体卡片
每个已部署的智能体在以下位置都有一个卡片:
https://cloud.uipath.com/{org}/{tenant}/agenthub_/a2a/{folderKey}/{agentReleaseId}/.well-known/agent-card.json
https://cloud.uipath.com/{org}/{tenant}/agenthub_/a2a/{folderKey}/{agentReleaseId}/.well-known/agent-card.json
{folderKey} 是智能体部署到的文件夹的密钥,{agentReleaseId} 是已部署的对话智能体的版本 ID。
该卡是从当前部署生成的,因此其名称、描述和版本始终与部署的版本相符。它宣传流式传输、文本和文件输入/输出以及持有者身份验证。没有匿名发现: 获取卡已经需要 UiPath 令牌。
您可以从“自动化”>“流程”>“复制 A2A 卡 URL”复制 A2A URL。选择对话智能体后,您还可以从“已部署的智能体”选项卡中检查 A2A URL 和智能体卡。
调用智能体
JSON-RPC(JSON 远程过程调用)端点是不带 /.well-known/agent-card.json 后缀的卡 URL。在线路中,调用如下所示:
POST https://cloud.uipath.com/{org}/{tenant}/agenthub_/a2a/{folderKey}/{agentReleaseId}
Authorization: Bearer <your-access-token>
{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"messageId": "m1",
"role": "user",
"parts": [
{
"kind": "text",
"text": "hi"
}
]
}
}
}
POST https://cloud.uipath.com/{org}/{tenant}/agenthub_/a2a/{folderKey}/{agentReleaseId}
Authorization: Bearer <your-access-token>
{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"messageId": "m1",
"role": "user",
"parts": [
{
"kind": "text",
"text": "hi"
}
]
}
}
}
一个 A2A 任务代表与智能体的一次对话。第一条消息创建任务,并且响应携带 contextId;在下一条消息中包含该 ID,以继续同一对话。每次回复后,任务状态为“input-required”,使对话保持打开状态以获取后续消息。
message/stream 以 SSE(服务器发送事件)流的形式返回回复。tasks/get 读取任务的状态和历史记录,tasks/cancel 取消正在运行的任务。不支持推送通知和 tasks/resubscribe,因此实时输出需要 message/stream。
身份验证
入站 A2A 仅具有单一身份验证:调用者通过 UiPath 进行身份验证。UiPath 是调用的目标,因此没有第二个跃点,也没有要配置的上游凭据。
每个请求的 Authorization 标头中都包含一个持有者令牌,对智能体卡的请求也包括在内。没有匿名发现功能,也不会在各轮次之间结转任何内容:对话中的每条消息都需要单独进行身份验证。
调用者的需求
令牌必须对 URL 中指定的组织和租户有效,并且 URL 中指定的文件夹必须是调用身份可以查看的文件夹。无需进一步操作:没有文件夹权限,没有特定于 A2A 的作用域,也没有出站调用所需的MCP 服务器查看权限等效权限。身份和文件夹是 UiPath 在此检查的内容的整体,并且不会检查消息的内容。
在平台上的其他位置适用的任何令牌在这里都适用:交互式登录、外部应用程序或最简单的用于测试的个人访问令牌。
请选中“Orchestrator API 访问”资源,创建个人访问令牌,因为该资源可设置此端点检查的受众。如果没有它,令牌在调用到达智能体之前会被拒绝,并且错误会指出受众而非令牌,因此它看起来根本不是作用域问题。
有关如何获取每种令牌类型,请查看MCP 服务器身份验证。
UiPath 验证令牌,解析文件夹,并将请求转发给运行对话智能体的服务,并附加调用者的令牌。入站是调用者令牌超出Agent Gateway的唯一方向。它位于 UiPath 中,因为运行智能体的服务是 UiPath 服务。在出站呼叫中,令牌会在边界处去除,并替换为为远程代理配置的凭据。
选择卡版本
只有代理卡端点才会读取可选的 A2A-Version 标头;消息端点会将其忽略。v1.0 客户端会自行发送标头,因此很少需要您自行设置标头。
- 对于严格的 v1.0 卡,请发送
1.0。 - 为严格的 v0.3 卡(不包含 v1.0)发送
0.3字段,并适合反序列化器拒绝未知属性的客户端。 - 如果不发送任何内容或发送任何其他值,您将获得添加了 v1.0
supportedInterfaces属性的 v0.3 卡,以便未发送标头的 v1.0 客户端仍可以读取标头。
无论标头是什么,消息端点都接受这两种格式,因此 v1.0 和 v0.3 客户端可以与同一个智能体通信。值完全匹配,因此 1.0.0 不会被视为 1.0。此处省略标头不会提供与已注册的远程代理不同的严格 v0.3 卡。如果您要比较两个方向,这就是它们的卡片不同的原因。
故障排除
有关您最有可能遇到的错误及其解决方法,请查看A2A 测试及故障排除。其“入站”部分涵盖此路径上的失败。
对于相反的方向,即 UiPath 调用在其他地方托管的智能体,请选中“出站(UiPath 到外部)” 。