Releases: agamarora/utils
Releases · agamarora/utils
v0.2.3
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's changed in v0.2.2
Bug fix
- Proxy fallback now works when the OAuth API fails. Previously, if the API hit a 429, token expiry, or network error, the dashboard froze at the last API-fetched usage percentage — even though the embedded proxy was capturing fresh rate-limit data from every request. The proxy is now used as a live fallback the moment the API becomes unavailable.
Housekeeping
- Cargo.toml versions synced to match git release tags (was 0.1.0, now 0.2.2)
- Fixed JSONL filename typo in README
- Removed stale Python-era DESIGN.md and ROADMAP.md
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's changed in v0.2.1 — Claude panel UX overhaul
Improvements
- Merged Claude panel — network speeds and status indicators (P●/C●) now live inside the Claude Usage panel instead of a separate Network panel. One panel for everything Claude-related
- ETA to cap — shows estimated time until you hit your usage limit based on pace tracking (e.g., "ETA ~2h 15m to cap")
- Pace indicator — rising/steady/falling arrows show your usage trend at a glance
- Fixed 0% flash — the dashboard no longer briefly shows 0% utilization on startup before real data loads
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's changed in v0.2.0 — Rust rewrite
Complete rewrite from Python to Rust. Same dashboard, 10x faster startup, lower memory usage, single binary with no runtime dependencies.
Highlights
- Full Rust rewrite — replaced Python/Rich/psutil stack with Rust/ratatui/sysinfo. Single self-contained binary, no Python needed
- Embedded reverse proxy — sits between Claude Code and the Anthropic API, captures rate-limit headers in real time. No polling, no scraping
--doctorinteractive setup — enable/disable proxy, check health, configure settings, then launch dashboard- 5 safety layers for the proxy — crash recovery, watchdog, lockfile, signal handlers, settings.json backup. If the proxy crashes, Claude Code falls back to the direct API
- WMI/LHM temperature support — auto-detects LibreHardwareMonitor for real CPU frequency and temps
- GitHub Actions CI — automated release workflow builds and publishes exe on tag push
Dashboard panels
- Claude usage: 5h/7d utilization bars with reset timers and pace indicator
- CPU sparkline with real frequency (via LHM)
- GPU utilization, VRAM, temperature (NVIDIA NVML + LHM fallback)
- Memory (RAM + swap)
- Disk I/O with active % (Windows PDH API)
- Network speeds (current, average, peak)
- Temperatures
- Top processes by CPU and RAM
Under the hood
- 2-crate workspace:
luna-common(shared types) +luna-monitor(dashboard + proxy) - 63 tests passing
- OAuth token refresh with exponential backoff (30s → 60s → 120s → 300s)
- Disk cache for usage data survives proxy restarts
- Atomic settings.json writes (temp file + rename)
Full Changelog: v0.1.0...v0.2.0
luna-monitor v0.1.0
luna-monitor — Claude Code Developer Dashboard
Your system + Claude Code usage in one terminal. The dashboard every Claude Code developer needs running in their second tab.
Install
pip (requires Python 3.10+):
pip install luna-monitor
Standalone (no Python needed):
Download luna-monitor.exe below and run it.
From source:
git clone https://github.com/agamarora/utils.git
cd utils/luna-monitor
pip install --user -e .
luna-monitor
What's included
- Live Claude Code session (5h) and weekly (7d) usage bars via embedded reverse proxy
- Usage burndown waveform with time-to-limit prediction
- CPU waveform, memory, GPU, disk, network, temperatures
--doctorinteractive setup wizard- 5 safety layers: crash recovery, watchdog, lockfile, signal handlers, settings.json backup
- 327 tests passing