Skip to main content

Keyboard-first OpenClaw monitor for sessions, models, token usage, and gateway service health.

Project description

ClawMonitor

English | 简体中文

ClawMonitor TUI

ClawMonitor loading screen

Keyboard-first OpenClaw monitor with:

  • Per-session last inbound user message + last outbound assistant message (preview + timestamp)
  • Per-model health probes (direct provider API and through OpenClaw itself)
  • On-demand session history with task trajectory (todo / doing / done)
  • Token visibility from local session snapshots plus Gateway 1d / 7d / 30d usage windows
  • Gateway service / cgroup health view with zombie-orphan-helper inspection and reclaim estimates
  • Work state: WORKING / FINISHED / INTERRUPTED / NO_MESSAGE (+ NO_FEEDBACK alert)
  • Long-run visibility via *.jsonl.lock (works even if Gateway is down)
  • Optional Gateway log tail + channel runtime snapshot correlation (Feishu/Telegram-focused rules)
  • Full-screen TUI with manual “nudge” (send a progress request via chat.send)

Install (editable)

cd ~/program/clawmonitor
python3 -m pip install -e .

Install (PyPI)

pip install clawmonitor

Run

clawmonitor init
clawmonitor tui

Other commands:

clawmonitor snapshot --format json
clawmonitor snapshot --format md
clawmonitor nudge --session-key 'agent:main:main' --template progress
clawmonitor nudge --session-key 'agent:main:main' --template continue
clawmonitor push --session-key 'agent:main:main' --dry-run
clawmonitor status
clawmonitor status --detail
clawmonitor status --format json
clawmonitor status --format md
clawmonitor status --format md --detail
clawmonitor cron
clawmonitor models
clawmonitor models --mode direct --format json
clawmonitor models --mode openclaw --timeout 15
clawmonitor tree
clawmonitor report --session-key 'agent:main:main' --format both
clawmonitor watch --interval 1

Configuration

Default config path:

  • ~/.config/clawmonitor/config.toml

Example config is in config.example.toml.

Optional labels

You can assign human-friendly names to long session keys (e.g. Feishu ou_...). See the [labels] section in config.example.toml.

Runtime data (NOT stored in this repo):

  • Logs: ~/.local/state/clawmonitor/events.jsonl
  • Reports: ~/.local/state/clawmonitor/reports/
  • Cache: ~/.cache/clawmonitor/

Keys (TUI)

  • ↑/↓: move selection
  • PgUp/PgDn: page up / down
  • g / G: jump to top / bottom
  • Enter: nudge selected session (choose template)
  • ?: show help overlay
  • v: cycle sessions / models / system views
  • s: jump directly to system view
  • h: toggle status / history on the right
  • u: cycle token windows (now / 1d / 7d / 30d)
  • x: focus filter (hide stale sessions)
  • t: toggle tree view (group by agent)
  • c: toggle cron jobs in tree view
  • R: rename/label selected session (writes [labels] in config)
  • n: toggle NODE label mode (channel:label)
  • l: toggle related logs panel
  • d: re-run diagnosis for selected session
  • e: export a redacted report for selected session
  • z: cycle pane widths
  • Z: toggle fullscreen detail pane
  • o: open operator note in system view
  • Esc: reset to the default surface
  • r: force refresh
  • f: cycle refresh interval
  • q: quit

Rows are color-coded when your terminal supports colors (OK green, RUN cyan, IDLE yellow, ALERT red). In the details panel, Task: / Thinking: lines are highlighted (magenta when supported).

Model view notes:

  • Model view is manual-refresh by design. Press r after switching with v.
  • The top banner shows WAITING, RUNNING, DONE, or ERROR, so you can tell whether a probe run actually started.
  • Each row shows the effective agent + model chain entry, including primary / fallbackN roles.
  • ClawMonitor probes both paths when enabled:
    • Direct provider/API path (--mode direct or both)
    • OpenClaw execution path via temporary probe sessions (--mode openclaw or both)
  • Supported direct transports today: openai-completions, openai-responses, anthropic-messages

Session/token/system notes:

  • History loading is on demand. In the session view, press h and then r to read cached task history for the selected session.
  • Token 1d / 7d / 30d windows are loaded from Gateway on demand and then cached in the TUI.
  • System view is read-only by design: it summarizes service state, helper buildup, zombies/orphans, and reclaimable memory estimates without killing anything.

See docs/model-monitor.md for the probe model, classifications, and UI behavior. See docs/system-monitor.md and docs/system-view-guide.zh-CN.md for the new system view.

Telegram note: ACP “thread bindings”

OpenClaw can route a Telegram chat to a different session key via local thread bindings. This may make it look like your “main” session stopped receiving messages.

ClawMonitor detects this and flags it:

  • BOUND_OTHER in clawmonitor status
  • BIND in the TUI list

Relevant files/settings:

  • Thread bindings: ~/.openclaw/telegram/thread-bindings-default.json
  • Config toggle: ~/.openclaw/openclaw.jsonchannels.telegram.threadBindings.spawnAcpSessions

First run

If no config file exists, most commands will offer to run the init wizard (interactive terminals only).

See docs/launch-post.md for a longer intro.

Notes

  • ClawMonitor never prints or writes OpenClaw secrets. It avoids dumping openclaw.json and redacts suspicious token-like strings in logs/reports.
  • If Gateway is unreachable, ClawMonitor still works in offline mode (sessions/transcripts/locks/delivery-queue) but disables log tail + nudge.
  • If your terminal window is narrow, clawmonitor tui may hide the details panel; use clawmonitor status as a stable fallback.
  • For ClawHub import, see docs/clawhub-skill.md and skills/claw-monitor/SKILL.md.

See CONTRIBUTORS.md for acknowledgements.

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

clawmonitor-0.2.1.tar.gz (121.8 kB view details)

Uploaded Source

Built Distribution

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

clawmonitor-0.2.1-py3-none-any.whl (126.3 kB view details)

Uploaded Python 3

File details

Details for the file clawmonitor-0.2.1.tar.gz.

File metadata

  • Download URL: clawmonitor-0.2.1.tar.gz
  • Upload date:
  • Size: 121.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for clawmonitor-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a9224aa1b2053136d8187c80a56c5a1210bca2dd45e309820d5cdbe7afee325c
MD5 03a5b7907c85a7f1a5f4fbe5981ff309
BLAKE2b-256 fc11994d6d3775c207dacb0347f536353db853432ec133c295794dd13a91a66c

See more details on using hashes here.

Provenance

The following attestation bundles were made for clawmonitor-0.2.1.tar.gz:

Publisher: pypi-publish.yml on openclawq/clawmonitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clawmonitor-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: clawmonitor-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 126.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for clawmonitor-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b0fd11719d6d6bbb911cba76b36bb8fd75bf2b004d2bc5a5a594cdb893f09ca
MD5 3c16129acc9d245161be63007753c533
BLAKE2b-256 812854bba5d0d63e41aa43c25e943edf16ec6c4645b00fa5052778d512595713

See more details on using hashes here.

Provenance

The following attestation bundles were made for clawmonitor-0.2.1-py3-none-any.whl:

Publisher: pypi-publish.yml on openclawq/clawmonitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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