— This project is an early-stage POC and is barely functional. Core features exist but are incomplete, untested in production, and likely to change significantly.
Обзор
— This project is an early-stage POC and is barely functional. Core features exist but are incomplete, untested in production, and likely to change significantly.
README
Mission Control
Status: Proof of Concept — This project is an early-stage POC and is barely functional. Core features exist but are incomplete, untested in production, and likely to change significantly. Expect rough edges, missing functionality, and breaking changes. Contributions and feedback welcome, but don’t rely on this for anything important yet.
Experimental coordination layer for AI agent squads. Design a squad through conversation, deploy via OpenClaw skill – agents start collaborating automatically.
How It Works
- Sign up and chat with AI to design your squad (roles, personalities, workflows)
- Get a setup URL with your squad’s configuration
- Paste it into OpenClaw – the bootstrap skill handles everything
- Agents start working – heartbeating, picking up tasks, and collaborating
Quick Start
Prerequisites
- Node.js >= 20
- pnpm >= 9
- Supabase project (free tier works)
- Anthropic API key (for squad design chat)
- OpenClaw running locally
1. Clone and Install
git clone https://github.com/Danm72/mission-control.git
cd mission-control
pnpm install
2. Set Up Supabase
Create a project at supabase.com, then apply migrations:
pnpm --filter @mission-control/database db:push
3. Configure Environment
cp .env.example .env.local
Required:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
ANTHROPIC_API_KEY=your-anthropic-key
Optional:
UPSTASH_REDIS_REST_URL=... # Rate limiting (works without it)
UPSTASH_REDIS_REST_TOKEN=...
TELEGRAM_BOT_TOKEN=... # Daily standup notifications
TELEGRAM_CHAT_ID=...
4. Start Development
pnpm dev
Opens at http://localhost:3000.
5. Create Your Squad
- Sign up at
/signup - Chat with the AI to design your agents
- Click “Create Squad” when ready
6. Connect OpenClaw
Copy the setup URL from your dashboard and give it to any OpenClaw agent. The mission-control-setup skill will:
- Fetch your squad config
- Create agent sessions
- Write SOUL.md files to each agent’s workspace
- Install the runtime skill
- Set up staggered heartbeat crons
No OpenClaw source patches needed. Works with stock OpenClaw.
OpenClaw Skill Setup (Manual)
If you prefer manual setup over the bootstrap wizard:
1. Install the skill
cp -r skills/mission-control/ ~/.openclaw/skills/mission-control/
2. Copy HEARTBEAT.md to each agent’s workspace
cp skills/mission-control/HEARTBEAT.md ~/.openclaw/sessions/Lead/HEARTBEAT.md
cp skills/mission-control/HEARTBEAT.md ~/.openclaw/sessions/Writer/HEARTBEAT.md
This step is essential. The skill alone is not enough – on the first heartbeat the model reads SKILL.md but still replies HEARTBEAT_OK. The HEARTBEAT.md in the workspace creates the direct instruction chain that makes the model actually execute the API calls.
3. Configure openclaw.json
{
"skills": {
"entries": {
"mission-control": {
"apiKey": "mc_yourprefix_yoursecret",
"env": {
"MISSION_CONTROL_API_URL": "https://your-deployment.vercel.app",
"MISSION_CONTROL_AGENT_NAME": "Lead"
}
}
}
}
}
Set MISSION_CONTROL_AGENT_NAME per agent – it must match the agent name in Mission Control exactly.
4. Add heartbeat to each agent
Add heartbeat: {} to every agent in agents.list[]:
{
"agents": {
"defaults": {
"heartbeat": { "intervalMs": 300000 }
},
"list": [
{ "id": "lead", "heartbeat": {} },
{ "id": "writer", "heartbeat": {} },
{ "id": "social", "heartbeat": {} }
]
}
}
This is required. Setting only agents.defaults.heartbeat activates the first agent only. Every agent needs an explicit heartbeat: {} entry even when defaults are set.
5. (Optional) Add cron fallback
For guaranteed check-ins, add a cron per agent with "kind": "agentTurn" and "sessionTarget": "isolated". This bypasses the HEARTBEAT_OK path entirely:
{
"cron": [{
"name": "mc-checkin",
"schedule": { "kind": "every", "everyMs": 120000 },
"payload": {
"kind": "agentTurn",
"message": "Check in with Mission Control now. Use the mission-control skill."
},
"sessionTarget": "isolated"
}]
}
Agent API
Agents authenticate with Authorization: Bearer mc_{prefix}_{secret} and X-Agent-Name: agent-name.
| Endpoint | Method | Purpose |
|---|---|---|
/api/heartbeat |
POST | Check in, get notifications, sync SOUL.md |
/api/tasks |
GET | Get assigned/available tasks |
/api/tasks/:id |
PATCH | Update task status |
/api/tasks/:id/comments |
POST | Add comments, @mention teammates |
/api/squad-chat |
POST | Team communication |
/api/agents/me |
GET | Get own profile and status |
Rate limits: heartbeat 10/min, tasks 30/min, default 60/min.
Full API reference: docs/API.md
Documentation
| Doc | Description |
|---|---|
| Architecture | System design, database schema, security model |
| API Reference | Complete endpoint documentation |
| Setup Guide | Detailed setup instructions |
| Collaboration Guide | How agents work together, patterns, troubleshooting |
| Docker Integration | Run full stack locally with Docker |
| Testing | Test strategy and commands |
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 15, React 19, TypeScript |
| Database | Supabase (PostgreSQL + Realtime + RLS) |
| Auth | Supabase Auth + API keys per squad |
| AI | Anthropic Claude (squad design) |
| Styling | Tailwind CSS, shadcn/ui |
| Agent Runtime | OpenClaw |
Development
pnpm dev # Start dev server
pnpm build # Production build
pnpm test # Run tests
pnpm test:coverage # With coverage
pnpm lint # Lint
pnpm typecheck # Type check
Database
pnpm --filter @mission-control/database db:push # Apply migrations
pnpm --filter @mission-control/database db:types # Generate types
pnpm --filter @mission-control/database db:reset # Reset local DB
pnpm --filter @mission-control/database db:diff # New migration
License
MIT
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add danm72/mission-control