pi-go-quota
v1.2.1
Published
OpenCode Go plan quota for pi: footer status and /model-go picker showing requests-per-5-hours limits for each Go model.
Maintainers
Readme
go-quota
Pio extension that surfaces OpenCode Go plan quotas:
a footer status for the active model and a /model-go picker that lists every
Go model with its requests-per-5-hours limit.
Live data: on every startup (and every
/model-go) the extension fetches limits from two sources — https://opencode.ai/go (top-10 chart with effective promo values, e.g. DeepSeek V4.1 Flash 4× already multiplied) and https://opencode.ai/docs/go/ ("Estimated requests" + "Usage limits" tables covering all ~27 plan models) — and merges them, so quota numbers stay up to date automatically. A static fallback table (September 2026) is used only when both pages are unreachable.
Features
- Footer status — for the active OpenCode Go model, e.g.
omen-alpha · 11.6k richieste/5h. Hidden for other providers. /model-go [query]— picker of all OpenCode Go models, sorted by quota (most generous first):- requests per 5 hours per model
- monthly budget included in the plan (e.g.
max $60/mese) - promo/region annotations (e.g.
New · 4× usage,regioni limitate) - same flow as
/model: type to fuzzy-filter, arrows to navigate,Enterto switch,Escto cancel - current model marked with ✓
Install
# from npm (once published)
pi install npm:pi-go-quota
# from a git repo
pi install git:github.com/cicciocanestro/pi-go-quota
# or, to try without installing:
pi -e npm:pi-go-quotaUsage
/model-go # browse all Go models by quota
/model-go alpha # fuzzy-filter by idThe footer status key is go-quota. If you use a powerline-style footer you
can color it via customItems:
{
"powerline": {
"customItems": [
{ "id": "go-quota", "statusKey": "go-quota", "position": "right", "color": "#FFB347" }
]
}
}How it works
On startup the extension downloads two pages in parallel and merges them:
https://opencode.ai/go— the "Est. requests / 5 hr" chart row by row: each<div data-slot="model-row" data-model="…">carries the model id, the effective requests value (data-slot="requests"), the monthly budget (data-slot="allowance") and any badges or region notes. When a promo is active the page shows the base value struck through (<s>) followed by the effective one: the extension always takes the last<bdi>, so multipliers are already applied by the page itself. The landing page only renders the initial top-10, so these values take precedence but don't cover everything.https://opencode.ai/docs/go/— the "Estimated requests" table (requests per 5 hours for every model) and the "Usage limits" table (monthly dollar budget per model), which cover the full lineup (~27 models). Docs display names are slugified to canonical ids (Kimi K3→kimi-k3, parenthetical variants like(≤ 256K tokens)or(Off-Peak)stripped).
Docs values form the base layer; Go-page values are overlaid on top (they
include active promos). A legacy-id map (deepseek-flash →
deepseek-v4.1-flash, whose row on the Go page still uses the old
data-model) keeps lookups working against the canonical ids from the docs
and /zen/go/v1/models.
If both fetches fail (offline, pages changed) the extension falls back to the
last successful parse, then to the built-in table.
License
MIT
