Task Monitor

Real-time web dashboard for OpenClaw sessions and background tasks. Mobile-responsive with auto-refresh.

Installer
$clawhub install task-monitor

Task Monitor v0.1

Real-time monitoring dashboard for OpenClaw with web interface.

Features

  • 🌐 Web Dashboard - Beautiful, responsive UI accessible from any device
  • 📱 Mobile-First - Optimized for phones and tablets
  • 🔄 Auto-Refresh - Updates every 60 seconds
  • 🎨 Modern Design - Gradient UI with dark theme
  • 📊 Live Data - Main session, Discord, sub-agents, cron jobs
  • 🚀 Fast API - JSON endpoint with intelligent caching (30s TTL)
  • Performance - <100ms response time (cached), ~15s cold cache

Installation

cd skills/task-monitor
npm install

Usage

Start Web Server

./scripts/start-server.sh

Server will run on port 3030 (accessible on LAN).

Access URLs: - Local: http://localhost:3030 - LAN: http://<your-ip>:3030

Stop Server

./scripts/stop-server.sh

API Endpoint

curl http://localhost:3030/api/status

Returns JSON with: - Main session stats - Discord session stats - Active sub-agents (with descriptions) - Recent cron job history

Generate Markdown (v0.1)

Legacy markdown generator still available:

./scripts/generate-dashboard.js

Updates DASHBOARD.md in workspace root.

Automation

CRON job runs every 5 minutes to update markdown dashboard: */5 * * * * -> Executes generate-dashboard.js

Architecture

  • Backend: Node.js + Express
  • Frontend: Pure HTML/CSS/JS (no frameworks)
  • Data Source: openclaw sessions list --json + openclaw cron list --json
  • Caching: In-memory cache with 30-second TTL
    • Pre-warmed on server startup
    • Async background refresh when expired
    • Stale-while-revalidate pattern for optimal UX
  • Refresh: Client-side polling (60s interval)

Performance

Without cache: - API response time: ~15 seconds (blocking) - Problem: Each request blocks Node.js event loop

With cache: - Cache hit: <100ms (~365x faster) - Cache miss: ~15s (first request only) - Stale cache: <100ms while refreshing in background - Cache TTL: 30 seconds

The caching system ensures: - Lightning-fast responses for most requests - No blocking of concurrent requests - Graceful degradation when cache expires