Meet NanoCo, maintainers of NanoClaw: we raised $12M to give every member of your team a professional assistant →
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:

  1. Install the packagepnpm install @nanoco/nanoclaw-dashboard.
  2. Copy the pusher modulesrc/dashboard-pusher.ts, which collects DB state and tails the log file.
  3. 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 when DASHBOARD_SECRET is set.
  4. Add env varsDASHBOARD_SECRET (random, used for Authorization: Bearer ...) and DASHBOARD_PORT (default 3100).
  5. 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

PageShows
OverviewStats, token usage + cache hit rate, context windows, activity chart
Agent GroupsSessions, wirings, destinations, members, admins
SessionsStatus, container state, context window usage bars
ChannelsLive/offline status, messaging groups, sender policies
MessagesPer-session inbound/outbound messages
UsersPrivilege hierarchy: owner > admin > member
LogsReal-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.log for push errors.
  • 401 errors mean the DASHBOARD_SECRET in .env doesn’t match the value the dashboard was configured with. Restart NanoClaw after changing it.
  • If port 3100 is taken, set DASHBOARD_PORT to 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, remove src/dashboard-pusher.ts, delete the dashboard block in src/index.ts, and remove the env vars.