A btop-style read-only terminal dashboard for local OpenClaw development.
Clone this repo and drop the clawtop/ folder into your OpenClaw skills directory:
git clone git@github.com:fabgoodvibes/clawtop.git
cp -r clawtop/ ~/.openclaw/workspace/skills/Or install via .skill file from the OpenClaw desktop app.
python3 ~/.openclaw/workspace/skills/clawtop/scripts/tui.pyOn first run, rich and psutil are automatically installed into a local venv at scripts/.venv/. No sudo or system package changes required.
# Add clawtop to your Bash Aliases file to invoke with command ~$ clawtop
echo "alias clawtop='python3 ~/.openclaw/workspace/skills/clawtop/scripts/tui.py'" >> ~/.bash_aliases
source ~/.bash_aliases
| Flag | Default | Description |
|---|---|---|
--refresh N |
2 |
Refresh interval in seconds |
--no-logs |
off | Hide the logs panel |
--log-lines N |
22 |
Number of log lines shown |
--once |
— | Render a single snapshot and exit |
--debug |
— | Diagnose data sources and exit |
# Default: refresh every 2s
python3 ~/.openclaw/workspace/skills/clawtop/scripts/tui.py
# Calmer refresh, no logs
python3 ~/.openclaw/workspace/skills/clawtop/scripts/tui.py --refresh 5 --no-logs
# One-shot snapshot (useful for scripting / screenshots)
python3 ~/.openclaw/workspace/skills/clawtop/scripts/tui.py --once
# Diagnose why a panel shows no data
python3 ~/.openclaw/workspace/skills/clawtop/scripts/tui.py --debug| Panel | Data source | Notes |
|---|---|---|
| SESSIONS | ~/.openclaw/agents/*/sessions/sessions.json |
Token bars colour green/yellow/red at 60%/80% |
| SYSTEM | psutil (in-process) |
CPU sampled in background thread — never blocks |
| TOKENS | *.jsonl transcript files |
Aggregated across all sessions; handles all provider field-name variants |
| MEMORY | workspace/MEMORY.md + workspace/memory/ |
Shows flush status and whether a flush is overdue |
| Status bar | Same as above | Compact one-liner for skills + plugins counts |
| LOGS | /tmp/openclaw*/openclaw-*.log |
Colour-coded by level; hidden when gateway offline |
No Node.js spawned. All data is read directly from the filesystem:
- Sessions →
~/.openclaw/agents/<id>/sessions/sessions.json - Token usage →
*.jsonltranscript files (last 256 KB of each, up to 8 files) - Memory →
workspace/MEMORY.mdandworkspace/memory/*.md(file stats) - Skills →
workspace/skills/*/SKILL.mdfrontmatter scan - Plugins →
~/.openclaw/openclaw.jsonconfig - Gateway → TCP probe on port 18789 (0.5s timeout)
- Logs → direct tail of
/tmp/openclaw-<uid>/openclaw-*.log
Typical fetch time: < 20ms.
- Python 3.10+
openclawCLI in$PATH- Gateway does not need to be running — all panels degrade gracefully when offline
MIT — see LICENSE.