ClawMonitor
English | 简体中文
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 / 30dusage 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 selectionPgUp/PgDn: page up / downg/G: jump to top / bottomEnter: nudge selected session (choose template)?: show help overlayv: cycle sessions / models / system viewss: jump directly to system viewh: toggle status / history on the rightu: 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 viewR: rename/label selected session (writes[labels]in config)n: toggle NODE label mode (channel:label)l: toggle related logs paneld: re-run diagnosis for selected sessione: export a redacted report for selected sessionz: cycle pane widthsZ: toggle fullscreen detail paneo: open operator note in system viewEsc: reset to the default surfacer: force refreshf: cycle refresh intervalq: 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
rafter switching withv. - The top banner shows
WAITING,RUNNING,DONE, orERROR, so you can tell whether a probe run actually started. - Each row shows the effective
agent + modelchain entry, includingprimary/fallbackNroles. - ClawMonitor probes both paths when enabled:
- Direct provider/API path (
--mode directorboth) - OpenClaw execution path via temporary probe sessions (
--mode openclaworboth)
- Direct provider/API path (
- Supported direct transports today:
openai-completions,openai-responses,anthropic-messages
Session/token/system notes:
- History loading is on demand. In the session view, press
hand thenrto read cached task history for the selected session. - Token
1d / 7d / 30dwindows 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_OTHERinclawmonitor statusBINDin the TUI list
Relevant files/settings:
- Thread bindings:
~/.openclaw/telegram/thread-bindings-default.json - Config toggle:
~/.openclaw/openclaw.json→channels.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.jsonand 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 tuimay hide the details panel; useclawmonitor statusas a stable fallback. - For ClawHub import, see
docs/clawhub-skill.mdandskills/claw-monitor/SKILL.md.
See CONTRIBUTORS.md for acknowledgements.
Metadata
Release files for clawmonitor 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clawmonitor-0.2.1.tar.gz | 121.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| clawmonitor-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 248.1 kB
Release files / clawmonitor-0.2.1.tar.gz
| Download URL | clawmonitor-0.2.1.tar.gz |
|---|---|
| Size | 121.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9224aa1b2053136d8187c80a56c5a1210bca2dd45e309820d5cdbe7afee325c
|
|
BLAKE2b-256 checksum How to use checksums |
fc11994d6d3775c207dacb0347f536353db853432ec133c295794dd13a91a66c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency logRelease files / clawmonitor-0.2.1-py3-none-any.whl
| Download URL | clawmonitor-0.2.1-py3-none-any.whl |
|---|---|
| Size | 126.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b0fd11719d6d6bbb911cba76b36bb8fd75bf2b004d2bc5a5a594cdb893f09ca
|
|
BLAKE2b-256 checksum How to use checksums |
812854bba5d0d63e41aa43c25e943edf16ec6c4645b00fa5052778d512595713
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency log