ClawMetry - Real-time observability dashboard for OpenClaw AI agents
Project description
๐ฆ ClawMetry
See your agent think. Real-time observability for OpenClaw AI agents.
One command. Zero config. Auto-detects everything.
pip install clawmetry && clawmetry
Opens at http://localhost:8900 and you're done.
What You Get
- Flow โ Live animated diagram showing messages flowing through channels, brain, tools, and back
- Overview โ Health checks, activity heatmap, session counts, model info
- Usage โ Token and cost tracking with daily/weekly/monthly breakdowns
- Sessions โ Active agent sessions with model, tokens, last activity
- Crons โ Scheduled jobs with status, next run, duration
- Logs โ Color-coded real-time log streaming
- Memory โ Browse SOUL.md, MEMORY.md, AGENTS.md, daily notes
- Transcripts โ Chat-bubble UI for reading session histories
Screenshots
๐ง Brain โ Live agent event stream
๐ Overview โ Token usage & session summary
โก Flow โ Real-time tool call feed
๐ฐ Tokens โ Cost breakdown by model & session
๐งฌ Memory โ Workspace file browser
๐ Security โ Posture & audit log
Install
One-liner (recommended):
curl -sSL https://raw.githubusercontent.com/vivekchand/clawmetry/main/install.sh | bash
pip:
pip install clawmetry
clawmetry
From source:
git clone https://github.com/vivekchand/clawmetry.git
cd clawmetry && pip install flask && python3 dashboard.py
Configuration
Most people don't need any config. ClawMetry auto-detects your workspace, logs, sessions, and crons.
If you do need to customize:
clawmetry --port 9000 # Custom port (default: 8900)
clawmetry --host 127.0.0.1 # Bind to localhost only
clawmetry --workspace ~/mybot # Custom workspace path
clawmetry --name "Alice" # Your name in Flow visualization
All options: clawmetry --help
Supported Channels
ClawMetry shows live activity for every OpenClaw channel you have configured. Only channels that are actually set up in your openclaw.json appear in the Flow diagram โ unconfigured ones are automatically hidden.
Click any channel node in the Flow to see a live chat bubble view with incoming/outgoing message counts.
| Channel | Status | Live Popup | Notes |
|---|---|---|---|
| ๐ฑ Telegram | โ Full | โ | Messages, stats, 10s refresh |
| ๐ฌ iMessage | โ Full | โ | Reads ~/Library/Messages/chat.db directly |
| ๐ WhatsApp | โ Full | โ | Via WhatsApp Web (Baileys) |
| ๐ต Signal | โ Full | โ | Via signal-cli |
| ๐ฃ Discord | โ Full | โ | Guild + channel detection |
| ๐ช Slack | โ Full | โ | Workspace + channel detection |
| ๐ Webchat | โ Full | โ | Built-in web UI sessions |
| ๐ก IRC | โ Full | โ | Terminal-style bubble UI |
| ๐ BlueBubbles | โ Full | โ | iMessage via BlueBubbles REST API |
| ๐ต Google Chat | โ Full | โ | Via Chat API webhooks |
| ๐ฃ MS Teams | โ Full | โ | Via Teams bot plugin |
| ๐ท Mattermost | โ Full | โ | Self-hosted team chat |
| ๐ฉ Matrix | โ Full | โ | Decentralized, E2EE support |
| ๐ข LINE | โ Full | โ | LINE Messaging API |
| โก Nostr | โ Full | โ | Decentralized NIP-04 DMs |
| ๐ฃ Twitch | โ Full | โ | Chat via IRC connection |
| ๐ท Feishu/Lark | โ Full | โ | WebSocket event subscription |
| ๐ต Zalo | โ Full | โ | Zalo Bot API |
Auto-detection: ClawMetry reads your
~/.openclaw/openclaw.jsonand only renders the channels you've actually configured. No manual setup required.
Docker Deployment
Want to run ClawMetry in a container? No problem! ๐ณ
Quick start with Docker:
# Build the image
docker build -t clawmetry .
# Run with default settings
docker run -p 8900:8900 clawmetry
# Or with your OpenClaw workspace mounted
docker run -p 8900:8900 \
-v ~/.openclaw:/root/.openclaw \
-v /tmp/moltbot:/tmp/moltbot \
clawmetry
Docker Compose example:
version: '3.8'
services:
clawmetry:
build: .
ports:
- "8900:8900"
volumes:
- ~/.openclaw:/root/.openclaw:ro
- /tmp/moltbot:/tmp/moltbot:ro
restart: unless-stopped
Note: When running in Docker, make sure to mount your OpenClaw workspace and log directories so ClawMetry can auto-detect your setup.
Requirements
- Python 3.8+
- Flask (installed automatically via pip)
- OpenClaw running on the same machine (or mounted volumes for Docker)
- Linux or macOS
NemoClaw / OpenShell Support
ClawMetry automatically detects NemoClaw โ NVIDIA's enterprise security wrapper for OpenClaw that runs agents inside sandboxed OpenShell containers.
No extra configuration is needed in most cases. The sync daemon auto-discovers session files whether they live in ~/.openclaw/ on the host or inside an OpenShell container.
How it works
ClawMetry detects NemoClaw in two ways:
- Binary detection โ checks for the
nemoclawCLI and runsnemoclaw statusto get sandbox info - Container detection โ scans running Docker containers for
openshell,nemoclaw, orghcr.io/nvidia/images, then reads sessions via volume mounts ordocker cp
Session files synced from NemoClaw containers are tagged with runtime=nemoclaw and container_id metadata in the cloud dashboard, so you can tell them apart from standard OpenClaw sessions at a glance.
Recommended setup: sync daemon on the HOST
For the best experience, run ClawMetry's sync daemon on the host machine (not inside the sandbox). This avoids NemoClaw network policy restrictions.
# On the host (outside the sandbox)
pip install clawmetry
clawmetry connect
clawmetry sync
The sync daemon will automatically find sessions inside any running OpenShell containers.
Optional: explicit sandbox name
If auto-detection doesn't work, point ClawMetry at the right sandbox:
export NEMOCLAW_SANDBOX=my-sandbox-name
clawmetry sync
Running inside the sandbox (advanced)
If you must run the sync daemon inside the OpenShell sandbox, add this egress rule to your NemoClaw network policy so it can reach the ClawMetry ingest API:
# nemoclaw-policy.yaml
network:
egress:
- host: ingest.clawmetry.com
port: 443
protocol: https
Apply with:
nemoclaw policy apply --file nemoclaw-policy.yaml
Ports and endpoints
| Endpoint | Port | Protocol | Required |
|---|---|---|---|
ingest.clawmetry.com |
443 | HTTPS | Yes (sync daemon โ cloud) |
localhost:8900 |
8900 | HTTP | Yes (local dashboard UI) |
Docker socket (/var/run/docker.sock) |
โ | Unix socket | For container session discovery |
The sync daemon only makes outbound HTTPS calls to ingest.clawmetry.com. No inbound ports are required.
Cloud Deployment
See the Cloud Testing Guide for SSH tunnels, reverse proxy, and Docker.
Testing
This project is tested with BrowserStack.
Star History
License
MIT
๐ฆ See your agent think
Built by @vivekchand ยท clawmetry.com ยท Part of the OpenClaw ecosystem
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clawmetry-0.12.110.tar.gz.
File metadata
- Download URL: clawmetry-0.12.110.tar.gz
- Upload date:
- Size: 512.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaff32d7a26d873071e4396dd5bb87b65da6084bf8184ae4ba407c077df4858b
|
|
| MD5 |
d696075beffda01a0711bf6661c08714
|
|
| BLAKE2b-256 |
9ece31a96a903ef0e8a8a0478cfca70866985a730d5ae76933556b7fd2d487af
|
File details
Details for the file clawmetry-0.12.110-py3-none-any.whl.
File metadata
- Download URL: clawmetry-0.12.110-py3-none-any.whl
- Upload date:
- Size: 530.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40a4369d7384d9760e46d8f781ad18dbba0590ce683037e592ffc586a8b0747c
|
|
| MD5 |
e24fe85672a354700a1b54ac8edf557e
|
|
| BLAKE2b-256 |
cfa8dffceb8645e258ad87c241e9f17ec062ea6be41d6d248aeef5852e2a0b15
|