Skip to content

Releases

v1.3.0

Choose a tag to compare

@PVLPM PVLPM released this 03 Nov 01:24

Quota, analytics, models, and settings now live inside OpenCode Desktop. The browser dashboard is a fallback: on by default below OpenCode 2.2.0, off by default at 2.2.0 and newer.

Highlights

  • Native panel. Quota & Usage opens a side panel with Quota, Analytics, Models, and project, session, provider, and model detail pages. No browser tab.
  • Session header slot. Compact quota rings with a combined preview of every visible provider and account, including reset countdowns.
  • Native notifications. Low quota, exhausted quota, quota reset, and provider or API failures. A focused window shows an in-app toast; a background window asks OpenCode for a system notification.
  • Native Settings. A Quota & analytics page in OpenCode Settings for display, provider, request, temporal pricing, visibility, and card order.
  • Multiple providers and accounts. Every signed-in account, seat, API key, or workspace keeps its own card.

Improved

  • Session switching reuses the same shared quota and analytics state instead of reloading the dashboard.
  • Peak and off-peak context stays on the Quota header and in model detail history.
  • Analytics and Models cover daily usage, projects, sessions, the session tree, provider and model breakdowns, and token and API-equivalent cost.
  • The web dashboard default follows the host version: on below OpenCode 2.2.0, where the Native panel does not exist, and off at 2.2.0 and newer. An explicit dashboard.enabled value always wins. It remains loopback-only on port 4144 by default.

Fixed

  • A healthy Desktop connection renewal no longer interrupts the session or forces a full dashboard reload.
  • Header quota rings remain available across normal watch rotations.
  • Opening OpenCode Settings and returning to a session keeps the same dashboard connection, so the panel no longer shows a false Connecting….

Install

opencode plugin add opencode-quota-gui

Compatibility

  • OpenCode >= 2.0.16 < 2.3.0, Node.js 22.13+ or 23.4+.
  • The Native Desktop integration ships from v1.3.0 and requires OpenCode Desktop 2.2.0+.
  • The browser dashboard is on by default below OpenCode 2.2.0 and off by default at 2.2.0 and newer; an explicit dashboard.enabled value wins. It remains loopback-only.
  • OpenCode 1 is not supported.

v1.2.0

Choose a tag to compare

@PVLPM PVLPM released this 31 Oct 18:31

Highlights

  • Live peak and off-peak status. On the Quota page, providers whose published pricing has time-based rules now show a compact Peak, Off-peak, or Mixed status with the time of the next change. Open a status to see that provider's models grouped by their exact pricing policy, the upcoming windows or recurring weekly schedule in your local time zone, the current or next public-holiday exception, and whether the period raises, lowers, or leaves the API price unchanged. Z.ai plan schedules are described as quota points, never as a dollar price.
  • Historical peak and off-peak breakdown. A model's detail page now splits each provider route's recorded tokens and API-equivalent cost into Peak and Off-peak rows for the selected range.
  • Temporal pricing controls. Settings has a new Temporal pricing section that lists every provider with time-based pricing. A provider with a discovered account starts on; each switch keeps an explicit on or off choice.

Improvements

  • Estimates follow the price in effect at completion. Recorded steps are priced with the peak or off-peak rate that applied when each step completed, instead of one current rate. Cached estimates are invalidated when the bundled pricing snapshot changes.
  • Pricing data ships with the package. Time-based rules come from a pinned, validated models.dev snapshot inside the package, so status and historical estimates need no runtime network request.
  • Honest pricing labels. A window that changes different token types by different multipliers is described as varying by token type instead of being shown as one multiplier.
  • Dollar values use $. Monetary rows on quota cards render $50.27 instead of 50.27 USD. Other currencies keep their ISO code.

Fixes

  • Settings rows stay aligned. Labels, controls, and eye buttons keep their columns at narrow window widths instead of drifting out of alignment.
  • Hidden cards look hidden. Cards turned off in Settings → Visibility are visibly subdued while editing.

About peak and off-peak status

Peak and off-peak status appears only for providers whose published pricing defines time-based rules. A provider is Mixed when its models are in different states at the same moment, and Unknown when the applicable rule cannot be resolved; the dashboard does not guess a phase. Z.ai plan schedules that adjust quota points are kept separate from API price changes and are never presented as a dollar amount.

Historical peak and off-peak usage uses the completion time recorded for each step and the rule covering that instant. Steps that fall outside a known schedule, or on a route without a supported rule, stay out of the split instead of being assigned to one phase.

