self-hosted operator tooling

watcher is mission control
for your agent stack.

A self-hosted operations dashboard for live sessions, team lanes, recent activity, process health, and office-floor visibility. Built for people running real automations who want one clean place to see what is healthy, what is drifting, and what needs intervention without living inside terminals all day.

live mission status, service health, and session freshness
operator-first readability first, with drill-downs and lane-aware controls when intervention is needed
mobile-ready fast enough to check from a phone when something looks off
Watcher mark
mission control
agents overview
office floor static preview
Watcher office preview
agents
live map
Track which agents are active, idle, recent, or missing from one clean office view.
sessions
current work
See what each lane is working on without bouncing between terminals, topics, and logs.
activity
recent runs
Follow completions, failures, and flow history so you know what your agents just did.
control
intervene
Send the right instruction to the right lane when an agent needs steering.

Open source, self-hostable, and fast to get running.

Watcher is meant to be deployed by operators running their own agent stack. The exact data sources are yours, but the app setup is straightforward.

Minimal setup

Start with the standard self-host flow, then wire in your own OpenClaw and Telegram environment.

git clone https://github.com/CryptoPilot16/watcher
cd watcher
npm install
bash scripts/fetch-models.sh
cp .env.example .env.local
npm run build

Quick start

Clone the repo and install dependencies.
Fetch the 3D assets with the provided setup script.
Create .env.local and set WATCH_PASSWORD.
Run the app locally with npm run dev or build with npm run build.

Deploy notes

Host the web app wherever you already run your ops tooling.
Point it at your OpenClaw environment and optional Telegram bot config.
Keep the dashboard behind auth, then expose the public office preview separately if you want a safe public surface.

One view for the parts of an agent system that usually get scattered across terminals, dashboards, and half-finished mental context.

Watcher is designed around the operator experience: quick state recognition, low-friction drill-downs, and a UI that surfaces what matters first. The public page shows the product honestly, while the authenticated app carries the deeper live state.

status

Mission banner with real health context

Instant visual read on stack condition, active model state, recent issues, and whether the system is actively in session.

activity

Recent runs and flows in one readable view

Follow successful runs, failures, retries, and multi-step work without reconstructing the story from raw timestamps.

sessions

Live session feed when the system is in motion

See user turns, agent replies, and tool activity as they happen instead of waiting for post-hoc summaries.

office

Live office floor for fast team-state read

See who is active, where work is happening, and which lane is waiting without digging through raw process detail.

processes

Service health without the PM2 wall of text

Get a clean operator view of online services, issues, uptime, restarts, CPU, and memory before you drop into lower-level tooling.

routing

Lane-aware control when intervention matters

Route instructions into the right bound lane instead of guessing which topic or session should receive the work.

Built for intervention, not vanity metrics.

The goal is simple: reduce the time between “something feels off” and “I know exactly where to look.” Watcher is for real systems that run unattended until they do not.

01

Scan overall state

Open the dashboard and immediately see whether the system is nominal, degraded, or faulted.

02

Find the exact lane

Jump straight into office, sessions, activity, or service health instead of guessing which layer broke first.

03

Confirm the failure shape

Use structured summaries and raw output together so you know whether it is a transient blip or a real intervention case.

04

Act with context

Recover faster because the diagnostic state is already organized when you arrive.

Public preview in front, authenticated ops console behind it.

Watcher ships with a public office preview for lightweight visibility and a protected dashboard for the full operator surface.

Public surface

Landing page with product overview and current capabilities.
Office preview with generic lane labels and sanitized activity states.
Optional debug HUD for validating lane mode, targets, and progress behavior.

Authenticated surface

Live session feed, recent activity, and service health.
Team lane view with current work snippets and freshness state.
Lane-aware web control for routing instructions into the right session.

Watcher is the surface you open when agents stop being toy demos.

It is a calm, readable layer over the messy reality of long-running automations, background tasks, tool calls, and asynchronous failures. Public preview in front, authenticated ops console behind it.