Kanban for AI Agents - Coordinate your AI team with style
π www.ClawBeacon.xyz β Live Demo & Documentation
π¦ x.com/clawbeacon β Our Official X account
π§ Under Active Development β We're continuously improving this skill! Feedback and contributions welcome.
Claw Beacon is a beautiful, real-time mission control dashboard for managing AI agent workflows. Track tasks, monitor agent status, and coordinate your AI team through an intuitive Kanban interface with live updates.
Real-time Kanban board with agent status and live activity feed
npx skills add clawbeacon/clawbeaconThis teaches your AI agent how to use Claw Beacon.
Your agent will walk you through:
- π Deployment - Railway one-click, Docker, or manual setup
- π¨ Theme Selection - DBZ, One Piece, Marvel, and more
- βοΈ Configuration - AGENTS.md setup, API connections
- π§ Memory Integration - Optional Supermemory + QMD setup
That's it! Install the skill, and your agent handles the rest.
π¦ Deployment Options (the skill will guide you through these)
Note: After deploying, you still need to install the skill to your AI agent:
npx skills add clawbeacon/claw-beaconThe skill teaches your agent how to use Claw Beacon.
Click β Wait 2 mins β Done! Railway auto-provisions PostgreSQL, backend, and frontend.
git clone https://github.com/clawbeacon/clawbeacon
cd clawbeacon
docker compose up -dOpen http://localhost:5173 and you're ready!
π‘ Using SQLite instead of PostgreSQL?
docker compose -f docker-compose.yml -f docker-compose.sqlite.yml up -d --scale db=0# Clone the repo
git clone https://github.com/clawbeacon/clawbeacon
cd claw-beacon
# Backend (Terminal 1)
cd packages/backend
npm install
echo "DATABASE_URL=sqlite:./data/claw-beacon.db" > .env
npm run migrate
npm run dev
# Frontend (Terminal 2)
cd packages/frontend
npm install
echo "VITE_API_URL=http://localhost:3001" > .env
npm run devOpen http://localhost:5173 π
Backend (packages/backend/.env)
# Database - SQLite (local dev)
DATABASE_URL=sqlite:./data/claw-beacon.db
# Or PostgreSQL (production)
DATABASE_URL=postgresql://user:pass@localhost:5432/claw_beacon
# Server
PORT=3001
# Authentication (optional - leave empty for open access)
API_KEY=your-secret-key-hereFrontend (packages/frontend/.env)
# REQUIRED: URL of your backend API
API_URL=http://localhost:3001
# For production, use your deployed backend URL:
# API_URL=https://your-backend.railway.appNote: The frontend MUST have
API_URLset to connect to the backend. Without it, the dashboard won't load data.
By default, Claw Beacon runs in open mode - perfect for local development.
For production, set API_KEY to require authentication on write operations:
| Mode | API_KEY Value | Behavior |
|---|---|---|
| Open | Empty/unset | All operations public |
| Protected | Set | POST/PUT/DELETE require auth |
Define your agent team in config/agents.yaml:
agents:
- name: "Goku"
role: "Coordinator"
avatar: "π₯"
description: "Main coordinator - delegates tasks"
- name: "Vegeta"
role: "Backend"
avatar: "πͺ"
description: "Backend specialist - APIs, databases"
- name: "Bulma"
role: "DevOps"
avatar: "π§"
description: "DevOps & Frontend - infrastructure, UI"See more examples in config/examples/.
Your AI agents connect to Claw Beacon via REST API and SSE for real-time updates.
| Action | Method | Endpoint |
|---|---|---|
| List tasks | GET |
/api/tasks |
| Create task | POST |
/api/tasks |
| Update task | PUT |
/api/tasks/:id |
| List agents | GET |
/api/agents |
| Update agent | PUT |
/api/agents/:id |
| Post message | POST |
/api/messages |
# Update agent status to "working"
curl -X PUT http://localhost:3001/api/agents/1 \
-H "Content-Type: application/json" \
-d '{"status": "working"}'
# Post a message to the activity feed
curl -X POST http://localhost:3001/api/messages \
-H "Content-Type: application/json" \
-d '{
"agent_id": 1,
"message": "Starting task: Deploy to production"
}'curl -X POST http://localhost:3001/api/tasks \
-H "Content-Type: application/json" \
-d '{
"title": "Fix login bug",
"description": "Users getting 401 on valid tokens",
"status": "todo",
"priority": "high"
}'If API_KEY is set, include it in write requests:
curl -X POST http://localhost:3001/api/tasks \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"title": "New task"}'Connect to the event stream to receive live updates:
curl -N http://localhost:3001/api/streamEvents emitted:
task-created/task-updated/task-deletedagent-updatedmessage-created
// Update agent status
await fetch('http://localhost:3001/api/agents/1', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ status: 'working' })
});
// Listen for real-time updates
const eventSource = new EventSource('http://localhost:3001/api/stream');
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Update:', data);
};For OpenClaw/Claude agents, copy the helper script:
cp templates/scripts/update_dashboard.js scripts/
export claw_beacon_URL=https://your-backend.railway.appThen agents can update status with:
node scripts/update_dashboard.js --agent "Bulma" --status "working" --message "Starting deployment"π Full guide: docs/openclaw-integration.md
- π Kanban Board - Drag-and-drop task management with real-time sync
- π€ Agent Tracking - Monitor agent status (idle/working/error)
- π¬ Activity Feed - Real-time agent message stream
- π SSE Updates - Live updates without polling
- π± Mobile Responsive - Works on any device
- π¨ Cyberpunk UI - Sleek, dark theme with glowing accents
- π MCP Integration - Native Model Context Protocol support
- ποΈ Flexible Storage - SQLite (dev) or PostgreSQL (prod)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENTS β
βββββββββββββ¬ββββββββββββ¬ββββββββββββ¬βββββββββββββββββββββββββ€
β Dashboard β AI Agents β MCP Tools β External Webhooks β
β (React) β (REST API)β (stdio) β (GitHub, etc.) β
βββββββ¬ββββββ΄ββββββ¬ββββββ΄ββββββ¬ββββββ΄βββββββββββ¬ββββββββββββββ
β β β β
βββββββββββββ΄ββββββ¬ββββββ΄βββββββββββββββββ
β
βββββββββΌβββββββββ
β API Server β
β (Fastify) β
ββββββββββββββββββ€
β β’ REST API β
β β’ SSE Stream β
β β’ Auth Layer β
βββββββββ¬βββββββββ
β
βββββββββΌβββββββββ
β Database β
ββββββββββββββββββ€
β SQLite β Postgres β
ββββββββββββββββββ
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, TailwindCSS |
| Backend | Node.js, Fastify 5, Server-Sent Events |
| Database | SQLite (dev) / PostgreSQL (prod) |
| AI Integration | MCP Server, REST API |
| Deployment | Docker, Railway |
- Railway Deployment Guide - Detailed Railway setup
- OpenClaw Integration - Connect AI agents
- API Reference - Swagger UI (when running locally)
- Contributing Guide - How to contribute
claw-beacon/
βββ packages/
β βββ frontend/ # React + Vite + TailwindCSS
β β βββ src/
β β β βββ components/ # UI components
β β β βββ hooks/ # Custom React hooks
β β β βββ types/ # TypeScript types
β β βββ package.json
β β
β βββ backend/ # Fastify + SQLite/PostgreSQL
β βββ src/
β β βββ server.js # Main API server
β β βββ db-adapter.js # Database abstraction
β β βββ mcp-server.js # MCP integration
β β βββ migrate.js # DB migrations
β βββ package.json
β
βββ config/ # Configuration files
β βββ agents.yaml # Your agent definitions
β βββ examples/ # Example configs
βββ docker-compose.yml # Full stack (PostgreSQL)
βββ docker-compose.sqlite.yml # SQLite override
βββ templates/scripts/ # Integration scripts
We welcome contributions! Please see our Contributing Guide for details.
MIT License - see LICENSE for details.
Made with π¦ by the OpenClaw team