Skip to main content
Back to Projects

Operator Layer

Agents Monitoring

Operator Console for Live Agent Systems

A control-room dashboard for watching real agents, live sessions, sync health, and task linkage on a single host. It is designed for operators who need to know what is running, what is blocked, and what requires intervention.

Attention queue
Linked vs unmapped work
Local-first live snapshots

4 live sources

OpenClaw agents, sessions, runtime + plan-store

SSE push

Changes streamed to the console, no refresh

Last-good snapshot

Console stays usable through source failures

Operator console

A dashboard for running agents, not demoing them

OpenClaw agents list
OpenClaw sessions
OpenClaw runtime status
Local plan-store database

Operator questions

What is running right now?
Which agents are stale, blocked, or offline?
Which sessions are linked to tracked work and which are unmapped?
Is sync healthy or degraded?

01

Why operators need this

Once agents are doing real work, the bottleneck shifts to operations. Teams need to see active runs, stale agents, task linkage, and sync failures without digging through raw CLI output or transcripts. Without an operator surface, automation becomes harder to trust than manual work.

What is running right now?

A live session table reconciled from the runtime rather than a stale list — with the freshness of the current snapshot always visible.

Which agents are stale, blocked, or offline?

Threshold-based staleness and status checks push them into the attention queue before they silently stall work.

Which sessions are linked to tracked work and which are unmapped?

Linkage is deterministic only — anything ambiguous is flagged as unmapped for triage instead of being guessed at.

Is sync healthy or degraded?

A source failure flips a visible degraded state while the last good snapshot keeps the console usable.

02

Operator model

Built a local-first operator console that projects live OpenClaw and plan-store sources into one read model. The app reconciles live runtime state, persists the last good snapshot, exposes operator APIs, and pushes changes over SSE. Instead of generic CRUD screens, it organizes the UI around summary, attention queue, run detail, tracked tasks, and sync health so the operator can make decisions quickly.

runtime summary and sync health banner

The first glance answers two things: is the system healthy, and is this view live or a preserved snapshot?

configured-agent roster including idle agents

Every configured agent appears — idle ones included — so silence is a visible state instead of an invisible one.

active session table with linkage state

Each live session is conservatively linked to a tracked task; ambiguity shows as unmapped instead of being hidden.

tracked task board and attention queue

Blocked, stale, offline, and unmapped work lands in one triage list ordered by what actually needs an operator.

privacy-safe detail views for agents, runs, and tasks

Drill-downs use redacted event summaries and previews, so operating the system does not mean exposing transcript content.

03

Attention semantics

The attention queue is intentionally opinionated. It surfaces sync warnings, blocked runs, stale or offline agents, blocked tasks, and active work that cannot be linked deterministically to tracked tasks.

Turned raw agent/runtime output into an operator-focused control-room view
Surfaced blocked, stale, offline, and unmapped work in an explicit attention queue
Linked live sessions conservatively to tracked tasks instead of hiding ambiguity
Preserved the last good live snapshot during transient source failures
Defined privacy-safe previews and redacted event summaries for operator drill-downs
TypeScript
Node.js
Express
Server-Sent Events
OpenClaw CLI
Plan-store SQLite
Operator Read Models
Local-first Snapshots