# clawmetry **Repository Path**: leon_029/clawmetry ## Basic Information - **Project Name**: clawmetry - **Description**: https://github.com/vivekchand/clawmetry ้•œๅƒ@20260405 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-05 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ๐Ÿฆž ClawMetry [![PyPI Downloads](https://static.pepy.tech/badge/clawmetry)](https://clickpy.clickhouse.com/dashboard/clawmetry) [![PyPI Downloads/week](https://static.pepy.tech/badge/clawmetry/week)](https://clickpy.clickhouse.com/dashboard/clawmetry) [![PyPI version](https://img.shields.io/pypi/v/clawmetry?color=E5443A&label=version)](https://pypi.org/project/clawmetry/) [![GitHub stars](https://img.shields.io/github/stars/vivekchand/clawmetry?style=flat&color=E5443A)](https://github.com/vivekchand/clawmetry/stargazers) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ClawMetry - #5 Product of the Day on Product Hunt **See your agent think.** Real-time observability for [OpenClaw](https://github.com/openclaw/openclaw) AI agents. One command. Zero config. Auto-detects everything. ```bash pip install clawmetry && clawmetry ``` Opens at **http://localhost:8900** and you're done. ![Flow Visualization](https://clawmetry.com/screenshots/flow.png) ## 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 ![Brain tab](https://raw.githubusercontent.com/vivekchand/clawmetry/main/screenshots/brain.png) ### ๐Ÿ“Š Overview โ€” Token usage & session summary ![Overview tab](https://raw.githubusercontent.com/vivekchand/clawmetry/main/screenshots/overview.png) ### โšก Flow โ€” Real-time tool call feed ![Flow tab](https://raw.githubusercontent.com/vivekchand/clawmetry/main/screenshots/flow.png) ### ๐Ÿ’ฐ Tokens โ€” Cost breakdown by model & session ![Tokens tab](https://raw.githubusercontent.com/vivekchand/clawmetry/main/screenshots/tokens.png) ### ๐Ÿงฌ Memory โ€” Workspace file browser ![Memory tab](https://raw.githubusercontent.com/vivekchand/clawmetry/main/screenshots/memory.png) ### ๐Ÿ” Security โ€” Posture & audit log ![Security tab](https://raw.githubusercontent.com/vivekchand/clawmetry/main/screenshots/security.png) ## Install **One-liner (recommended):** ```bash curl -sSL https://raw.githubusercontent.com/vivekchand/clawmetry/main/install.sh | bash ``` **pip:** ```bash pip install clawmetry clawmetry ``` **From source:** ```bash 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: ```bash 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.json` and 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:** ```bash # 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:** ```yaml 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](https://github.com/NVIDIA/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: 1. **Binary detection** โ€” checks for the `nemoclaw` CLI and runs `nemoclaw status` to get sandbox info 2. **Container detection** โ€” scans running Docker containers for `openshell`, `nemoclaw`, or `ghcr.io/nvidia/` images, then reads sessions via volume mounts or `docker 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. ```bash # 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: ```bash 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: ```yaml # nemoclaw-policy.yaml network: egress: - host: ingest.clawmetry.com port: 443 protocol: https ``` Apply with: ```bash 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](https://github.com/vivekchand/clawmetry/blob/main/docs/CLOUD_TESTING.md)** for SSH tunnels, reverse proxy, and Docker. ## Testing This project is tested with BrowserStack. [![BrowserStack](https://img.shields.io/badge/tested%20with-BrowserStack-orange.svg)](https://browserstack.com) ## Star History Star History Chart ## License MIT ---

๐Ÿฆž See your agent think
Built by @vivekchand ยท clawmetry.com ยท Part of the OpenClaw ecosystem