v1.1.0

Choose a tag to compare

@PVLPM PVLPM released this 28 Oct 22:17
3f46bac

Highlights

  • Models analytics. A new Models view groups token usage by Provider or Model, defaulting to Provider. Its stacked chart ranks series by token volume and shows the five largest plus Other, while the breakdown lists every model or provider. Hover, keyboard focus, and click-to-pin emphasize matching bars, legend entries, and rows.
  • Model and provider drilldowns. Opening a model or provider row opens a detail page for that exact identity, charted against the opposite grouping. Breadcrumbs return you to the grouping and range you came from.
  • API-equivalent cost estimates. Analytics, Models, and project views now show a dollar estimate based on list prices, including a cost line over grouped charts and per-model, per-provider, and per-project totals. Each estimate is explained and calls out tokens that could not be priced.

Improvements

  • Clearer provider and model identity. Recognized providers show proper names and logos across cards, charts, lists, and detail headers. Providers that share a display name also show their raw IDs so they stay distinguishable; unknown and empty identities stay explicit instead of being merged silently.
  • Automatic workspace names. OpenCode Console workspace display names refresh automatically, so a renamed workspace no longer keeps its old label.
  • Honest cost status. Free appears only when every token in a total has a known zero price. Usage with no usable price is Unpriced; a mix of priced and excluded usage is Partial estimate; an empty total shows -. Unknown and unpriced tokens are excluded and reported rather than guessed.
  • Filtered Lifetime views. Lifetime ranges start from the earliest relevant activity: the first matching step for a filtered model or provider view, and the project's own first activity for a project view.
  • More readable charts. Grouped charts support hover, keyboard focus, and click-to-pin emphasis with exact token and cost tooltips.

Fixes

  • Quota card order updates immediately. A saved card order applies to the quota data already on screen as soon as settings change.
  • Hide and unhide keeps position. Hiding a card leaves the remaining cards in their saved order; unhiding restores the card at its saved rank.
  • Known Free routes keep historical estimates. Historical usage on a route known to have been Free keeps its Free estimate after the route is retired or drops out of the price catalog. Other retired models remain Unpriced when no usable price is known.
  • Pricing refreshes keep unrelated prices. Refreshing prices for one set of providers no longer discards prices for other providers and models.
  • Dense Session charts keep readable step labels. Sessions with many steps always show the first and last step labels and reduce intermediate labels to avoid collisions; every step remains plotted.
  • Provider grouping is listed first. The Models grouping control now reads Provider | Model, matching the default view.

About the cost estimate

The API-equivalent estimate multiplies recorded token usage by publicly listed model prices. It is not your subscription charge, invoice, or actual billed spend: plan pricing, credits, discounts, taxes, and provider billing adjustments are not included.

The estimate also depends on recorded model identity and available list prices. Prices can change over time and may be unavailable for some models; tokens without a usable identity or price are excluded, so a total can be partial even when it shows a dollar value.

About historical attribution

Historical provider and model attribution depends on the raw provider and model identities stored by OpenCode for each usage record. When an identity is missing, usage stays explicitly unknown rather than being assigned to a guessed provider or model.

v1.0.1

Choose a tag to compare

@PVLPM PVLPM released this 26 Oct 19:33

Highlights

  • Multi-account/workspace support for OpenCode Go, Zen, OpenRouter, and the shared card model.
  • Visibility now works per account/card, including independent hide/show and ordering.
  • Smoother card drag-and-drop with live reflow and keyboard reordering.
  • OpenRouter now distinguishes key limits from lifetime spend.
  • Fixed incorrect OpenCode Go reset display for inactive windows.

Maintenance

  • Removed the duplicate upstream issue watcher while retaining manual upstream review tooling.
  • Cleaned up README badges.
  • Preserved backward compatibility for existing visibility and provider ordering where practical.

v1.0.0

Choose a tag to compare

@PVLPM PVLPM released this 23 Oct 21:26

A local dashboard for OpenCode quota, token usage, projects, and sessions.

  • Quota views across supported providers, including reset windows, balances, and OpenAI banked resets and credits where available.
  • Analytics, Project, and Session usage views with token totals and drill-down details.
  • Local settings and dashboard configuration, bound to loopback only.
  • GUI-focused package, independent of the upstream TUI plugin.

Install:

opencode plugin add opencode-quota-gui

Requires OpenCode 2.0.16+ and Node.js 22.13+ or 23.4+.