AI-native agent-to-agent communication protocol.
DaisyChain is the communication layer for AI agents. Instead of building AI to use software made for humans, DaisyChain lets agents talk directly to each other.
Human → Coordinator → [Researcher → Coder → Critic] → Coordinator → Human
Agents discover each other, delegate tasks, chain operations, and collaborate autonomously.
| Feature | Description |
|---|---|
| Multi-agent chains | Agent A → Agent B → Agent C flows |
| Streaming responses | See results as they generate |
| Error handling | Timeouts, retries, fallbacks |
| Config file | No more hardcoded ports/URLs |
| Better logging | Proper log levels, timestamps |
pip install -r requirements.txtcp config.example.yaml config.yaml
# Edit config.yaml with your GROQ_API_KEY# Start the full network
python -m daisychain.cli start
# Or run components individually
python -m daisychain.registry
python -m daisychain.agents.coordinator
python -m daisychain.agents.researcher
python -m daisychain.agents.coder# Run demo
python -m daisychain.cli demo
# Interactive mode
python -m daisychain.cli interactivedaisychain/
├── config.yaml # Your configuration
├── config.example.yaml # Example config (committed)
├── requirements.txt
├── daisychain/
│ ├── __init__.py
│ ├── config.py # Config loader
│ ├── protocol.py # Message types, constants
│ ├── registry.py # Discovery service
│ ├── agent.py # Base agent class
│ ├── cli.py # Command line interface
│ └── agents/
│ ├── __init__.py
│ ├── coordinator.py # Routes and chains tasks
│ ├── researcher.py # Research specialist
│ └── coder.py # Coding specialist
├── tests/
│ └── test_chain.py # Multi-agent chain tests
└── docs/
├── PROTOCOL.md # Protocol specification
└── LEARNINGS.md # v0.1 learnings
┌─────────────────────────────────────────────────────┐
│ REGISTRY │
│ (discovery service) │
└─────────────────────────────────────────────────────┘
▲ ▲ ▲
│ │ │
┌─────────┐ ┌─────────┐ ┌─────────┐
│Coordinat│◄──►│Researcher│◄──►│ Coder │
│ :8001 │ │ :8002 │ │ :8003 │
└─────────┘ └─────────┘ └─────────┘
DaisyChain Protocol
Agents can now chain tasks:
# User asks: "Research X then write code for it"
# Coordinator creates a chain:
chain = [
{"agent": "researcher", "task": "Research X"},
{"agent": "coder", "task": "Write code based on research", "uses_previous": True}
]
# Each step passes context to the nextMIT
DaisyChain v0.2 - Building the rails, not the trains.