Skip to content

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mission Command Center

A self-hosted operations dashboard that connects to OpenClaw to give you a unified command center for managing multiple companies with AI-powered agents.

Built with React, TypeScript, and Tailwind CSS. Designed to run inside Docker alongside an OpenClaw Gateway on any VPS.

What This Is

Mission Command Center is a Founder Operating System — a single dashboard where you manage everything across your companies (MetaWatt & b1nary) through AI agents powered by OpenClaw.

The dashboard connects to your OpenClaw Gateway via WebSocket and gives you:

  • Chat with Claw — Talk to your AI orchestrator directly from the bottom bar. Messages route through OpenClaw's agent runtime with streaming responses.
  • Live Agent Status — See which agents are active, what they're working on, and gateway health (version, uptime, sessions, channels) pulled in real-time.
  • Memory Search — Search OpenClaw's memory backend directly from the dashboard with relevance scoring.
  • Skills & Integration Management — View installed OpenClaw skills, connected channels (Telegram, Slack, etc.), and manage API integrations.
  • 13 Operational Pages — Dashboard, Communications, Research, Outreach, Projects, Certifications, Content, Video Studio, AI Team, Calendar, Memory, Code, Settings.

When OpenClaw is connected, pages show live data. When disconnected, they fall back to mock data so the UI is always usable.

Architecture

