Thermal
Contribution Heatmap & Token Accounting for AI Coding Tools
Terminal heatmap, streaks, tokens, and cost across 14 AI coding environments. Thermal reads the session data your agents already wrote locally. One static Go binary, zero config, zero telemetry.
curl -fsSL https://jadmadi.net/thermal/install.sh | sh brew install jadmadi/tap/thermal Or Go: go install github.com/jadmadi/thermal/cmd/thermal@latest
Walkthrough & Demo
Thermal in Action
Live Terminal Walkthrough
Watch Thermal ingest local AI agent sessions, aggregate tokens across 14 environments, calculate contribution streaks, and estimate real-time FinOps model costs — with zero configuration.
Visual Showcase
Terminal & TUI Interfaces
Project Attribution
Break down token consumption, active streaks, and USD estimates mapped directly to working directories and git roots.
Cross-Harness Heatmaps
Track continuous daily streaks across disjoint tools with ANSI 256-color heat ramps and screen-reader safe monochrome fallbacks.
Ecosystem Ingestion
14 Supported AI Coding Tools
Thermal automatically detects session data already written to your local disk by CLI agents, IDE plugins, and autonomous coding assistants:
Devin
OpenCode
MiMoCode
Codex
codewhale
ZCode
Grok
Claude Code
DeepSeek (DSH)
Nous Hermes
Muse
Droid
command-code
Agy
Architecture & Features
Core Capabilities
Terminal Heatmaps & Streaks
ANSI & MonochromeVisualizes daily activity and streak continuity directly in your terminal using ANSI 256-color heat ramps. Computes current streak, longest streak, and active days across all 14 tools.
Disjoint Token Accounting
Strict FinOpsAll token types (Input, Output, Reasoning, CacheRead, CacheWrite) are strictly disjoint and sum to total volume. Nested structures from tools are automatically subtracted during loader ingestion.
Workload Replay & Capacity Planning
thermal replayReplay recorded daily token distributions against commercial subscription ceilings (Claude Pro, Claude Max, ChatGPT Plus/Pro, Cursor Pro) with PASS/DEGRADED/FAIL verdicts and monthly cost deltas.
Interactive TUI Dashboard
thermal dashboardFullscreen Bubble Tea terminal interface with smooth keyboard navigation across Leaderboard, Projects, Models, Mix, and Trends views.
Token Yield Telemetry
thermal yieldEvaluates code generation productivity from git diffs and commits. Calculates Token Yield (tokens burned per net line of code added) with efficiency classification ratings.
Verifiable Work Receipts
thermal receiptParses test execution (go test, pytest, cargo test, npm test) and linter proofs into 3-tier confidence classification with zero prompt or code privacy leakage.
High-Density FinOps Grid
thermal stats --denseResponsive 9-box Bubble Tea / Lip Gloss terminal grid decomposing agent activity across Coding, Debugging, Testing, and Exploration, while tracking prompt cache savings.
Zero Network Telemetry
mode=ro100% local operation: scans local databases and session directories in strictly read-only mode (mode=ro). Zero network calls, zero daemons, zero external telemetry.
Reference
Common Invocations
| Command | Description | Category |
|---|---|---|
thermal | Render contribution leaderboard and heatmaps across all discovered AI coding tools | core |
thermal dashboard | Interactive fullscreen Bubble Tea Terminal User Interface (TUI) | tui |
thermal opencode | claude | devin | codex | Inspect specific tool activity, token breakdown, and historical heatmaps | core |
thermal projects | Breakdown usage, token spend, and activity by repository and project | analytics |
thermal models | Model usage distribution and catalog pricing breakdown | analytics |
thermal mix --chart | Analytics, workload mix ratios, and trend charts | analytics |
thermal stats --dense | High-density 9-box terminal FinOps grid with prompt cache savings | analytics |
thermal replay --against "Claude Pro" | Replay historical workload against commercial subscription limits and quotas | cost |
thermal yield --sort lines | Code generation token yield and net line efficiency ratings | verification |
thermal receipt --sort verified | Verifiable work outcome proofs (test passes, linter runs) classification | verification |
thermal audit | Local environment health diagnostic, SQLite permissions, and mmap status | system |
thermal share | Generate stateless zero-database streak share card URL | system |
thermal serve --open | Embedded local web dashboard with zero cloud tracking on localhost | system |
thermal upgrade | Atomic in-place self-update check against latest GitHub Release | system |
Questions & Details
Frequently Asked Questions
How does Thermal collect data without a daemon or API keys?
Thermal runs strictly on-demand. When executed, it scans local session directories and SQLite databases that your AI tools already store on disk (such as ~/.claude/, ~/.codex/, ~/.opencode/). It opens files in strictly read-only mode and performs no network requests.
What is disjoint token accounting?
Different AI tools report tokens inconsistently (some bundle cache reads inside input, others report reasoning separately). Thermal normalizes and un-nests all token types into strictly mutually exclusive categories: Input, Output, Reasoning, CacheRead, and CacheWrite. They always sum precisely to total tokens.
What does "thermal replay" do?
It replays your recorded historical daily token burn against commercial subscription caps (like Claude Pro, Claude Max, ChatGPT Plus/Pro) to tell you whether your actual workload would fit within rate limits or if pay-as-you-go API is more cost-effective.
How does licensing work?
Thermal is dual-licensed: Free for personal and community use under the GNU AGPL-3.0, and available under a Commercial Enterprise License for corporate environments that require proprietary integration or exemption from AGPL provisions.
Ready to track your agent streaks?
Thermal is free for personal use under the AGPL-3.0. Check out the GitHub repository, read the governance guide, or inspect the Agent Markdown endpoint.