Skip to content

Releases: philipecomputacao/opencode-llm-statusline

v1.2.0 — Sticky Toast + Keep-Alive

Choose a tag to compare

@philipecomputacao philipecomputacao released this 20 Jun 23:39

Fixed

  • plugins/llm-statusline.toast.ts: toast is now sticky (duration=0 = never auto-dismisses). A keep-alive setInterval re-fires the toast every 4 min as a safety net, so the bar never disappears — even between model responses.
  • Both plugins: version field was hardcoded to "opencode" (rendering 📟 vopencode). Now spawns opencode --version at init time.

Added

  • LLM_STATUSLINE_TOAST_MS env var to override toast duration (default 0 = sticky).
  • client.app.log calls for structured logging.
  • Keep-alive timer (setInterval every 4 min).

Changed

  • TOAST_MS defaults to 0 (sticky, never auto-dismiss).

v1.1.0 — Toast Variant + Vendored Python

Choose a tag to compare

@philipecomputacao philipecomputacao released this 20 Jun 23:39

Added

  • New plugins/llm-statusline.toast.ts server plugin that emits the rendered bar as a TUI toast on every session.idle, instead of writing to the log panel.
  • Vendored python/ directory: a self-contained copy of the upstream statusline script. The plugin no longer depends on any Claude Code install at the filesystem level.
  • OPENCODE_PROJECT_DIR environment variable as an optional override for the folder displayed in the toast.

Changed

  • Cache directory moved from ~/.cache/llm-quota-bar/ to ~/.cache/opencode-llm-statusline/ to keep state separate from upstream.
  • .gitignore now ignores python/__pycache__/.

Known Limitations

  • OpenCode 1.17.8 plugin SDK does not expose tool-call parts; the toast reflects the shell cwd, not the live project the agent is editing.
  • OpenCode's tui.showToast does not render ANSI escape codes; colors are stripped before display.

v1.0.0 — Initial Release

Choose a tag to compare

@philipecomputacao philipecomputacao released this 20 Jun 23:39

Added

  • Initial release (plugins/llm-statusline.ts).
  • Forwards OpenCode session.idle events to a session_tokens.py script, writing a Claude-Code-compatible JSONL so the upstream statusline logic (token totals, cache R/W, burn rate, cost, provider quota) can be reused unchanged.
  • Logs the rendered bar through client.app.log() (visible in OpenCode's log panel).