Skip to main content

Real-time observability dashboard for OpenClaw AI agents

Project description

๐Ÿฆž OpenClaw Dashboard

See your agent think. The Grafana for your personal AI agent.

Real-time observability dashboard for OpenClaw/Moltbot AI agents. One file. Zero config. Just run it.

Overview


โšก Quick Start

pip install openclaw-dashboard
openclaw-dashboard

Or run directly:

pip install flask
python3 dashboard.py

Opens at http://localhost:8900 โ€” auto-detects your OpenClaw workspace.


๐Ÿ“ธ Screenshots

Overview
Flow Visualization
Sessions
Cron Jobs
Live Logs
Memory Files

โœจ Features

Tab What it shows
Overview Model, sessions, crons, tokens, memory, โค๏ธ health checks (auto-refresh via SSE), ๐Ÿ”ฅ activity heatmap (GitHub-style), recent logs
๐Ÿ“Š Usage Token/cost tracking โ€” bar chart of tokens per day (14 days), today/week/month totals, cost breakdown. With OTLP: real token counts, actual cost, avg run duration, messages processed, model breakdown
Sessions All active agent sessions with model, channel, token usage, last activity
Crons Scheduled jobs with status, schedule, last run, next run, duration
Logs Parsed JSON logs with color-coded levels, configurable line count, real-time SSE streaming
Memory Clickable file browser for SOUL.md, MEMORY.md, AGENTS.md, daily memory files
๐Ÿ“œ Transcripts Session transcript viewer โ€” browse .jsonl files, click to see chat-bubble conversation view with color-coded roles, expand/collapse
Flow Real-time animated SVG showing data flow: You โ†’ Channels โ†’ Gateway โ†’ Brain โ†’ Tools โ†’ Infrastructure

Flow Visualization

The Flow tab is the star โ€” a live animated architecture diagram that lights up in real-time as your agent processes messages:

  • ๐ŸŸฃ Purple particles โ€” your message entering through a channel
  • ๐Ÿ”ต Blue particles โ€” request flowing to the brain
  • ๐ŸŸก Yellow particles โ€” tool calls (exec, browser, search, cron, tts, memory)
  • ๐ŸŸข Green particles โ€” response flowing back to you
  • ๐Ÿ”ด Red flash โ€” errors
  • ๐Ÿ”ต Cyan pulses โ€” infrastructure layer activity (network, storage, runtime)

New in v0.2: OTLP Receiver + Full Observability

  • ๐Ÿ“ก OTLP Receiver โ€” Dashboard becomes a lightweight OTel collector. Point OpenClaw at it, get real metrics. No Grafana/Prometheus needed.
  • ๐Ÿ”ฅ Activity Heatmap โ€” GitHub-style 7ร—24 grid showing when your agent is busiest. Pure CSS, no libraries.
  • โค๏ธ Health Checks โ€” Gateway, disk, memory, uptime, OTLP status at a glance. Auto-refreshes every 30s via SSE.
  • ๐Ÿ“Š Real Token/Cost Tracking โ€” With OTLP: real token counts, actual cost, model breakdown, avg run duration.
  • ๐Ÿ“œ Transcript Viewer โ€” Read your agent's conversations in a beautiful chat-bubble UI. Color-coded roles, expand/collapse for long messages.

๐Ÿค” What Makes This Different?

OpenClaw Dashboard Langfuse AgentOps
Install pip install openclaw-dashboard Docker + Postgres SDK + cloud account
Config Zero. Auto-detects everything. Database URLs, API keys API keys, SDK init
Focus Personal AI agent Enterprise LLM apps Enterprise agent monitoring
Memory-first โœ… Browse SOUL.md, MEMORY.md, daily notes โŒ โŒ
Single file โœ… One Python file, one dependency โŒ Multi-service โŒ Cloud service
Transcripts โœ… Chat-bubble viewer built-in โœ… (needs SDK) โœ… (needs SDK)
Cost tracking โœ… Zero config (OTLP or log parsing) โœ… (needs SDK) โœ… (needs SDK)
Built-in OTel collector โœ… OTLP/HTTP receiver โŒ โŒ

TL;DR: Langfuse and AgentOps are great for teams building LLM products. OpenClaw Dashboard is for the person running a personal AI agent on their own machine โ€” zero instrumentation, zero config, memory-first. It's the Grafana for your personal AI agent.


๐Ÿ“ก Real-time Metrics (OpenTelemetry)

The dashboard can act as a lightweight OpenTelemetry collector โ€” no need for Grafana, Prometheus, or a separate OTel Collector. Just point OpenClaw at the dashboard.

Setup

1. Install OTLP support:

pip install openclaw-dashboard[otel]

2. Configure OpenClaw โ€” add one line to your config:

diagnostics:
  otel:
    endpoint: http://localhost:8900

That's it! The dashboard now receives real-time metrics directly from OpenClaw.

What you get

Metric Source What it shows
Token counts per day openclaw.tokens Real input/output/total token usage (bar chart)
Cost per day openclaw.cost.usd Actual cost from your provider
Avg run duration openclaw.run.duration_ms How long model completions take
Messages processed openclaw.message.processed Message throughput
Model breakdown attributes Which models are being used and how much
OTLP Connected indicator health check Green when data is flowing

OTLP Endpoints

  • POST /v1/metrics โ€” receives OTLP/HTTP protobuf metric data
  • POST /v1/traces โ€” receives OTLP/HTTP protobuf trace data

Without OTLP

