A beautiful, zero-dependency command center for OpenClaw AI agents.
- 🔔 Header Bar — Bot name, online/offline status, auto-refresh countdown
⚠️ Alerts Banner — Smart alerts for high costs, failed crons, high context usage, gateway offline- 💚 System Health — Gateway status, PID, uptime, memory, compaction mode, active session count
- 💰 Cost Cards — Today's cost, all-time cost, projected monthly, cost breakdown donut chart
- ⏰ Cron Jobs — All scheduled jobs with status, schedule, last/next run, duration, model
- 📡 Active Sessions — Recent sessions with model, type badges (DM/group/cron/subagent), context %, tokens
- 📊 Token Usage & Cost — Per-model breakdown with today/all-time toggle, usage bars, totals
- 🤖 Sub-Agent Activity — Sub-agent runs with cost, duration, status + token breakdown
- 🧩 Bottom Row — Available models grid, skills list, git log
- 🔄 On-Demand Refresh —
server.pyrefreshes data when you open the dashboard (no stale data) - ⏱️ Auto-Refresh — Page auto-refreshes every 60 seconds with countdown timer
- 🎨 Glass Morphism UI — Dark theme with subtle transparency and hover effects
- 📱 Responsive — Adapts to desktop, tablet, and mobile
- 🔒 Local Only — Runs on localhost, no external dependencies
- 🐧 Cross-Platform — macOS and Linux
- ⚡ Zero Dependencies — Pure HTML/CSS/JS frontend, Python stdlib backend
curl -fsSL https://raw.githubusercontent.com/mudrii/openclaw-dashboard/main/install.sh | bashThis will:
- Install to
~/.openclaw/dashboard - Create a default config
- Run initial data refresh
- Start
server.pyas a system service - Open http://127.0.0.1:8080
# Clone the repo
git clone https://github.com/mudrii/openclaw-dashboard.git ~/.openclaw/dashboard
cd ~/.openclaw/dashboard
# Create your config
cp examples/config.minimal.json config.json
nano config.json # Set your bot name
# Start the server (refreshes data on-demand)
python3 server.py &
# Open in browser
open http://127.0.0.1:8080 # macOS
xdg-open http://127.0.0.1:8080 # Linuxserver.py ← HTTP server + /api/refresh endpoint
├── index.html ← Single-page dashboard (fetches /api/refresh)
├── refresh.sh ← Data collection script (called by server.py)
└── data.json ← Generated data (auto-refreshed)
When you open the dashboard, index.html calls /api/refresh. The server runs refresh.sh (with 30s debounce) to collect fresh data from your OpenClaw installation, then returns the JSON. No cron jobs needed.
Edit config.json:
{
"bot": {
"name": "My Bot",
"emoji": "🤖"
},
"theme": {
"accent": "#22c55e"
},
"panels": {
"kanban": false
},
"server": {
"port": 8080,
"host": "127.0.0.1"
},
"openclawPath": "~/.openclaw"
}| Key | Default | Description |
|---|---|---|
bot.name |
"OpenClaw Dashboard" |
Dashboard title |
bot.emoji |
"🦞" |
Avatar emoji |
theme.preset |
"dark" |
Theme preset |
theme.accent |
"#6366f1" |
Primary accent color |
panels.* |
true |
Show/hide individual panels |
refresh.intervalSeconds |
30 |
Debounce interval for refresh |
server.port |
8080 |
Server port |
server.host |
"127.0.0.1" |
Server bind address |
openclawPath |
"~/.openclaw" |
Path to OpenClaw installation |
See docs/CONFIGURATION.md for full details.
Screenshots coming soon. The dashboard features a dark glass-morphism UI with:
- Gradient header with live status indicator
- Cost cards with animated donut chart
- Sortable tables with usage bars
- Responsive grid layout
./uninstall.shOr manually:
# macOS
launchctl unload ~/Library/LaunchAgents/com.openclaw.dashboard.plist
rm -rf ~/.openclaw/dashboard
# Linux
systemctl --user stop openclaw-dashboard
rm -rf ~/.openclaw/dashboard- Python 3.6+ — Backend server and data collection
- OpenClaw — Installed at
~/.openclaw(docs) - macOS 10.15+ or Linux (Ubuntu 18.04+, Debian 10+)
- Modern web browser
- New: Complete UI redesign with glass morphism dark theme
- New:
server.pywith on-demand/api/refreshendpoint (replacespython3 -m http.server) - New: 10 dashboard panels (up from 4)
- New: Sub-agent activity tracking with cost and token breakdown
- New: Smart alerts system (cost warnings, failed crons, high context, gateway offline)
- New: System health row (gateway, PID, uptime, memory, compaction, sessions)
- New: Cost donut chart with per-model breakdown
- New: Kanban board for task tracking
- New: Active sessions panel with context % bars and type badges
- New: Git log panel
- New: Auto-refresh with 60s countdown
- Improved: Token usage tables with today/all-time toggle
- Improved:
refresh.shauto-discovers all sessions, crons, models, skills - Improved: Responsive layout for mobile/tablet
- Initial release with basic token usage and cron panels
See CONTRIBUTING.md for guidelines.
MIT License — see LICENSE
Made with 🦞 for the OpenClaw community
