Web dashboard for real-time monitoring and management of OpenClaw subagents. Use when monitoring or managing subagents.
--- name: subagent-dashboard displayName: Subagent Dashboard description: Web dashboard for real-time monitoring and management of OpenClaw subagents. Use when monitoring or managing subagents. --- # Subagent Dashboard Skill Web dashboard for real-time monitoring and management of OpenClaw subagents. ## Installation ```bash cd workspace/skills/subagent-dashboard/scripts ./start_dashboard.sh ``` Or manually: ```bash python3 -m venv venv source venv/bin/activate pip install -r ../requirements.txt python3 dashboard.py ``` ## Usage Start the dashboard and open http://localhost:8080 in your browser. The dashboard shows: - **All sessions** from sessions.json: main (orchestrator), subagents, and optionally cron jobs - Real-time updates (auto-refresh every 3 seconds) - Agent details: model, age, tokens, task progress; role badges (Main / Subagent / Cron) - Transcript viewing for each agent - Stalled agent detection (>30 min inactive) ## Purpose Provides a web UI to: - Monitor active subagents in real-time - View agent transcripts and activity - Detect and manage stalled agents - Track task progress and token usage ## Dependencies - Flask (web server) - flask-cors (CORS support) - Subagent-tracker skill (for data) ## Configuration Set `PORT` environment variable to change the server port (default: 8080). ## Integration The dashboard uses the subagent-tracker skill to fetch data. It reads: - `~/.openclaw/agents/main/sessions/sessions.json` - Session list - `~/.openclaw/agents/main/sessions/*.jsonl` - Transcript files - `~/.openclaw/agents/main/subagents/runs.json` - Task mapping (and legacy `~/.openclaw/subagents/runs.json`) **Completed column:** For finished tasks to appear in the Completed column, the run in `runs.json` must have `endedAt` (timestamp) and `outcome.status` set to `"ok"`, `"completed"`, or `"success"` when the sub-agent finishes. The dashboard appends "recently completed" runs (within 24h) even if the session was removed from sessions.json.
don't have the plugin yet? install it then click "run inline in claude" again.