A2A Server 插件
作者: nacos
版本: 0.0.4
类型: extension
仓库: https://github.com/nacos-group/nacos-dify-plugins
将 Dify 应用暴露为 A2A (Agent-to-Agent) 协议 Agent,支持外部发现和调用。
功能特性
- A2A 协议支持:将任意 Dify App(Chatbot/Agent/Chatflow/Workflow)暴露为 A2A 兼容的 Agent
- Agent 发现:支持 端点用于 Agent 元数据发现
- Nacos 集成:可选注册到 Nacos 智能体注册中心,实现集中式 Agent 管理
- 多轮对话:使用 Dify 插件存储在多次请求间保持对话上下文
- 流式响应:支持 Agent Chat App 的流式响应模式
快速开始
第一步:安装插件
- 从 GitHub Releases 下载插件包
- 在 Dify 中,进入 插件 → 安装插件
- 上传插件包并完成安装
第二步:创建端点(首次配置)
- 进入 插件 → a2a_server → 创建端点
- 配置必要参数:
- 点击 保存 创建端点
重要说明:端点 ID 是由 Dify 在保存后自动生成的。在创建端点之前,你无法知道正确的 URL。请先填写一个占位值(如:)。
第三步:更新正确的 URL
保存后,Dify 会生成一个端点 ID(如:)。现在你需要更新 URL:
- 返回 编辑端点
- 将 Agent 公开访问 URL 更新为正确的值:
- 再次点击 保存
你的最终 A2A URL 格式如下:
第四步:测试 Agent
通过获取 Agent Card 进行测试:
如果成功,你将收到一个包含 Agent 元数据的 JSON 响应。
注意:如果启用了 Nacos 注册,Agent 会在你第一次调用这个 GET 接口时注册到 Nacos。在调用此接口之前,Agent 不会被注册到 Nacos。
如需通过 POST 接口发送消息,建议使用 A2A SDK 或 A2A 兼容的客户端。
配置参数说明
Nacos 注册
何时使用 Nacos
- 你有多个 A2A Agent 需要集中发现
- 你正在使用 Nacos 作为服务注册中心
- 你希望 Agent 之间能够自动发现
注册行为
- 延迟注册:插件启动时不会立即将 Agent 注册到 Nacos
- 首次请求触发:只有在第一次 GET 请求访问 时才会触发注册
- 缓存去重:注册成功后,AgentCard 会被缓存到本地(15 秒 TTL),避免重复注册
- 变更检测:如果 Agent 配置发生变化(名称、描述或 URL),会重新注册到 Nacos
- 远端同步:注册成功后,插件会从 Nacos 获取 AgentCard 以确保缓存一致性
配置示例
自建 Nacos:
阿里云 MSE Nacos:
API 参考
端点
支持的 JSON-RPC 方法
响应格式
常见问题
Agent Card 无法返回
- 检查端点配置是否正确
- 确认 URL 路径包含
- 查看 Dify 日志中的错误信息
Nacos 注册失败
- 确认 Nacos 服务器可从 Dify 访问
- 检查认证凭证是否正确
- 确保命名空间 ID 在 Nacos 中存在
消息发送返回错误
- 确认 Dify App 配置正确
- 检查应用是否支持对话模式
- 检查 JSON-RPC 请求格式
环境要求
- 支持插件的 Dify 版本
- Python 3.12+
- (可选)用于 Agent 注册的 Nacos 服务器
许可证
Apache License 2.0