e623d42eb8fdb4822cf4dd6d6787ba771e2bf432
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
OpenClaw Dashboard
A lightweight web dashboard for monitoring OpenClaw (Claude Code / ACP) sessions in real-time.
Features
- Session list — all agents/sessions with status, model, token counts, cost, and last activity
- Session detail — full message timeline with collapsible tool calls and thinking blocks
- Live tail — WebSocket streaming of new events as they arrive
- Filtering — by agent, status (active/idle/deleted/reset), and free-text search
- Auto-refresh — session list refreshes every 10 seconds
Stack
- Backend: Node.js + Express + ws (no database — reads
.jsonlfiles directly) - Frontend: Vanilla HTML/CSS/JS SPA (no framework, dark GitHub-style theme)
Quick start
1. Local (Node.js)
npm install
node server.js
2. Docker Compose
docker compose up -d
Configuration
| Variable | Default | Description |
|---|---|---|
PORT |
3850 |
HTTP/WS listen port |
SESSIONS_DIR |
/home/node/.openclaw/agents |
Root directory of agent folders |
PORT=8080 SESSIONS_DIR=/path/to/agents node server.js
Session file format
Sessions are read from:
$SESSIONS_DIR/
├── <agent>/
│ └── sessions/
│ ├── <uuid>.jsonl # active or idle
│ ├── <uuid>.jsonl.deleted.* # deleted (archived)
│ └── <uuid>.jsonl.reset.* # reset (archived)
Each .jsonl file contains newline-delimited JSON events:
| Event type | Description |
|---|---|
session |
Session metadata (id, cwd) |
message |
User / assistant messages |
model_change |
Model switch |
thinking_level_change |
Thinking budget change |
custom |
Custom events (model-snapshot, etc.) |
API
| Endpoint | Description |
|---|---|
GET /api/sessions |
List all sessions (parsed summary) |
GET /api/sessions/:agent/:id |
Full event log for one session |
WS /ws/sessions/:agent/:id |
Live tail (streams new events) |
Deployment notes
- The Docker image runs as the
nodeuser (non-root). - The sessions volume is mounted read-only (
ro) — the dashboard never writes. restart: unless-stoppedkeeps the container running across reboots.
Description
Languages
HTML
78.9%
JavaScript
19.7%
Dockerfile
0.9%
Shell
0.5%