Everything still works! The dashboard falls back to parsing session JSONL files for token estimates. OTLP just gives you real numbers instead of estimates.

Persistence

Metrics are stored in-memory (capped at ~10K entries per category, 14-day retention) and auto-persisted to {workspace}/.openclaw-dashboard-metrics.json every 60 seconds. Override the path with --metrics-file or OPENCLAW_METRICS_FILE.


โš™๏ธ Configuration

CLI Arguments

openclaw-dashboard --port 9000          # Custom port (default: 8900)
openclaw-dashboard --host 127.0.0.1     # Bind to localhost only
openclaw-dashboard --workspace ~/mybot  # Custom workspace path
openclaw-dashboard --log-dir /var/log   # Custom log directory
openclaw-dashboard --sessions-dir ~/data # Custom sessions directory
openclaw-dashboard --metrics-file ~/m.json # Custom metrics persistence path
openclaw-dashboard --name "Alice"       # Your name in Flow visualization

Environment Variables

Variable Description Default
OPENCLAW_HOME Agent workspace directory Auto-detected
OPENCLAW_WORKSPACE Alternative to OPENCLAW_HOME Auto-detected
OPENCLAW_SESSIONS_DIR Sessions directory (.jsonl transcripts) Auto-detected
OPENCLAW_LOG_DIR Log directory /tmp/moltbot
OPENCLAW_METRICS_FILE Metrics persistence file path {workspace}/.openclaw-dashboard-metrics.json
OPENCLAW_USER Your name in Flow tab You

Auto-Detection

If no paths are configured, the dashboard automatically searches for:

  1. Workspace: Checks ~/.clawdbot/agents/main/config.json โ†’ ~/.clawdbot/workspace โ†’ ~/clawd โ†’ ~/openclaw โ†’ current directory. Looks for SOUL.md, AGENTS.md, MEMORY.md, or memory/ directory.
  2. Logs: Checks /tmp/moltbot โ†’ /tmp/openclaw โ†’ ~/.clawdbot/logs
  3. Sessions: Reads from ~/.clawdbot/agents/main/sessions/
  4. Crons: Reads from ~/.clawdbot/cron/jobs.json

๐Ÿ—๏ธ How It Works

The dashboard is a single-file Flask app that reads directly from your OpenClaw/Moltbot data directories:

Your Agent (Moltbot)          OpenClaw Dashboard
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Writes logs to   โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚ Reads & parses   โ”‚
โ”‚ /tmp/moltbot/    โ”‚          โ”‚ JSON log lines   โ”‚
โ”‚                  โ”‚          โ”‚                  โ”‚
โ”‚ Stores sessions  โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚ Lists sessions   โ”‚
โ”‚ in ~/.clawdbot/  โ”‚          โ”‚ with metadata    โ”‚
โ”‚                  โ”‚          โ”‚                  โ”‚
โ”‚ Saves crons to   โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚ Shows schedules  โ”‚
โ”‚ cron/jobs.json   โ”‚          โ”‚ and status       โ”‚
โ”‚                  โ”‚          โ”‚                  โ”‚
โ”‚ Agent workspace  โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚ Browses memory   โ”‚
โ”‚ SOUL.md, etc.    โ”‚          โ”‚ files inline     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Real-time streaming uses tail -f piped through Server-Sent Events (SSE) โ€” no WebSockets, no dependencies, just works.


๐Ÿ“ฆ Installation Options

pip (recommended)

pip install openclaw-dashboard
openclaw-dashboard

From source

git clone https://github.com/vivekchand/openclaw-dashboard.git
cd openclaw-dashboard
pip install -r requirements.txt
python3 dashboard.py

One-liner

curl -sSL https://raw.githubusercontent.com/vivekchand/openclaw-dashboard/main/install.sh | bash

๐Ÿ”ง Requirements

  • Python 3.8+
  • Flask (only required dependency)
  • opentelemetry-proto + protobuf (optional, for OTLP receiver โ€” pip install openclaw-dashboard[otel])
  • OpenClaw/Moltbot running on the same machine (reads its logs and state files)
  • Linux/macOS (uses tail, df, free, /proc/loadavg)

๐Ÿ“„ License

MIT โ€” do whatever you want with it.


๐Ÿ™ Credits

  • Built by Vivek Chand as part of the OpenClaw ecosystem
  • Powered by OpenClaw and Moltbot
  • The Flow visualization was inspired by watching an AI agent actually think

๐Ÿฆž See your agent think
Star this repo if you find it useful!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openclaw_dashboard-0.2.0.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openclaw_dashboard-0.2.0-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file openclaw_dashboard-0.2.0.tar.gz.

File metadata

  • Download URL: openclaw_dashboard-0.2.0.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for openclaw_dashboard-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b03e60be3b1ad92656ab20c27e8cad968a5c05f0ba82c4bd7896f58d0dba8919
MD5 dfb59ec44e3fbd1d664a6aa405fe7cda
BLAKE2b-256 c640f72e8f4cc17ca431d1412b7e5de32eb7ab29322558fdaff18f5b1294f39d

See more details on using hashes here.

File details

Details for the file openclaw_dashboard-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openclaw_dashboard-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fcbee9194b5419785bb1cf3eb129b2951b4b92c3b365057f3251f06cf6e71c18
MD5 40084195a07e73deb1184bc19083fe0d
BLAKE2b-256 e6d7a398e9285cbbef8a54ab64c94d11dc910cd8c483bb4877a974d368902949

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page