Releases: othavi0/agent-bar
v6.0.1
v6.0.0 — Reescrita Rust
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) ecargo 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-barMigraçã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
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 setupO 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 setuplê os assets de/usr/share/agent-bar, gera o módulo Waybar comexec: agent-bar(PATH) e pula o symlink~/.local/bin;agent-bar updateorienta o gerenciador de pacotes (ex.:paru -Syu) em vez debun 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
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, oudisconnected), paraformat-iconskeyed por estado:"format-icons": { "ok": "🟢", "low": "🟡", "warn": "🟠", "critical": "🔴", "disconnected": "⚫" }
percentage— o valor displayMode-aware (o mesmo número dotext), clampado a0..100, para{percentage}noformatouformat-iconsem 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
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) eBaseProvidervsClaudeProviderdireto. Agora publicado no pacote npm. - Comando interno
action-right(right-click do Waybar) documentado emcommands.mdewaybar-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
⚠️ Breaking
- Provider Copilot removido. A interface
--headless --stdiodo Copilot CLI
era oculta/frágil; foi removida por inteiro. Providers agora: Claude, Codex, Amp.
Settings que listavamcopilottê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-sendausente; só dispara via Waybar. notify.enabledno settings (defaulttrue).
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
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
usagesubprocess timeout/kill (no zombies); auth errors not cached. - Atomic cache writes; clearer CLI errors.
Changed
- Copilot/Amp follow the
fetchRaw/buildQuotacontract (cache stores raw data); Copilotusedcomputed at the provider; shared Pango escape boundary.
Full notes in CHANGELOG.md.
v4.1.0
Added
agent-bar doctorcommand: detects and cleans@noctuacore/agent-barleftovers (package.json, lockfiles,node_modules/@noctuacore/) in$HOMEcaused bybun add/npm iwithout-g.setupnow warns when$HOMEhas leftover install artifacts and points toagent-bar doctor.- Bin shim (
scripts/agent-bar) now detects install pollution in$HOMEon every invocation and prints a warning suggestingagent-bar doctor. Warns at most once per hour per UID (cached in$XDG_RUNTIME_DIR) so Waybar logs stay clean. install.shhosted installer: zero-pollution install path viacurl -fsSL .../install.sh | bash. Clones to~/.agent-bar, installs deps, and optionally runsagent-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 -gremains documented as an alternative with explicit warning about the-gflag. - Documentation refresh:
CONTRIBUTING.mdrewritten in English with a new "Dev install" section.docs/runtime.md,docs/integration.md,docs/commands.md, anddocs/troubleshooting.mdupdated to drop the outdated "legacy" label on~/.agent-barand document$HOMEpollution handling.
Removed
preinstallscript frompackage.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