anomalyco / anomalyco/opencode
[FEATURE]: Real-time token generation speed (tok/s) in TUI status bar, like Hermes
Open
@simonklee is already working on this.
Since Sep 8, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Describe the enhancement you want to request
I want opencode to show real-time token generation speed (tok/s, tokens per second) while a response is streaming, like DeepSeek Hermes agent does.
Hermes shows it directly in the status bar, e.g.:
deepseek-v4-flash | 12.5K/128K | 68% | 3m 42s | 15.2 t/s
Reference implementations:
- https://github.com/maxxqf-ai/hermes-status-bar-tps (adds
XX.X t/sto Hermes status bar fromcompletion_tokens / api_duration) - https://github.com/NousResearch/hermes-agent/pull/44878 (per-call
last_api_duration+last_output_tokens->output_speed, exposed in CLI status bar / desktop status bar / gateway runtime footer behinddisplay.show_output_speed)
Proposed behavior in opencode
- TUI: live rolling tok/s while streaming (in the status line / session footer), plus final per-response average once complete (next to existing token counts).
- Desktop / web: same
t/sindicator for parity. - Optional session-wide average (e.g. via
/statsor footer) for comparing models/providers. - Config toggle, e.g.
display.show_output_speed(default off to avoid clutter), and hide when terminal width is too small.
Why
- Currently there is no way to gauge inference throughput per response or compare models/providers without external benchmarking.
- Very useful when switching between fast models (e.g. DeepSeek V4 Flash ~80-150 tok/s) and slower frontier models — speed directly affects interactive coding feel.
- Related open requests: #43857, #6096. This issue explicitly proposes the Hermes-style UX (live + per-call average + toggle) as the concrete design.
Alternatives considered
- Timing requests manually or benchmarking provider APIs directly — does not reflect real usage inside opencode.
- Only showing total tokens / cost after completion — no sense of live speed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.