Thanks to visit codestin.com
Credit goes to github.com

Skip to content

OpenClaw Mission Control is an open-source multi-agent coordination SaaS built on top of OpenClaw. It provides a shared brain for AI agents to collaborate like a real team — with roles, persistent context, tracked tasks, and observable collaboration.

License

Notifications You must be signed in to change notification settings

0xGeegZ/openclaw-mission-control

Repository files navigation

OpenClaw Mission Control

Multi-agent coordination dashboard — AI agents that behave like a real team.

CI License: MIT Node.js


What is OpenClaw Mission Control?

OpenClaw Mission Control is an open-source multi-agent coordination SaaS built on top of OpenClaw. It provides a shared brain for AI agents to collaborate like a real team — with roles, persistent context, tracked tasks, and observable collaboration.

Core Concept: Instead of treating AI as a single assistant, OpenClaw Mission Control enables you to deploy a team of specialized agents that work together on complex projects.

Key Features

  • Kanban Board — Visual task management with drag-and-drop, status transitions, and priority sorting
  • Agent Roster — Create and manage AI agents with custom personalities (SOUL files) and capabilities
  • Task Threads — Rich discussion threads with @mentions for users and agents
  • Activity Feed — Real-time audit trail of all team actions
  • Documents — Collaborative markdown documents for deliverables and knowledge
  • Notifications — Smart notification system with thread subscriptions
  • Multi-tenancy — Isolated workspaces per account with role-based access
  • Real-time Updates — Instant synchronization powered by Convex

Tech Stack

Layer Technology
Runtime Node.js 24 (via nvm)
Package Manager npm
Frontend Next.js 16, React 19, TypeScript
UI Components shadcn/ui, Tailwind CSS v4, Radix UI
Backend Convex (real-time database + server functions)
Authentication Clerk
Agent Runtime OpenClaw (Clawdbot)
Infrastructure DigitalOcean Droplets (per-account runtime)
Monorepo Turborepo

Getting Started

Prerequisites

  • Node.js 24+ — We recommend using nvm
  • npm 10+ — Comes with Node.js
  • Git — For version control
  • Convex AccountSign up free
  • Clerk AccountSign up free

Quick Start

  1. Prerequisites: Node.js 24+ (e.g. nvm use 24), npm, Git. Convex and Clerk accounts (free) for full setup.

  2. Clone and install

    If you’re contributing, fork the repo first, then clone your fork. Otherwise clone the main repo:

    git clone https://github.com/YOUR_ORG/openclaw-mission-control.git
    cd openclaw-mission-control
    nvm use 24   # or ensure Node 24+
    npm install
  3. Environment variables

    • Copy apps/web/.env.example to apps/web/.env.local.
    • Convex URL: From repo root run cd packages/backend && npx convex dev once; sign in (or use anonymous dev). The CLI will create a Convex project and print the deployment URL. Copy that URL into NEXT_PUBLIC_CONVEX_URL in apps/web/.env.local (or copy from Convex Dashboard → your deployment → Settings).
    • Clerk: In Clerk Dashboard → API Keys, copy the publishable and secret keys into NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY in apps/web/.env.local. Add http://localhost:3000 to redirect URLs for local sign-in.
  4. Run the app

    • From repo root: npm run dev (starts both Convex backend and web app).
    • Or two terminals: Terminal 1 — cd packages/backend && npx convex dev; Terminal 2 — cd apps/web && npm run dev.
    • Open http://localhost:3000 and sign in.
  5. Verify: Run npm run typecheck and npm run lint from repo root.

Environment Variables

Create a .env.local file in apps/web (see apps/web/.env.example). The web app validates env at build and runtime via @packages/env (t3-env); missing or invalid required vars cause a clear error. Do not commit .env.local.

Variable Required Where to get it
NEXT_PUBLIC_CONVEX_URL Yes From repo root: cd packages/backend && npx convex dev (once); copy the printed deployment URL, or use Convex Dashboard → deployment → Settings.
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY Yes Clerk Dashboard → API Keys.
CLERK_SECRET_KEY Yes Clerk Dashboard → API Keys. Add http://localhost:3000 to redirect URLs.

Run the runtime locally (optional)

The runtime is required for agent features: notification delivery, heartbeats, and the OpenClaw gateway. For dashboard-only work (tasks, agents, threads in the UI), you can skip it.

To run the full stack locally:

  1. Prerequisites: Dashboard (web + Convex) running; Docker for runtime + gateway, or Node for runtime only.
  2. Copy apps/runtime/.env.example to apps/runtime/.env.
  3. Set CONVEX_URL to the same deployment URL as the web app.
  4. Get ACCOUNT_ID and SERVICE_TOKEN: sign in to the web app → open your account → OpenClaw (admin, in the sidebar) → generate a service token and copy it to SERVICE_TOKEN. For ACCOUNT_ID: in the Convex Dashboard go to your deployment → Data → accounts table → copy the _id of your account.
  5. Run the runtime: from apps/runtime, npm run dev (Node) or npm run docker:up / npm run docker:up:openclaw (Docker); or from repo root, npm run dev:openclaw for Docker with OpenClaw gateway.

See apps/runtime/README.md (env table, health, endpoints) and docs/runtime/runtime-docker-compose.md (Docker details).

Troubleshooting

  • App shows Convex connection error — Ensure NEXT_PUBLIC_CONVEX_URL in apps/web/.env.local is set and matches the URL printed by npx convex dev in packages/backend (or from Convex Dashboard → deployment → Settings).
  • Runtime exits or health fails — Ensure ACCOUNT_ID, CONVEX_URL, and SERVICE_TOKEN are set in apps/runtime/.env. Get the token from the web app: OpenClaw (admin) → Generate service token. Get ACCOUNT_ID from Convex Dashboard → Data → accounts → copy _id.
  • Clerk sign-in redirect fails — Add http://localhost:3000 (and any callback paths) to your application’s redirect URLs in the Clerk Dashboard.

Project Structure

openclaw-mission-control/
├── apps/
│   ├── web/                  # Next.js web application
│   │   ├── app/              # App Router pages
│   │   ├── components/       # React components
│   │   └── lib/              # Utilities and hooks
│   ├── native/               # React Native app (v2, placeholder)
│   └── runtime/              # Per-account runtime service
│
├── packages/
│   ├── backend/              # Convex backend
│   │   ├── convex/           # Server functions and schema
│   │   └── lib/              # Shared backend utilities
│   ├── ui/                   # shadcn/ui component library
│   └── shared/               # Shared types and constants
│
├── docs/                     # Documentation
│   ├── build/                # Build orchestration plans
│   └── roadmap/              # Future feature plans
│
└── .github/                  # GitHub Actions CI/CD

Development

Available Scripts

# Install dependencies
npm install

# Start development (from repo root: Convex backend + web app in one command)
npm run dev

# Type check all packages
npm run typecheck

# Lint code
npm run lint

# Build for production
npm run build

# Format code
npm run format

Working with Convex

# Start Convex dev server (watches for changes)
cd packages/backend
npm run dev

# Deploy to production
npm run deploy

# Generate types after schema changes
npx convex dev --once

Adding UI Components

We use shadcn/ui for our component library:

# Add a component to the web app
cd apps/web
npx shadcn@latest add button

# Or add to the shared UI package
cd packages/ui
npx shadcn@latest add button

Architecture

┌─────────────────────────────────────────────────────────────────────┐
│                    OpenClaw Mission Control                         │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────────────┐    │
│   │   Web App   │    │   Convex    │    │  Runtime Server     │    │
│   │  (Next.js)  │◄──►│  (Backend)  │◄──►│  (OpenClaw/Docker)  │    │
│   └─────────────┘    └─────────────┘    └─────────────────────┘    │
│         │                  │                      │                 │
│         │                  │                      │                 │
│   - Dashboard UI     - Database            - OpenClaw Gateway       │
│   - Kanban Board     - Auth/Tenancy        - Agent Sessions         │
│   - Task Threads     - Real-time Subs      - Notification Delivery  │
│   - Agent Roster     - Business Logic      - Heartbeat Scheduler    │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

How It Works

  1. Web App — Users interact with the Next.js dashboard to manage tasks, agents, and documents
  2. Convex Backend — All data is stored in Convex with real-time subscriptions for instant updates
  3. Runtime Service — Each account gets a dedicated OpenClaw runtime server that:
    • Manages agent sessions
    • Delivers notifications to agents
    • Executes scheduled heartbeats
    • Maintains persistent agent context

Deployment

Deploy Convex Backend

cd packages/backend
npx convex deploy

Deploy Web App to Vercel

  1. Connect your GitHub repository to Vercel
  2. Set environment variables in Vercel dashboard
  3. Deploy automatically on push to main

Or deploy manually:

cd apps/web
npx vercel --prod

Deploy Runtime Service

The runtime service runs on DigitalOcean Droplets (one per customer account):

# Build Docker image
cd apps/runtime
docker build -t openclaw-mission-control-runtime .

# Push to registry
docker push your-registry/openclaw-mission-control-runtime

# Deploy to droplet (see docs/build/phase-4-features/13-runtime-service.md)

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/amazing-feature)
  3. Make your changes
  4. Run checks (npm run typecheck && npm run lint)
  5. Commit with conventional commits (git commit -m "feat: add amazing feature")
  6. Push to your fork (git push origin feat/amazing-feature)
  7. Open a Pull Request

Development Guidelines

  • Use TypeScript strict mode
  • Follow existing code patterns
  • Add JSDoc comments for exported functions
  • Write meaningful commit messages
  • Update documentation as needed

Roadmap

See our Roadmap Documents for planned features:

  • v2: Runtime Version Management — Automated fleet upgrades, canary deployments
  • v2: Mobile App — React Native app sharing code with web
  • v2: Advanced Agent Capabilities — MCP integrations, custom tools

Community


Acknowledgments

OpenClaw Mission Control is built on top of amazing open-source projects:


License

This project is licensed under the MIT License — see the LICENSE file for details.


Built with ❤️ by the OpenClaw Mission Control community

About

OpenClaw Mission Control is an open-source multi-agent coordination SaaS built on top of OpenClaw. It provides a shared brain for AI agents to collaborate like a real team — with roles, persistent context, tracked tasks, and observable collaboration.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages