google / google/adk-python

feat: Add DNS-AID tools for agent discovery via DNS

已关闭
#4,859 1 条评论 0 个 reaction 已指派 2 人 已被 @klateefa 认领 在 GitHub 查看
needs review tools
主要语言
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 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。