feat: Add DNS-AID tools for agent discovery via DNS
- 主要语言
- Python
- 星标
- 21.5k
- 派生
- 4k
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 37
描述
## Feature Request
Add DNS-AID (DNS-based Agent Identification and Discovery) tools to Google ADK, enabling agents to discover, publish, and unpublish other agents via DNS SVCB records.
## Motivation
AI agent ecosystems need a decentralized, standards-based discovery mechanism. DNS-AID ([IETF draft-mozleywilliams-dnsop-dnsaid-01](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/)) uses DNS SVCB records to publish agent metadata — capabilities, endpoints, protocols, and versions — making agents discoverable without centralized registries.
Google ADK already supports A2A (Agent-to-Agent) protocol. DNS-AID complements A2A by providing the discovery layer: agents publish their A2A endpoints to DNS, and other agents find them via standard DNS queries. This enables:
- **Decentralized discovery**: No central registry needed
- **DNS-native**: Leverages existing DNS infrastructure, caching, and security (DNSSEC)
- **A2A bridge**: DNS-discovered agents with `protocol=a2a` can be converted to ADK `RemoteAgent` references
## Proposed Implementation
1. **FunctionTool wrappers**: `discover_agents`, `publish_agent`, `unpublish_agent` async functions wrapped as `FunctionTool` objects
2. **Tool factory**: `get_dns_aid_tools(backend_name=...)` for convenient tool creation with DNS backend binding
3. **A2A bridge**: `a2a_agent_from_record()` to convert DNS-AID discovered agents into ADK-compatible RemoteAgent references
## Related PR
PR #4856 implements this feature.
贡献指南
评估
这个 Issue 还没有评估数据。