View on GitHub →

Mission Control

Unified AI usage dashboard across coding agents and local inference

  • React
  • TypeScript
  • Vite
  • Tailwind
  • Express
  • SQLite
  • Bun
  • TanStack Query
  • SSE

A React + Express + SQLite dashboard that ingests Claude Code, Codex CLI, Hermes, ComfyUI, and Lemonade telemetry into one place - sessions, activities, consumption, runtime health, failures, jobs, and generations. Run the hub on a central host; attach collectors on the machines where you do AI work.

Mission Control dashboard showing token usage, recent failures, and source health status across Claude Code, Codex CLI, ComfyUI, Hermes, and Lemonade

Problem

Coding agents, CLI tools, local LLM routers, and image pipelines all produce usage, health, and failure signals - but each has its own logs, APIs, and partial dashboards. How do you see sessions, tokens, runtime load, and job outcomes in one system without coupling the UI to a single agent platform?

Approach

Mission Control is a source-agnostic observability stack with a simple deploy shape:

Hub (central host) - Express + SQLite + the React dashboard. This is the single place you open in a browser. Server-side pollers for lab services that live on that host (Hermes / llama-swap, ComfyUI, optional Lemonade) run next to the API.

Collectors on AI machines - On each workstation or laptop where you run coding agents, a desktop collector tails Claude Code and Codex JSONL logs and pushes batches to the hub’s ingest API. You can run collectors on as many machines as you use; each source/instance is registered independently.

Ingest contract - Batched events (session, activity, inference_request, runtime_snapshot, runtime_event, quota_snapshot, generation_job, job_run) are Zod-validated and deduped on a stable natural key so at-least-once delivery is safe.

UI - Dashboard, Activities, Sessions, Runtime, Failures, Consumption, Jobs, Generations, and Settings, with SSE invalidation and TanStack Query for live updates.

Dollar costs are only attached when a source actually provides billable figures - no fabricated pricing for local inference.

Outcome

A production-running unified usage dashboard for multi-tool AI work: agent sessions and tool calls next to local runtime occupancy, consumption trends, failure analysis, and generation jobs - without requiring every source to speak the same native product model.

Architecture

Hub-and-spoke: install Mission Control (API + SPA + SQLite) on a central host; run desktop collectors on the machines where coding agents produce logs; run server-side pollers on the hub for co-located inference and generation services. Collectors emit a shared ingest contract over HTTP → dedupe → SQLite. The SPA reads REST aggregates and SSE streams. Hub and spokes typically talk over a private network (e.g. workstation + home-lab box).