Install
openclaw skills install session-token-ledgerAnalyze local OpenClaw session token usage from a generated SQLite ledger and markdown summaries. Use when the user asks for a token audit, token体检报告, context-bloat diagnosis, session efficiency review, largest sessions, daily token trends, input/output ratio analysis, cache-read heavy sessions, or wants SQL/SQLite-based inspection of local OpenClaw session usage.
openclaw skills install session-token-ledgerAnalyze local OpenClaw session-token usage from a generated ledger stored under this skill.
scripts/rebuild_sqlite.py — rebuild the local ledger from OpenClaw session transcriptsscripts/report.py — generate markdown reports for all sessions or one sessionreferences/overview.md — schema, views, and design notesreferences/queries.sql — canned SQLite queries for common auditsreferences/hook-setup.md — optional OpenClaw hook setup for automatic rebuildsreferences/ANOMALIES.md — populated after rebuild with suspicious or bad transcript linesassets/session_tokens.db — populated after rebuild; SQLite ledgerassets/index.json — populated after rebuild; machine-readable session indexassets/TOTAL_TOKENS.txt — populated after rebuild; quick aggregate summaryassets/YYYY-MM-DD_N.md — populated after rebuild; one markdown file per completed sessionpython3 scripts/rebuild_sqlite.py if data looks stale.assets/index.json for session list and top-level totals.assets/session_tokens.db.assets/YYYY-MM-DD_N.md file.largest_sessionsusage_efficiencybloated_sessionstop_context_hogsdaily_efficiencyreferences/ANOMALIES.md.references/overview.md when you need schema or view meaning.references/queries.sql when you need canned SQL.references/hook-setup.md when you want automatic rebuilds after /new, /reset, /stop, or gateway startup.Generate reports:
python3 scripts/report.py
python3 scripts/report.py --session SESSION_ID
python3 scripts/report.py --save
python3 scripts/report.py --session SESSION_ID --save
Use read-only SQLite queries when available:
sqlite3 -readonly assets/session_tokens.db "SELECT * FROM overall_summary;"
sqlite3 -readonly assets/session_tokens.db "SELECT * FROM largest_sessions LIMIT 10;"
sqlite3 -readonly assets/session_tokens.db "SELECT * FROM bloated_sessions LIMIT 10;"
sqlite3 -readonly assets/session_tokens.db "SELECT * FROM top_context_hogs LIMIT 10;"
sqlite3 -readonly assets/session_tokens.db "SELECT * FROM daily_efficiency ORDER BY date DESC;"
For one session:
sqlite3 -readonly assets/session_tokens.db "SELECT * FROM usage_efficiency WHERE session_id='SESSION_ID';"
If sqlite3 CLI is unavailable, use the bundled Python scripts instead.
.jsonl session when a matching .lock file exists, so the ledger defaults to completed sessions only.