Skip to content

OpenCode Vitals 0.1.0

Choose a tag to compare

@moutazideal moutazideal released this 26 Sep 05:39
· 15 commits to main since this release

First public release of OpenCode Vitals: a small always-on-top bar that shows one honest line for the session you are working in.

◔  19 turns   65 steps   282 tok/s

What it measures

  • turns — responses completed in this session.
  • steps — model steps across those responses, so a turn that ran five tools is not mistaken for a fast one.
  • tok/s — generated tokens (output + reasoning) divided by active stream time. Tool executions stay out of the denominator, so the number is the model's speed and not your machine's.

Compaction executions and synthetic inbox items are excluded, and duplicate completions, late deltas and repeated plugin instances are deduplicated. When the provider reports no token counts, the bar shows – instead of inventing a number.

The bar

360×54 pixels, undecorated, always on top, no taskbar entry, no focus steal. Drag it anywhere and the position is remembered. The close button collapses it to a small square that keeps showing tok/s; clicking the square brings it back. It follows the Desktop tab you are looking at, and it leaves when you close OpenCode.

Install

{ "plugins": ["opencode-vitals"] }

Restart OpenCode. To check your machine first: npx opencode-vitals-selftest.

Honest platform note

Verified on Linux with GNOME/Mutter on X11. The macOS and Windows paths are ordinary platform code with a fail-open rule — when a check cannot run, the bar stays instead of disappearing — and their decision logic is covered by tests driven by a fake process list, but no macOS or Windows machine has run it yet. The selftest is the fastest way to find out on yours.

Privacy

No network code at all: no registry calls, no telemetry, no update pings. Prompts and responses are never stored. The one exception is a single read-only row from the Desktop app's own state database so the bar knows which tab you are looking at; no draft text is read.

Quality gates

103 plugin checks and 44 bar checks run before every publish, plus a selftest that reports the Tk version, the window type that stays undecorated and on top, the database path and the tab it read.