Browser
  |
  |  WebSocket (wss://)
  v
+---------------------------+
| Nginx (port 80/3000)     |
| - Serves React SPA       |
| - Proxies /ws -> OpenClaw |
| - Proxies /api -> OpenClaw|
+---------------------------+
  |
  |  Docker shared network
  v
+---------------------------+
| OpenClaw Gateway (18789) |
| - Agent runtime           |
| - Skills & plugins        |
| - Channels (Telegram etc) |
| - Memory backend          |
+---------------------------+

Both containers run on the same VPS and communicate over a shared Docker network. The browser only talks to the Nginx container, which proxies WebSocket and API requests to OpenClaw internally.

Integrations

The dashboard is built to work with these integrations via OpenClaw skills:

Integration OpenClaw Skill Purpose
OpenRouter openrouter-provider Unified AI gateway — 200+ models (Claude, GPT, Gemini, Llama)
Google Workspace google-workspace-mcp Gmail, Calendar, Drive, Docs, Sheets
YouTube youtube Video uploads, channel management
LinkedIn linkedin Post scheduling, engagement tracking
Telegram Built-in channel Push notifications, quick commands
Claude API anthropic-provider Direct Anthropic API (fallback)
VS Code Local integration Dev workflow via Claude Code

Install skills on your OpenClaw instance:

docker exec -it <openclaw-container> openclaw skills install google-workspace-mcp
docker exec -it <openclaw-container> openclaw skills install linkedin

The Settings page automatically detects installed skills and shows their status.

Tech Stack

  • React 18 + TypeScript + Vite — Frontend framework
  • Tailwind CSS + shadcn/ui — Styling and component library
  • TanStack Query — Data fetching with caching and auto-refresh
  • React Router v6 — Client-side routing
  • WebSocket — Real-time connection to OpenClaw Gateway
  • Docker + Nginx — Production deployment (~25MB final image)

Pages

Route Page Description
/ Dashboard Mission control with metrics + activity feed
/communications Communications Email inbox with tags, search, reply drafting
/research Research Company discovery with relevance scoring
/outreach Outreach 7-stage partnership pipeline
/projects Projects 4-column kanban board
/certifications Certifications Certification tracking
/content Content 7-stage content production pipeline
/video-studio Video Studio Video production management
/ai-team AI Team Live agent status from OpenClaw Gateway
/calendar Calendar Schedule management
/memory Memory OpenClaw memory search
/settings Settings Skills, channels, integrations, config
/code Code Development task tracking

Local Development

npm install
npm run dev

The dev server runs on http://localhost:8080. Without an OpenClaw Gateway, the dashboard shows mock data.

To connect to a local OpenClaw instance, create a .env file:

cp .env.example .env
# Edit .env with your OpenClaw Gateway URL and token

Deploy to Hostinger VPS (Docker Manager)

Prerequisites

  • Hostinger VPS with Docker Manager enabled
  • OpenClaw already running (the openclaw-ffdw project)
  • Your OpenClaw Gateway token (click "Gateway token" in Docker Manager)

Option A: Deploy via Hostinger Docker Manager UI

Step 1: Open Hostinger Docker Manager and click Terminal (top right).

Step 2: Create the shared Docker network and connect OpenClaw to it:

docker network create shared-net
docker network connect shared-net $(docker ps --filter "name=openclaw" -q)

Step 3: Clone this repo and build the image:

cd ~
git clone https://github.com/E-Jacko/mission-command-center.git
cd mission-command-center

Step 4: Create your environment file:

cp .env.example .env
nano .env

Set these values:

VITE_OPENCLAW_WS_URL=ws://srv1396951.hstgr.cloud:3000/ws
VITE_OPENCLAW_TOKEN=<paste your gateway token>
DASHBOARD_PORT=3000

Step 5: Back in the Docker Manager UI:

  1. Click the Compose dropdown button (top right of Docker projects table)
  2. Select "Compose manually"
  3. Paste the contents of docker-compose.yml from this repo
  4. Set the environment variables when prompted
  5. Click Deploy

Alternatively, select "Compose from URL" and point it to this repo's raw docker-compose.yml.

Step 6: Wait for it to build and start. You'll see a second project appear in the Docker projects list with status "Running".

Step 7: Click Open next to your new project, or visit:

http://srv1396951.hstgr.cloud:3000

Option B: Deploy via Terminal Only

If you prefer the terminal over the Docker Manager UI:

# 1. Create shared network
docker network create shared-net

# 2. Connect OpenClaw to it
docker network connect shared-net $(docker ps --filter "name=openclaw" -q)

# 3. Clone and enter the repo
cd ~ && git clone https://github.com/E-Jacko/mission-command-center.git
cd mission-command-center

# 4. Create .env
cp .env.example .env
nano .env  # Set your token and URLs

# 5. Build and run
docker compose up -d --build

# 6. Check it's running
docker ps

Verify the Connection

Once deployed, look for these indicators in the dashboard:

  • Green WiFi icon in the top-right header = connected to OpenClaw
  • "Live from OpenClaw" label on the AI Team page
  • Chat bar at the bottom shows "Ask Claw anything..." when connected

If you see a red WiFi icon or "Claw offline", check:

  1. The Gateway token is correct in your .env
  2. Both containers are on the shared-net network: docker network inspect shared-net
  3. OpenClaw is running: docker ps

Installing Skills After Deployment

Connect integrations by installing OpenClaw skills:

# Find your OpenClaw container name
docker ps --filter "name=openclaw"

# Install skills
docker exec -it <container-name> openclaw skills install google-workspace-mcp
docker exec -it <container-name> openclaw skills install linkedin
docker exec -it <container-name> openclaw skills install youtube

# Set API keys in OpenClaw config
docker exec -it <container-name> nano ~/.openclaw/openclaw.json

For OpenRouter (recommended — gives access to 200+ models):

# Set the OPENROUTER_API_KEY environment variable on your OpenClaw container
docker exec -it <container-name> bash -c 'echo "OPENROUTER_API_KEY=your-key-here" >> ~/.openclaw/.env'

Installed skills automatically appear on the Settings page.

Company Filter

The sidebar header has a company switcher. Click "MISSION CONTROL" to filter all pages by:

  • All — Show everything
  • MetaWatt — Energy company data only
  • b1nary — Tech company data only

To add a new company, update src/contexts/CompanyContext.tsx:

export type Company = "All" | "MetaWatt" | "b1nary" | "NewCompany";

OpenClaw Gateway API

The dashboard uses these OpenClaw Gateway RPC methods:

Method Used By Purpose
gateway.health AI Team, Dashboard Version, uptime, session count
agents.list AI Team Agent names and status
agents.status AI Team Per-agent task info
sessions.send ClawChatBar Send chat messages
sessions.list Dashboard Active session count
tools.list Settings Installed skills/tools
channels.list Settings Connected channels
memory.search Memory Search knowledge base
config.get Settings Read OpenClaw config
config.patch Settings Update config
cron.list (future) Scheduled jobs

Full Gateway protocol docs: docs.openclaw.ai/gateway/protocol

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages