Skip to main content

Compare OpenClaw token usage and API cost across time windows, agents, models, and channels.

Project description

openclaw-cost-diff

Compare OpenClaw token usage and API cost across two time windows, agents, models, or channels.

The goal is a small, decision-friendly CLI: what changed, by how much, and which model, agent, or channel contributed most.

Install

pipx install openclaw-cost-diff

For local development:

python -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[dev]"

Examples

openclaw-cost-diff --last 7d --prev 7d
openclaw-cost-diff --agent main --last 30d --json
openclaw-cost-diff --model openai-codex/gpt-5.4 --last 14d --prev 14d
openclaw-cost-diff --from 2026-04-01 --to 2026-04-15 --prev-from 2026-03-17 --prev-to 2026-04-01
openclaw-cost-diff --channel analysis --last 7d --markdown
openclaw-cost-diff --last 7d --top 10 --fail-on-cost-increase 25

Compare different filter sets by applying --prev-agent, --prev-model, or --prev-channel:

openclaw-cost-diff --agent main --prev-agent worker --last 7d --prev 7d

Read a specific fixture or exported transcript directory:

openclaw-cost-diff --data ./fixtures --last 30d
openclaw-cost-diff --data ~/.openclaw/sessions --data ~/.openclaw/transcripts --last 7d

Data Discovery

By default the CLI scans:

  • ~/.openclaw/sessions
  • ~/.openclaw/transcripts
  • ~/.openclaw

Set OPENCLAW_DATA_DIR to override the defaults. Multiple paths can be separated with your platform path separator, or you can pass repeated --data arguments.

The loader accepts .json, .jsonl, and .ndjson files. It supports flat records, arrays, sessions, records, and common nested transcript containers such as events, messages, turns, requests, and usage.

Cost Field Assumptions

openclaw-cost-diff intentionally avoids pricing tables. It compares cost data that is already present in local OpenClaw records.

Recognized timestamp fields:

  • timestamp
  • created_at
  • started_at
  • ended_at
  • time
  • date

Recognized token fields:

  • Input: input_tokens, prompt_tokens, tokens_in, input
  • Output: output_tokens, completion_tokens, tokens_out, output

Recognized cost fields:

  • cost
  • cost_usd
  • total_cost
  • total_cost_usd
  • api_cost
  • api_cost_usd
  • nested cost.usd
  • nested cost.amount

Recognized dimensions:

  • Model: model, model_id, provider_model
  • Agent: agent, agent_id, agentId, session_agent
  • Channel: channel, role, stream, conversation_channel

Records with missing cost are included in token totals and counted as missing cost records, but they contribute $0.00 to cost totals.

Output

Default terminal output includes:

  • total input tokens
  • total output tokens
  • total cost
  • delta amount and percent
  • top contributors by model, agent, and channel
  • a small cost sparkline
  • regression warnings when cost jumps beyond --regression-threshold

Machine-readable JSON is available with --json. Markdown is available with --markdown.

Limitations

  • This tool is a cost comparison utility, not a full observability system.
  • It does not infer costs from model pricing tables.
  • Month and year relative durations are approximate: 1m is 30 days and 1y is 365 days.
  • Unknown or unsupported transcript shapes may need export normalization before analysis.
  • Naive datetimes are treated as UTC.

Release

Tags matching v* run the release workflow:

  1. Run tests.
  2. Build the Python package.
  3. Publish to PyPI using PYPI_API_TOKEN or PyPI trusted publishing.
  4. Create a GitHub release.
  5. Bump the Homebrew formula in pfrederiksen/homebrew-tap using HOMEBREW_TAP_TOKEN.

Do not commit PyPI tokens. Store release credentials as GitHub Actions secrets or use PyPI trusted publishing.

Development

python -m pip install -e ".[dev]"
pytest
openclaw-cost-diff --data fixtures --from 2026-04-13 --to 2026-04-20 --prev-from 2026-04-06 --prev-to 2026-04-13

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

openclaw_cost_diff-0.1.0.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openclaw_cost_diff-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file openclaw_cost_diff-0.1.0.tar.gz.

File metadata

  • Download URL: openclaw_cost_diff-0.1.0.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openclaw_cost_diff-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e814aaea41e17df299da5547aa3470ac68f8cf389b0b9f2acb42e92667ed4ae6
MD5 9da20af84f4f85f421270216209d6116
BLAKE2b-256 d0e5d70c39a09c6f4fdb6c637705bfaa9b2df1154a6ef4e0d1c34a7b4f1dea9f

See more details on using hashes here.

File details

Details for the file openclaw_cost_diff-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openclaw_cost_diff-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7523a9eac16bd10afac9c6f94e53b0f8d5706c07a4d2051c2db7229a4dad3eed
MD5 c310196c109831231bd983aa2260f664
BLAKE2b-256 6362055bd9075ad29cbe37cb6b0ff034d5315a2ceb4e78a0e134ba2ecce8ccd0

See more details on using hashes here.

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