Repository navigation
v0.1.4
Added
- Streaming stats, opt-out. The plugin measures TTFT and tokens per second for every LLM step, on your machine. For ollama-cloud it wraps the provider fetch and reads the final usage chunk, so the timing is wire-accurate; for every other provider it estimates from opencode's own events. The line next to the token counter shows the session average, like
38.2 tok/s · TTFT 380 ms · Session average. Three things to know. It counts only your main conversation, so subagents, title generation and compaction stay out. The average belongs to the session rather than the model. Nothing is stored and nothing leaves your machine. Idea by @adilfaisal01. - Setup. The stats UI ships as a second plugin entry,
"opencode-ollama-cloud/tui". The API it uses exists in opencode 1.18.25 but isn't documented, so treat the UI as best effort; if a future opencode moves that API, the stats simply disappear and the rest of the plugin keeps working.stats: "off"on both entries leaves the plugin exactly as before. - Two dialogs.
/statsopens the session summary plus the last responses, and you can tell wire measurements apart from the event estimates./modelopens the active model's card: quantization, family, capabilities, limits, release date, and the reference price whenpricing: "reference"is set. - Quantization. The updater now extracts the value Ollama declares for each model, read from the registry config blob and cross-checked against
/api/show. Fifteen of the nineteen models come straight from the registry.glm-5.2andnemotron-3-ultracarry values researched from public sources, with the source noted.minimax-m3andminimax-m2.7stayunknownbecause the public signals contradict each other or are simply absent. Treat it as declared, not guaranteed. Ollama doesn't document the precision the remote inference actually runs at. The field is optional and has no closed enum, so a new Ollama format can't break the updater.
Removed
- Type-level break. The unused
pricingfield is gone from the exportedPluginOptstype. Thepricingoption in your opencode config is unchanged and works the same as before. Only code that setspricingon the internalPluginOptstype will fail typecheck.
Changed
- Internal cleanup. Test fixtures are shared,
familyis now the single vocabulary for model bases, the models.dev seed URL lives in one place, and the updater CLI rejects unknown arguments instead of running a full update on typos.
CI
catalog.jsonnow validates against the published JSON schema, alongside the hand-mirrored checks, so the two contracts can't drift apart.
Full changelog: v0.1.3...v0.1.4