Releases: 686f6c61/agent-bar
Releases · 686f6c61/agent-bar
Release list
v0.1.3 — cache breakdown + fresh-only totals option
- Panel menu now shows today's input / output / cache-read breakdown
- New Settings option 'Include cache-read in totals' (config: panel.count_cache_read): when off, label/session/total counters count fresh tokens only (input + output + cache-write). Applies live, no restart.
v0.1.2 — cost from fresh tokens only
Cost estimation now uses only fresh tokens (input, output, cache-write). cache-read — re-sent context that dominates token totals but is cheap or free on most plans — no longer inflates the estimate.
v0.1.1 — fix: kimi tokens counted twice
Fixed
- Token counts were exactly 2× too high for Kimi Code. Its
wire.jsonl
stores every model call twice — asusage.recordand as an identical
step.endloop event — and both were summed. The parser now only counts
usage.record. Existing stats and pending flush state are migrated once
(kimi rows halved, guarded byPRAGMA user_version).
Added
agent-bar statsnow breaks usage down into input / output / cache-read /
cache-write per CLI, with a note explaining that cache reads dominate the
token total but not the cost.
v0.1.0 — first public release
First public release.
Added
- Top-bar indicator (AppIndicator/StatusNotifierItem) for AI coding
agents: Kimi Code, Claude Code and Codex CLI. Works on GNOME, KDE Plasma
and any SNI-capable desktop, X11 and Wayland. - "Needs you" alerts: pulsing orange icon (with per-session count badge)
plus a desktop notification containing the exact question or permission an
agent is waiting on. Kimi (PermissionRequest,Notification) and Claude
(Notification,PermissionRequest) supported; Codex reports turn
completion and tokens only (no waiting-for-input hook exists). - Live token counter in the panel: today's spend parsed incrementally
from each CLI's own session transcripts (Kimiwire.jsonl, Claude
transcripts, Codex rollouts). - Context-window fill (
ctx NN%) per session, from the most recent model
call — warns before a compaction. - Cost estimation (
~$) per day/session with a built-in, user-editable
price table ([prices.<cli>]in the config). - Multi-session menu: per-CLI colored dots, status, tokens, time in
state, and the pending question inline. - Persistent statistics (SQLite): today/week totals per CLI, top
sessions, and theagent-bar statscommand. Flushes are journaled so
daemon restarts never double-count. - Settings submenu in the panel (token counter, animation, notifications,
sound, icon style, blink speed) with instant apply; everything also
editable in~/.config/agent-bar/config.toml, hot-reloaded within ~2 s. - Icon themes: monochrome
symbolic(GNOME-style) andcolor, plus an
animated working spinner; generated byscripts/gen_icons.py. - Hook management:
agent-bar install-hooks/uninstall-hooksregister
and cleanly remove hooks in Kimi Code, Claude Code and Codex configs, with
one-time backups (*.agent-bar.bak). agent-bar doctor: environment self-check for bug reports (GTK stack,
notifications, sound, hooks, systemd unit).- Packaging:
scripts/install.sh/uninstall.sh(apt deps, pipx or
PEP-668-safe venv install, hooks, systemd user autostart). - CI workflow (pytest on Python 3.11/3.12, icon reproducibility check) and
39 unit tests covering parsers, bridge, config, pricing and resource caps.
Security / robustness
- Transcript reading is capped (64 MB per pass, line-aligned) so a runaway
log writer cannot exhaust daemon memory. - Hook bridge is fail-open and exception-swallowing: agent-bar can never
block or break a CLI session. - UI refreshes are coalesced; menu widgets are destroyed on rebuild and the
menu is not rebuilt while open.