Skip to content

Releases: othavi0/agent-bar

v6.0.1

21 Jun 19:36

Choose a tag to compare

Patch: corrige o install.sh que corrompia o binário no setup (self-symlink em ~/.local/bin/agent-bar). cargo install/binstall não eram afetados. Changelog: https://github.com/othavioquiliao/agent-bar/blob/master/CHANGELOG.md

v6.0.0 — Reescrita Rust

21 Jun 18:58

Choose a tag to compare

Reescrita completa de TypeScript/Bun para Rust (binário único), preservando paridade byte-exact do contrato Waybar/Pango e da saída --format json.

Destaques

  • Runtime Rust (tokio + reqwest/rustls) — sem Bun/Node/npm no runtime.
  • TUI full-screen (ratatui): abas Dashboard / Waybar / History / Login, com custo por session logs locais (US$/R$) e UI responsiva desde o boot.
  • Binário musl estático distribuído via install.sh, AUR (agent-bar-bin) e cargo binstall.

Instalação

# install.sh (zero toolchain)
curl -fsSL https://raw.githubusercontent.com/othavioquiliao/agent-bar/master/install.sh | bash

# AUR
yay -S agent-bar-bin

# cargo
cargo binstall agent-bar

Migração de versões npm

O pacote npm @noctuacore/agent-bar foi descontinuado. Rode agent-bar doctor pra limpar resíduos do install antigo e reinstale por um dos métodos acima. A última versão TypeScript está preservada na tag v5.3.0-ts-final.

Changelog completo: CHANGELOG.md.

v5.3.0 — Pacote AUR (agent-bar-bin) + binário standalone

18 Jun 14:36

Choose a tag to compare

Distribuição para Arch via AUR. Sem breaking changes — os installs existentes (install.sh, Bun global) ficam inalterados.

Destaques

Pacote AUR agent-bar-bin

Instala um binário standalone (compilado com bun build --compile) — não exige Bun no runtime do usuário:

paru -S agent-bar-bin   # ou: yay -S agent-bar-bin
agent-bar setup

O binário é baixado deste Release e verificado por sha256; nenhum build roda no PKGBUILD (mitigação do vetor de supply-chain "Atomic Arch"). Este release passa a anexar agent-bar-<ver>-x86_64.tar.gz + .sha256. (Publicação no AUR é um passo manual do mantenedor; PKGBUILD/.install/.SRCINFO vivem em packaging/aur/.)

Install de sistema reconhecido em todo o app

Um binário compilado é detectado automaticamente via isCompiledBinary():

  • agent-bar setup lê os assets de /usr/share/agent-bar, gera o módulo Waybar com exec: agent-bar (PATH) e pula o symlink ~/.local/bin;
  • agent-bar update orienta o gerenciador de pacotes (ex.: paru -Syu) em vez de bun add -g.

Upgrade

  • Managed / Bun global: agent-bar update
  • AUR (quando publicado): paru -Syu

Changelog completo: https://github.com/othavioquiliao/agent-bar/blob/master/CHANGELOG.md

v5.2.0 — Waybar format-icons (percentage/alt) + signal refresh

18 Jun 10:50

Choose a tag to compare

Features de integração Waybar subutilizadas. Sem breaking changes — 100% aditivo: módulos existentes continuam funcionando sem alteração.

Destaques

percentage + alt na saída single-provider → desbloqueia format-icons

Cada módulo --provider <id> agora emite, além de text/tooltip/class:

  • alt — o health state (ok / low / warn / critical, ou disconnected), para format-icons keyed por estado:
    "format-icons": { "ok": "🟢", "low": "🟡", "warn": "🟠", "critical": "🔴", "disconnected": "" }
  • percentage — o valor displayMode-aware (o mesmo número do text), clampado a 0..100, para {percentage} no format ou format-icons em array.

Ambos são omitidos quando o provider está conectado mas sem dados (um window ausente nunca reporta ok). O módulo agregado e o --format json permanecem inalterados.

signal — refresh sob demanda (opt-in)

Setando "signal": <N> (1..30) sob waybar no settings.json, cada módulo gerado ganha signal: N. O Waybar re-executa o módulo ao receber SIGRTMIN+N. Como o exec lê o cache de 5 min, para forçar dados frescos use o recipe:

agent-bar -p claude -r && pkill -RTMIN+8 waybar

Ótimo como Stop hook do Claude Code (atualiza a barra ao terminar uma task) — exemplo na doc.

Upgrade

  • Managed (install.sh / ~/.agent-bar) ou Bun global: agent-bar update
  • Reinicie o Waybar se os módulos ficarem stale.

Detalhes em docs/waybar-contract.md. Changelog: https://github.com/othavioquiliao/agent-bar/blob/master/CHANGELOG.md

v5.1.0 — Claude plan tier + token expiry short-circuit

18 Jun 00:39

Choose a tag to compare

Sem breaking changes nesta versão.

Destaques

Claude: tier do plano no tooltip (Max 5x / Max 20x)

O cabeçalho do tooltip do Claude agora lê rateLimitTier das credenciais e surfa o multiplicador Max — antes mostrava só "Max", agora "Max 5x" / "Max 20x". Planos sem multiplicador (Pro, Free) ficam inalterados.

