Skip to content

v0.1.0 - First public release

Choose a tag to compare

@engrtarun engrtarun released this 20 Oct 16:41
· 17 commits to main since this release

First public release - v0.1.0

Live running-session badges on every OpenCode model name - right inside the model picker.

What it shows

Badge Meaning
(none) no session currently running on the model
? green tick exactly 1 chat session running
?? [N] blue tick + count N (2+) sessions running on the same model in parallel

How it works

  • Consumes the server SSE stream (GET /api/event) with plain etch() - no child processes, no terminal flash, zero RAM-resident state.
  • Liveness = 3 layers: authoritative session.status events, 15s activity TTL on generation-stream events, and explicit oolCallID tracking so long builds never lose their badge.
  • Badges are always rebuilt from the bare name (suffix stripped first) - no double-badge or stuck-badge possible.
  • Deleted sessions have all state cleaned; a 10-min safety refresh catches missed events.

Install

Copy index.ts + package.json into ~/.config/opencode/plugins/model-badges/ and touch opencode.jsonc to reload. See the README for details.

Tuning

Top of index.ts: ACTIVITY_TTL_MS, STATUS_DEBOUNCE_MS, TOOL_MAX_MS, MIN_MULTI.

MIT License - (c) engrtarun