DNS-AID:基于DNS的AI代理发现层
DNS-AID利用现有DNS基础设施实现AI代理的发现、发布和验证,无需新网络层,并通过DNSSEC提供信任保障。该协议支持MCP、A2A和HTTPS,可集成到现有DNS区域中。
DNS-AID(DNS-based Agent Identification and Discovery)是一个创新的AI代理发现协议,它巧妙地利用现有的域名系统(DNS)基础设施,让AI代理能够像网站一样被发布和发现。这一方案无需建立新的覆盖网络或集中式注册表,而是直接复用团队已运营的DNS系统,实现了零新增基础设施的代理互操作性。
该协议的核心在于通过SVCB(Service Binding)记录将代理信息发布到DNS区域中,并结合DNSSEC对这些记录进行数字签名,从而确保消费者可以端到端地验证代理的身份和信息的完整性。代理的命名空间遵循一个结构化的模式:_{agent-name}._{protocol}._agents.{your-domain}。其中,_agents标签将命名空间限定在代理领域,_{protocol}指定传输协议(例如_mcp表示Model Context Protocol,_a2a表示Agent-to-Agent协议,_https表示HTTPS),而_{agent-name}则是代理在您区域内的本地标识符。
DNS-AID的工作流程简洁而清晰,分为四个步骤:发布、签名、发现和验证。首先,代理所有者将其SVCB记录写入DNS区域;然后,使用DNSSEC对整个区域进行签名;接着,其他代理或客户端通过解析上述格式的DNS名称来发现目标代理;最后,在调用代理之前,验证DNSSEC链、可选的JWS签名以及DANE(DNS-based Authentication of Named Entities)策略,确保信任链的完整性。
项目提供了一个名为dns-aid-core的参考实现,包含Python SDK、命令行界面(CLI)和MCP服务器。该实现基于IETF草案draft-mozleywilliams-dnsop-dnsaid,并计划在Linux基金会下托管。随着生态系统的成熟,未来还将推出更多仓库,包括集成工具、策略编译器以及针对客户端、递归解析器和权威服务器三种发现场景的参考服务。
目前,DNS-AID处于IETF草案的参考实现阶段,协议级别的变更在IETF进行,而GitHub组织则负责实现和生态系统活动(如工具、示例、集成和文档)。该项目采用Apache-2.0许可证,社区参与通过GOVERNANCE和MAINTAINERS文件进行管理。如果您是开发者,可以通过pip install dns-aid[cli,mcp]快速安装SDK,并参照入门指南体验代理发现功能。