You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A complete Agent-to-Agent (A2A) Discovery Platform built in Go. Agents can register, discover each other, and exchange tasks through a REST API.
Features
Agent Registry: Register agents with capabilities, endpoints, and metadata
Service Discovery: Find agents by capability for dynamic task routing
Message Broker: Route tasks between agents with status tracking
Health Monitoring: Automatic health checks with heartbeat TTL
Web Dashboard: Real-time monitoring of agents and tasks
CLI Tool: Command-line interface for platform management
Go SDK: Easy-to-use SDK for building agents
Architecture
Quick Start
Prerequisites
Go 1.25+
Make (optional)
Installation
# Clone the repository
git clone https://github.com/Sithumli/Beacon.git
cd Beacon
# Download dependencies
go mod download
# Build all binaries
make build
Running the Server
# Run with SQLite storage (default)
./bin/a2a-server
# Run with in-memory storage
./bin/a2a-server --memory
# Custom port
./bin/a2a-server --port 8080
The server starts on http://localhost:8080 with both the API and dashboard.
Running Example Agents
# In a new terminal - start the echo agent
./bin/echo-agent --server localhost:8080
# In another terminal - start the code agent (requires Ollama)
./bin/code-agent --server localhost:8080 --ollama-url http://localhost:11434
Using the CLI
# List all agents
./bin/a2a agents list
# Get agent details
./bin/a2a agents get <agent-id># Discover agents by capability
./bin/a2a discover echo# Send a task
./bin/a2a task send -c echo -p '{"message": "hello"}' -w
# Check task status
./bin/a2a task status <task-id>