Sessions Dashboard ("Live Dashboard Viewer")
Creator: Nate Teshome — https://stellarsitesai.com
What this skill delivers
- Color-coded CLI monitor (
scripts/agents_cli_monitor.py): RUN/IDLE/STALE/EXIT states, runtime, last update, token + USD estimates, model/kind, plus a live KPI banner (state counts, Σ tokens/cost, longest run, avg lag).
- Shareable HTML dashboard (
scripts/agents_canvas_snapshot.py): dark-mode cards + table, status pills, runtime/lag columns, and auto-refresh browser view for leadership/client reviews.
- Looping web generator (
--loop <seconds>): continuously rewrites the HTML so you don’t need separate watch commands. Pair with the built-in <meta refresh> (default 5 s) for a true live panel.
Use this when you need a polished, always-on view of every OpenClaw session—perfect for ops rooms, agency war rooms, or lightweight audits.
Requirements & security
- OpenClaw CLI (
openclaw >= 2025.x) must be installed and authenticated so openclaw sessions --json works.
- Optional log tail: the CLI monitor subscribes to
openclaw logs --json --follow for instant RUN/IDLE bumps. Those logs can contain prompts, tool arguments, secrets, or PII. Nothing is printed or stored, but if you don’t want to expose log contents, pass --no-subscribe (poll-only) or run on a machine without log access.
- Set
AGENT_MONITOR_NO_SUBSCRIBE=1 to default to poll-only everywhere; pass --subscribe to override per run.
- Gateway scope: run the dashboard only on hosts that are already allowed to query your OpenClaw gateway; everything stays local/in-memory.
Directory
skills/sessions-dashboard/
├── SKILL.md
├── scripts/
│ ├── agents_cli_monitor.py # Live terminal UI (color + KPI banner)
│ └── agents_canvas_snapshot.py # HTML generator (+ --loop for continuous refresh)
└── assets/
└── agents_canvas.html # Default output target for the web panel
CLI monitor quick start
cd ~/.openclaw/workspace/skills/sessions-dashboard
./scripts/agents_cli_monitor.py --interval 2 --cost-per-1k 0.015
Key flags:
--interval SECONDS (default 3, min 0.5)
--active-minutes MINS (default 720) to widen the lookback
--agent <id> / --all-agents to filter
--retention SECONDS (default 120) to control how long EXITED rows linger
--cost-per-1k USD or env AGENT_MONITOR_COST_PER_1K
--once for a single snapshot, --no-subscribe to disable the log tailer
What the CLI shows
- State (RUN green, IDLE amber, STALE magenta, EXIT gray)
- Runtime + start time for quick “how long has this been around?” checks
- Last update lag (
00:12 ago) to spot stuck sessions
- Tokens & projected cost per session
- Model / kind (channel) for context
- KPI banner (top line) summarizing RUN/IDLE/STALE/EXIT counts, Σ tokens/cost, the longest-running session, and mean lag — ideal for screenshots or lightweight reporting.
Web dashboard (Canvas / browser)
Generate the HTML and keep it running in one command:
cd ~/.openclaw/workspace/skills/sessions-dashboard
./scripts/agents_canvas_snapshot.py \
--loop 5 \
--refresh 5 \
--cost-per-1k 0.015 \
--output assets/agents_canvas.html
What the script does:
- Hits
openclaw sessions --json on each loop.
- Rebuilds
assets/agents_canvas.html with cards (state counts, Σ tokens/cost, longest run, avg lag) plus the detailed table.
- Inserts a
<meta refresh> so the browser (or Canvas tab) reloads itself every --refresh seconds.
- When
--loop > 0, the script stays alive forever and rewrites the file at that cadence (Ctrl+C to stop). No extra watch command needed.
Presenting the dashboard
- Open locally:
open assets/agents_canvas.html
- Canvas:
openclaw canvas present --path skills/sessions-dashboard/assets/agents_canvas.html
- Remote share: host the HTML anywhere static files are allowed; it has no external dependencies.
Troubleshooting
command not found: chmod +x scripts/*.py and run from the skill directory (or use absolute paths).
- Gateway errors: verify
openclaw gateway status; the scripts just print the stderr and retry.
- No color in CLI: set
NO_COLOR=1 to disable, otherwise the monitor auto-detects TTY support.
- Browser not updating: make sure
--loop is running so the HTML file actually changes; --refresh only reloads the page.
- Cost column blank: pass
--cost-per-1k or export AGENT_MONITOR_COST_PER_1K to enable projections.
Release notes (current version)
- Added colorized states + KPI banner to the CLI monitor.
- Added looping mode and a polished dark-mode layout for the HTML dashboard.
- Default assets are optimized for screenshots / executive readouts.
That’s it—launch the CLI, fire up the live HTML panel, and give your team a real-time Sessions Dashboard without cobbling together spreadsheets.
1---2name: sessions-dashboard3description: Live dashboard viewer for OpenClaw sessions (CLI + web) that shows color-coded states, token/cost totals, and shareable HTML panels. Requires local OpenClaw CLI access (`openclaw sessions` and optional `openclaw logs`). Created by Nate Teshome (stellarsitesai.com).4---56# Sessions Dashboard ("Live Dashboard Viewer")78Creator: **Nate Teshome** — <https://stellarsitesai.com>910## What this skill delivers11- **Color-coded CLI monitor** (`scripts/agents_cli_monitor.py`): RUN/IDLE/STALE/EXIT states, runtime, last update, token + USD estimates, model/kind, plus a live KPI banner (state counts, Σ tokens/cost, longest run, avg lag).12- **Shareable HTML dashboard** (`scripts/agents_canvas_snapshot.py`): dark-mode cards + table, status pills, runtime/lag columns, and auto-refresh browser view for leadership/client reviews.13- **Looping web generator** (`--loop <seconds>`): continuously rewrites the HTML so you don’t need separate `watch` commands. Pair with the built-in `<meta refresh>` (default 5 s) for a true live panel.1415Use this when you need a polished, always-on view of every OpenClaw session—perfect for ops rooms, agency war rooms, or lightweight audits.1617## Requirements & security18- **OpenClaw CLI** (`openclaw` >= 2025.x) must be installed and authenticated so `openclaw sessions --json` works.19- **Optional log tail**: the CLI monitor subscribes to `openclaw logs --json --follow` for instant RUN/IDLE bumps. Those logs can contain prompts, tool arguments, secrets, or PII. Nothing is printed or stored, but if you don’t want to expose log contents, pass `--no-subscribe` (poll-only) or run on a machine without log access.20 - Set `AGENT_MONITOR_NO_SUBSCRIBE=1` to default to poll-only everywhere; pass `--subscribe` to override per run.21- **Gateway scope**: run the dashboard only on hosts that are already allowed to query your OpenClaw gateway; everything stays local/in-memory.2223## Directory24```25skills/sessions-dashboard/26├── SKILL.md27├── scripts/28│ ├── agents_cli_monitor.py # Live terminal UI (color + KPI banner)29│ └── agents_canvas_snapshot.py # HTML generator (+ --loop for continuous refresh)30└── assets/31 └── agents_canvas.html # Default output target for the web panel32```3334## CLI monitor quick start35```bash36cd ~/.openclaw/workspace/skills/sessions-dashboard37./scripts/agents_cli_monitor.py --interval 2 --cost-per-1k 0.01538```39Key flags:40- `--interval SECONDS` (default 3, min 0.5)41- `--active-minutes MINS` (default 720) to widen the lookback42- `--agent <id>` / `--all-agents` to filter43- `--retention SECONDS` (default 120) to control how long EXITED rows linger44- `--cost-per-1k USD` or env `AGENT_MONITOR_COST_PER_1K`45- `--once` for a single snapshot, `--no-subscribe` to disable the log tailer4647### What the CLI shows48- **State** (RUN green, IDLE amber, STALE magenta, EXIT gray)49- **Runtime + start time** for quick “how long has this been around?” checks50- **Last update lag** (`00:12 ago`) to spot stuck sessions51- **Tokens & projected cost** per session52- **Model / kind** (channel) for context53- **KPI banner** (top line) summarizing RUN/IDLE/STALE/EXIT counts, Σ tokens/cost, the longest-running session, and mean lag — ideal for screenshots or lightweight reporting.5455## Web dashboard (Canvas / browser)56Generate the HTML and keep it running in one command:57```bash58cd ~/.openclaw/workspace/skills/sessions-dashboard59./scripts/agents_canvas_snapshot.py \60 --loop 5 \61 --refresh 5 \62 --cost-per-1k 0.015 \63 --output assets/agents_canvas.html64```65What the script does:66- Hits `openclaw sessions --json` on each loop.67- Rebuilds `assets/agents_canvas.html` with cards (state counts, Σ tokens/cost, longest run, avg lag) plus the detailed table.68- Inserts a `<meta refresh>` so the browser (or Canvas tab) reloads itself every `--refresh` seconds.69- When `--loop` > 0, the script stays alive forever and rewrites the file at that cadence (Ctrl+C to stop). No extra `watch` command needed.7071### Presenting the dashboard72- **Open locally:** `open assets/agents_canvas.html`73- **Canvas:** `openclaw canvas present --path skills/sessions-dashboard/assets/agents_canvas.html`74- **Remote share:** host the HTML anywhere static files are allowed; it has no external dependencies.7576## Troubleshooting77- **`command not found`:** `chmod +x scripts/*.py` and run from the skill directory (or use absolute paths).78- **Gateway errors:** verify `openclaw gateway status`; the scripts just print the stderr and retry.79- **No color in CLI:** set `NO_COLOR=1` to disable, otherwise the monitor auto-detects TTY support.80- **Browser not updating:** make sure `--loop` is running so the HTML file actually changes; `--refresh` only reloads the page.81- **Cost column blank:** pass `--cost-per-1k` or export `AGENT_MONITOR_COST_PER_1K` to enable projections.8283## Release notes (current version)84- Added colorized states + KPI banner to the CLI monitor.85- Added looping mode and a polished dark-mode layout for the HTML dashboard.86- Default assets are optimized for screenshots / executive readouts.8788That’s it—launch the CLI, fire up the live HTML panel, and give your team a real-time Sessions Dashboard without cobbling together spreadsheets.