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.0.tar.gz (115.0 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.0-py3-none-any.whl (121.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clawmonitor-0.2.0.tar.gz
  • Upload date:
  • Size: 115.0 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.0.tar.gz
Algorithm Hash digest
SHA256 320f10af14877c1726cbe53cb0e495dac8ef9bd692137871eb1e8034c972b3cf
MD5 7609f568cc7f8d3c79d3a86a94fbff7a
BLAKE2b-256 18f6c86e51576256ae55d1939f7e23674a0186f1156cd3cb23e19781db60ad84

See more details on using hashes here.

Provenance

The following attestation bundles were made for clawmonitor-0.2.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: clawmonitor-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 121.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fef9460a0535c0c8d0b9a3b67699917bceb56c4f54190b6cef3f929a1ea71be3
MD5 8cb27a591682eac210f9cf5992dd1712
BLAKE2b-256 4a043ec2428cbbc3525de010d377d49a517665529016b724180cbda9bed06a74

See more details on using hashes here.

Provenance

The following attestation bundles were made for clawmonitor-0.2.0-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