Open source mission control for your AI agents.
ClawDeck is a kanban-style dashboard for managing AI agents powered by OpenClaw. Track tasks, assign work to your agent, and collaborate asynchronously.
π§ Early Development β ClawDeck is under active development. Expect breaking changes.
Option 1: Use the hosted platform
Sign up at clawdeck.io β free to start, we handle hosting.
Option 2: Self-host
Clone this repo and run your own instance. See Self-Hosting below.
Option 3: Contribute
PRs welcome! See CONTRIBUTING.md.
- Kanban Boards β Organize tasks across multiple boards
- Agent Assignment β Assign tasks to your agent, track progress
- Activity Feed β See what your agent is doing in real-time
- API Access β Full REST API for agent integrations
- Real-time Updates β Hotwire-powered live UI
- You create tasks and organize them on boards
- You assign tasks to your agent when ready
- Your agent polls for assigned tasks and works on them
- Your agent updates progress via the API (activity feed)
- You see everything in real-time
- Ruby 3.3.1 / Rails 8.1
- PostgreSQL with Solid Queue, Cache, and Cable
- Hotwire (Turbo + Stimulus) + Tailwind CSS
- Authentication via GitHub OAuth or email/password
- Ruby 3.3.1
- PostgreSQL
- Bundler
git clone https://github.com/clawdeckio/clawdeck.git
cd clawdeck
bundle install
bin/rails db:prepare
bin/devVisit http://localhost:3000
ClawDeck supports two authentication methods:
- Email/Password β Works out of the box
- GitHub OAuth β Optional, recommended for production
- Go to GitHub Developer Settings
- Click New OAuth App
- Fill in:
- Application name: ClawDeck
- Homepage URL: Your domain
- Authorization callback URL:
https://yourdomain.com/auth/github/callback
- Add credentials to environment:
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secretbin/rails test
bin/rails test:system
bin/rubocopClawDeck exposes a REST API for agent integrations. Get your API token from Settings.
Include your token in every request:
Authorization: Bearer YOUR_TOKEN
Include agent identity headers:
X-Agent-Name: Maxie
X-Agent-Emoji: π¦
# List boards
GET /api/v1/boards
# Get board
GET /api/v1/boards/:id
# Create board
POST /api/v1/boards
{ "name": "My Project", "icon": "π" }
# Update board
PATCH /api/v1/boards/:id
# Delete board
DELETE /api/v1/boards/:id# List tasks (with filters)
GET /api/v1/tasks
GET /api/v1/tasks?board_id=1
GET /api/v1/tasks?status=in_progress
GET /api/v1/tasks?assigned=true # Your work queue
# Get task
GET /api/v1/tasks/:id
# Create task
POST /api/v1/tasks
{ "name": "Research topic X", "status": "inbox", "board_id": 1 }
# Update task (with optional activity note)
PATCH /api/v1/tasks/:id
{ "status": "in_progress", "activity_note": "Starting work on this" }
# Delete task
DELETE /api/v1/tasks/:id
# Complete task
PATCH /api/v1/tasks/:id/complete
# Assign/unassign to agent
PATCH /api/v1/tasks/:id/assign
PATCH /api/v1/tasks/:id/unassigninboxβ New, not prioritizedup_nextβ Ready to be assignedin_progressβ Being worked onin_reviewβ Done, needs reviewdoneβ Complete
none, low, medium, high
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
MIT License β see LICENSE for details.
- π Website & App: clawdeck.io
- π¬ Discord: Join the community
- π GitHub: clawdeckio/clawdeck
Built with π¦ by the OpenClaw community.