Skills
Utility Official
Dashboard
Add a local monitoring dashboard for NanoClaw. Live view of agent groups, sessions, channels, token usage, and logs.
What it does
- Live overview: stats, token usage, cache hit rate, context windows
- Per-session container state and context window usage bars
- Real-time log streaming with level filter
- Channel status, sender policies, and message activity
- User privilege hierarchy: owner > admin > member
What you'll need
- NanoClaw installed and running
- An open local port (default 3100)
Install
/add-dashboard How it works
The /add-dashboard skill installs @nanoco/nanoclaw-dashboard and a small pusher module that sends NanoClaw’s state to it on a regular interval. The dashboard runs locally on your machine — nothing leaves your network.
NanoClaw (pusher) Dashboard (npm package)
┌──────────┐ POST JSON ┌──────────────┐
│ collects │ ────────────────→ │ /api/ingest │
│ DB data │ every 60s │ in-memory │
│ tails │ ────────────────→ │ /api/logs │
│ log file │ every 2s │ serves UI │
└──────────┘ └──────────────┘
Setup
The skill walks you through:
- Install the package —
pnpm install @nanoco/nanoclaw-dashboard. - Copy the pusher module —
src/dashboard-pusher.ts, which collects DB state and tails the log file. - Wire it into
src/index.ts— a small block right before NanoClaw’s “running” log line that starts both the dashboard server and the pusher whenDASHBOARD_SECRETis set. - Add env vars —
DASHBOARD_SECRET(random, used forAuthorization: Bearer ...) andDASHBOARD_PORT(default 3100). - Build and restart.
Generate a secret:
node -e "console.log('nc-' + require('crypto').randomBytes(16).toString('hex'))"
Open http://localhost:3100/dashboard once the service restarts.
Pages
| Page | Shows |
|---|---|
| Overview | Stats, token usage + cache hit rate, context windows, activity chart |
| Agent Groups | Sessions, wirings, destinations, members, admins |
| Sessions | Status, container state, context window usage bars |
| Channels | Live/offline status, messaging groups, sender policies |
| Messages | Per-session inbound/outbound messages |
| Users | Privilege hierarchy: owner > admin > member |
| Logs | Real-time log streaming with level filter |
Tips
- The first push happens 60s after start. If the dashboard says “no data yet,” wait — or check
logs/nanoclaw.logfor push errors. - 401 errors mean the
DASHBOARD_SECRETin.envdoesn’t match the value the dashboard was configured with. Restart NanoClaw after changing it. - If port 3100 is taken, set
DASHBOARD_PORTto anything else. - The dashboard is read-only — it shows state but doesn’t mutate anything. Safe to leave running while you work.
- To uninstall:
pnpm uninstall @nanoco/nanoclaw-dashboard, removesrc/dashboard-pusher.ts, delete the dashboard block insrc/index.ts, and remove the env vars.