OpenClaw Cost Guard (Budgets + Token-Saving Playbook)

v0.1.0

Track OpenClaw/Clawdbot token and cost usage from session JSONL logs (prefer real usage.cost when present), generate daily/weekly summaries and top expensive sessions, and run budget checks (exit code on breach). Use to monitor spend, enforce budgets via cron/alerts, and apply a token-saving playbook to reduce output/tool-call cost.

4· 2.8k· 1 versions· 10 current· 10 all-time· Updated 2h ago· MIT-0
byCodingPenguin44@dasweltall

Install

openclaw skills install openclaw-cost-guard

OpenClaw Cost Guard

Use this skill when you need:

  • accurate cost reports (daily/weekly/lifetime)
  • top expensive sessions
  • guardrails to reduce token burn (without changing config unless user asks)

1) Data source (important)

Prefer session JSONL logs (they contain per-call usage, often with real USD cost):

  • OpenClaw: ~/.openclaw/agents/*/sessions/*.jsonl
  • Legacy/compat: ~/.clawdbot/agents/*/sessions/*.jsonl

Do not estimate from “current context window” style token fields.

2) Quick commands

Daily costs (last 7 days)

python3 {baseDir}/scripts/extract_cost.py --last-days 7

Today / yesterday

python3 {baseDir}/scripts/extract_cost.py --today
python3 {baseDir}/scripts/extract_cost.py --yesterday

Top expensive sessions

python3 {baseDir}/scripts/extract_cost.py --top-sessions 10

JSON output (for dashboards)

python3 {baseDir}/scripts/extract_cost.py --last-days 30 --json

3) If cost is missing (fallback estimate)

Some providers may omit usage.cost. You can provide per-1M-token prices:

export PRICE_INPUT=1.75
export PRICE_OUTPUT=14
export PRICE_CACHE_READ=0.175
export PRICE_CACHE_WRITE=0
python3 {baseDir}/scripts/extract_cost.py --last-days 7

4) Budget alerts

The extractor can run as a budget check:

python3 {baseDir}/scripts/extract_cost.py --today --budget-usd 5
  • If budget is exceeded, it prints an ALERT and exits with code 2 (default).
  • For non-failing checks:
python3 {baseDir}/scripts/extract_cost.py --today --budget-usd 5 --budget-mode warn

Wiring it to a cron alert (recommended)

Run it daily (or hourly) and if exit code is 2, send yourself a Telegram message. (Implementation depends on your OpenClaw channel setup; do not embed secrets in scripts.)

5) Token-saving playbook (teach the AI)

When the user says “use as few tokens as possible”, apply:

  • Default response budget: 1–6 lines, bullets > paragraphs
  • Ask 1 question max (only if truly blocking)
  • Progressive disclosure: offer details only if asked
  • Tool calls: batch; avoid repeated status/browser calls
  • No log dumps into chat; summarize + point to file path
  • Hard limits: max 3 web iterations (search/fetch) per task

Optional phrasing to keep yourself in check:

"Answer in <=6 lines. If more is needed, ask permission."

Version tags

alertsvk97cbykgq2qgxw1drb0pjdmsr580ez2wbudgetvk97cbykgq2qgxw1drb0pjdmsr580ez2wclawdbotvk97cbykgq2qgxw1drb0pjdmsr580ez2wcostvk97cbykgq2qgxw1drb0pjdmsr580ez2wcronvk97cbykgq2qgxw1drb0pjdmsr580ez2wlatestvk97cbykgq2qgxw1drb0pjdmsr580ez2wmonitoringvk97cbykgq2qgxw1drb0pjdmsr580ez2wopenclawvk97cbykgq2qgxw1drb0pjdmsr580ez2wopsvk97cbykgq2qgxw1drb0pjdmsr580ez2woptimizationvk97cbykgq2qgxw1drb0pjdmsr580ez2wtelemetryvk97cbykgq2qgxw1drb0pjdmsr580ez2wtokenvk97cbykgq2qgxw1drb0pjdmsr580ez2wusagevk97cbykgq2qgxw1drb0pjdmsr580ez2w