Skip to content

EcomCJ/Tally

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TALLY - AI Usage Monitor

Live Windows desktop widget for tracking Claude Code and Codex CLI subscription usage. Tally is local-first: it reads your existing CLI auth/session data, shows live quota gauges, and estimates API-equivalent spend from local logs.

What It Shows

  • 5-hour and weekly utilization rings for Claude Code and Codex.
  • Plan labels such as Pro, Max 5x, Max 20x, Plus, Pro 5x, and Team.
  • Token totals for input, output, cache read/write, cached input, and reasoning tokens.
  • Per-model cost accounting using public list-price estimates.
  • API-equivalent ROI/leverage versus subscription cost.
  • Data views: Now, Today, MTD, 1D, 7D, 14D, and 30D.

Vendor Coverage

Vendor Live Limits Source Token Cost Source
Claude Code Anthropic OAuth usage endpoint, with Claude CLI /usage, optional Claude web session, and local cache fallback ~/.claude/projects/**/*.jsonl plus Claude desktop Cowork session roots
Codex CLI ChatGPT wham/usage endpoint, with local codex app-server JSON-RPC fallback ~/.codex/sessions/**/*.jsonl

The app does not proxy your traffic or run a server. It reads local CLI files and calls the same vendor endpoints your authenticated tools already use.

Single-Vendor Mode

If only one CLI is installed and authenticated, the widget collapses to a single centered card. If neither is installed, it shows install prompts for Claude Code and Codex CLI.

Settings

The settings icon in the expanded panel opens:

  • Refresh interval: 1 minute, 2 minutes, 5 minutes, or 10 minutes.
  • Glass opacity slider.
  • Theme: Dark, Light, or Auto.
  • Plan label overrides.
  • Tray and taskbar visibility toggles.
  • GitHub release update check.

Settings persist to localStorage.

Install

Prerequisites

At least one of:

If neither is present, the widget still launches and shows connection prompts.

From Release

Download the Windows .msi or .exe installer from the Releases page. On first run, Windows SmartScreen may warn because the binary is not code-signed. Choose More info -> Run anyway if you trust the downloaded release.

From Source

git clone https://github.com/cjmedia72/tally
cd tally
npm install
npx tauri dev
npx tauri build

Build prerequisites: Rust 1.77+, Node.js 18+, and Tauri 2 prerequisites for your platform.

Windows Build Notes

  1. .cargo/config.toml redirects Cargo output to C:/rust-target/tally to avoid Windows username paths with spaces. Delete or edit this if you prefer a normal local target/ directory.
  2. With the GNU Rust toolchain, put MSYS2 mingw64 on PATH before running tests/builds:
$env:Path = 'C:\msys64\mingw64\bin;' + $env:Path
cargo test --manifest-path src-tauri\Cargo.toml
npm run build

Privacy

  • Local processing only; no analytics and no telemetry.
  • Claude OAuth is read from ~/.claude/.credentials.json and used for Anthropic Claude usage/profile requests.
  • Codex usage is read through ChatGPT/Codex authenticated usage endpoints and local Codex session data.
  • The updater checks the public GitHub Releases API only when you ask it to check for updates.
  • Tally writes local cache/history files under the OS cache/data directories, currently under tally.

Rate-Limit Safety

Claude usage endpoints can rate-limit. Tally:

  • Caches live data in-process.
  • Persists the last successful Claude usage response to disk and appends Claude limit samples to local history.
  • Falls back from OAuth to Claude CLI /usage, then optional Claude web session (TALLY_CLAUDE_COOKIE or TALLY_CLAUDE_SESSION_KEY); cached values are used only if live sources fail or OAuth is cooling down after 429.
  • Recovers automatically on the next successful refresh.

You'll see a data: Nh ago stale indicator under each vendor card if cached values are being served.

Development Checks

$env:Path = 'C:\msys64\mingw64\bin;' + $env:Path
cargo check --manifest-path src-tauri\Cargo.toml
cargo test --manifest-path src-tauri\Cargo.toml
node --check src\main.js
npm audit --omit=dev

License

MIT

Acknowledgements

Tally's Codex-side approach was informed by CodexBar by Peter Steinberger. CodexBar is excellent on macOS and covers many more providers; Tally focuses on a compact Windows widget for Claude Code plus Codex.

About

Liquid-glass desktop widget for Claude Code + Codex CLI subscription usage. Live data, no servers, no telemetry.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors