Skip to content

Releases: 686f6c61/agent-bar

v0.1.3 — cache breakdown + fresh-only totals option

Choose a tag to compare

@686f6c61 686f6c61 released this 29 Jul 10:53
  • 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

Choose a tag to compare

@686f6c61 686f6c61 released this 29 Jul 10:46

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

Choose a tag to compare

@686f6c61 686f6c61 released this 29 Jul 10:42

Fixed

  • Token counts were exactly 2× too high for Kimi Code. Its wire.jsonl
    stores every model call twice — as usage.record and as an identical
    step.end loop 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 by PRAGMA user_version).

Added

  • agent-bar stats now 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

Choose a tag to compare

@686f6c61 686f6c61 released this 29 Jul 09:08

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 (Kimi wire.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 the agent-bar stats command. 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) and color, plus an
    animated working spinner; generated by scripts/gen_icons.py.
  • Hook management: agent-bar install-hooks / uninstall-hooks register
    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.