lad  by franzvill

Protocol for discovering and trusting AI agents on local networks

Created 8 months ago
251 stars

Top 99.9% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a protocol for discovering AI agents on local networks, addressing the challenge of connecting user-facing AI assistants with local services. It targets developers building distributed AI ecosystems and users interacting with AI agents in diverse environments like hotels or offices. LAD-A2A enables zero-configuration discovery, secure identity verification, and explicit user consent, facilitating seamless AI agent interaction within physical spaces.

How It Works

LAD-A2A implements a discovery and trust bootstrap layer for AI agent communication (A2A). It leverages mDNS/DNS-SD (via _lad-a2a._tcp) and well-known endpoints (/.well-known/lad/agents) for zero-configuration network discovery. A core tenet is its robust trust model, which strictly separates channel authentication (TLS) from identity verification. Identity is established through signed AgentCards and Decentralized Identifiers (DIDs) anchored to organizational domains, ensuring that TLS to a spoofed host does not compromise agent identity. Human approval is mandatory before any connection is established, keyed to the verified identity.

Quick Start & Requirements

For an interactive experience, navigate to the demo directory, copy .env.example to .env, add your OpenAI API key, and run ./run_demo.sh. Access the demo at http://localhost:8000. To run the reference implementation locally, navigate to the reference directory and install with pip install -e .. Start a discovery server using python -m server.lad_server --name "My Agent" --port 8080. Discover agents in another terminal with python -m client.lad_client --url http://localhost:8080 --no-verify-tls (note: --no-verify-tls is for local development only). Production environments require TLS 1.2+.

Highlighted Details

  • Zero-Configuration Discovery: Agents find each other automatically using mDNS/DNS-SD and well-known endpoints.
  • Honest Trust Model: Differentiates channel authentication (TLS) from identity verification (signed AgentCards, DIDs anchored to domains).
  • Explicit User Consent: Requires human approval before first contact, linked to verified identity.
  • Ecosystem Alignment: Designed as the initial handshake protocol, complementing A2A (communication) and MCP (tool integration).

Maintenance & Community

Discussions and feedback are managed via GitHub Discussions and Issues, respectively. A contribution guide is available at CONTRIBUTING.md. Specific details on core maintainers, sponsorships, or community channels like Slack/Discord are not provided in the README.

Licensing & Compatibility

The project is licensed under the Apache License 2.0. This permissive license generally allows for commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

Production deployments mandate TLS 1.2+, as non-HTTPS URLs are treated as discovery failures. The security model relies on domain-anchored identities (DIDs, JWS), which may necessitate specific infrastructure or setup for organizations. The provided local development examples utilize HTTP for convenience, but this is explicitly not for production use.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.