Claude: short-circuit de token expirado

Quando o access token já expirou (expiresAt no passado), o provider devolve o erro de token expirado sem chamar a API da Anthropic — a chamada falharia de qualquer forma, e o agent-bar nunca renova o token (o refresh single-use corre com o Claude Code). Mais rápido e funcional offline; mesma string de erro e roteamento de login de antes.

Docs

  • Novo docs/architecture.md: data-flow completo (poll → provider → cache → formatter → JSON/Pango), os dois caches (quota 5 min cross-process vs settings 5 s in-process) e BaseProvider vs ClaudeProvider direto. Agora publicado no pacote npm.
  • Comando interno action-right (right-click do Waybar) documentado em commands.md e waybar-contract.md.

Upgrade

agent-bar update (checkout gerenciado ou global), ou bun add -g @noctuacore/agent-bar.

Changelog completo: https://github.com/othavioquiliao/agent-bar/blob/master/CHANGELOG.md

v5.0.0 — remove Copilot + notificações de quota

17 Jun 23:07

Choose a tag to compare

⚠️ Breaking

  • Provider Copilot removido. A interface --headless --stdio do Copilot CLI
    era oculta/frágil; foi removida por inteiro. Providers agora: Claude, Codex, Amp.
    Settings que listavam copilot têm a entrada removida automaticamente na carga.
  • Notificações ligadas por padrão. Após atualizar, alertas de quota baixa
    aparecem sem opt-in. Para desligar: "notify": { "enabled": false } em
    ~/.config/agent-bar/settings.json.

Added — notificações de quota

notify-send quando qualquer janela de quota cruza 90% usado (low) ou
95% (critical) — incluindo as semanais por-modelo do Claude.

  • Piggyback no poll do Waybar; dedup por estado (1 alerta por cruzamento,
    re-arma ao recuperar, escala low→critical).
  • Best-effort: não faz nada se notify-send ausente; só dispara via Waybar.
  • notify.enabled no settings (default true).

Removed — Copilot

Provider, CLI locator, builder, ícone, tipos, paths, registries, migração de
settings v1→v2 e docs/testes dedicados.

Full notes: CHANGELOG.md.

v4.2.0 — JSON output (Quickshell/Eww) + hardening

17 Jun 22:19

Choose a tag to compare

Highlights

Output for non-Waybar bars. agent-bar now speaks a stable, versioned JSON
contract so Quickshell, Eww, Ironbar, or any custom bar can consume it — Waybar
stays the default and is unchanged.

agent-bar --format json   # one-shot structured JSON (all providers, no Pango)
agent-bar --watch         # stream NDJSON: one object per line (default 60s)

Schema, stability policy, and a Quickshell QML example: docs/json-output.md.

Added

  • --format json (versioned envelope mirroring the internal quota model, Pango-free).
  • --watch [--interval <s>] (NDJSON stream, backpressure-aware, EPIPE-safe).
  • --version / -V; engines.bun.

Fixed (hardening)

  • Claude: User-Agent: claude-code/<v> to avoid 429s on the usage endpoint.
  • Waybar config patcher is now bracket/comment-aware (the old regex could corrupt config.jsonc); backup before removal.
  • Amp usage subprocess timeout/kill (no zombies); auth errors not cached.
  • Atomic cache writes; clearer CLI errors.

Changed

  • Copilot/Amp follow the fetchRaw/buildQuota contract (cache stores raw data); Copilot used computed at the provider; shared Pango escape boundary.

Full notes in CHANGELOG.md.

v4.1.0

24 May 02:50

Choose a tag to compare

Added

  • agent-bar doctor command: detects and cleans @noctuacore/agent-bar leftovers (package.json, lockfiles, node_modules/@noctuacore/) in $HOME caused by bun add / npm i without -g.
  • setup now warns when $HOME has leftover install artifacts and points to agent-bar doctor.
  • Bin shim (scripts/agent-bar) now detects install pollution in $HOME on every invocation and prints a warning suggesting agent-bar doctor. Warns at most once per hour per UID (cached in $XDG_RUNTIME_DIR) so Waybar logs stay clean.
  • install.sh hosted installer: zero-pollution install path via curl -fsSL .../install.sh | bash. Clones to ~/.agent-bar, installs deps, and optionally runs agent-bar setup. Adopts the curl|bash pattern used by bun, deno, rustup, uv.

Changed

  • README now promotes the hosted install script as the primary install path. bun add -g remains documented as an alternative with explicit warning about the -g flag.
  • Documentation refresh: CONTRIBUTING.md rewritten in English with a new "Dev install" section. docs/runtime.md, docs/integration.md, docs/commands.md, and docs/troubleshooting.md updated to drop the outdated "legacy" label on ~/.agent-bar and document $HOME pollution handling.

Removed

  • preinstall script from package.json — Bun does not execute lifecycle scripts of dependencies by default, so the guard was silent theater. Replaced by a Bash-level detector in the bin shim that runs on every invocation regardless of package manager.

Install

curl -fsSL https://raw.githubusercontent.com/othavioquiliao/agent-bar/master/install.sh | bash