pi-opencode-go-usage

Track OpenCode Go usage limits (rolling 5h / weekly / monthly) in Pi — status bar + /opencode-go report via the console API.

Packages

Package details

extension

Install pi-opencode-go-usage from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-opencode-go-usage
Package
pi-opencode-go-usage
Version
1.1.2
Published
Oct 21, 2026
Downloads
394/mo · 19/wk
Author
darkodev
License
MIT
Types
extension
Size
35.2 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "image": "https://raw.githubusercontent.com/Dakai/pi-opencode-go-usage/main/assets/pi-opencode-go-usage.png",
  "extensions": [
    "./extensions/opencode-go-usage.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-opencode-go-usage

npm version pi package license MIT

简体中文 · English

Track OpenCode Go usage limits — rolling 5-hour, weekly, and monthly — in-session with a live status bar and a /opencode-go report widget. Status bar showing OpenCode Go usage

Status bar:  Go 5h 62% · wk 31% · mo 44%

Report widget:
  OpenCode Go Usage
  Workspace: wrk_xxxxxxxxxxxxxxxxxxxxxxxx
  Rolling 5h ██████░░░░  62% · 1h 12m
  Weekly     ███░░░░░░░  31% · 3d 4h
  Monthly    ████░░░░░░  44% · 12d 0h
  Updated 2:32:05 PM  (time format follows your locale)

Why this exists

OpenCode Go publishes a usage endpoint that accepts an API key:

GET https://opencode.ai/zen/go/v1/usage     (Authorization: Bearer <api-key>)
-> { usage: {
      rolling:  { status, percent, resetsAt },
      weekly:   { status, percent, resetsAt },
      monthly:  { status, percent, resetsAt } } }

This extension calls that endpoint with your OpenCode API key and derives the three percentages plus reset countdowns. It reports percentages and countdowns only — it does not spend screen space on dollar figures.

The older console-cookie mechanism (/console/api/go/status) is still supported as a fallback for users without an API key.

Install

pi install npm:pi-opencode-go-usage   # Pi (recommended)
# or
omp plugin install github:Dakai/pi-opencode-go-usage
# or, for local dev:
omp plugin link /path/to/pi-opencode-go-usage

Then restart the session (or /reload).

Connect

Preferred: an OpenCode API key. Resolve it from (first non-empty wins):

  1. OPENCODE_GO_API_KEY
  2. OPENCODE_API_KEY
  3. OPENCODE_ZEN_API_KEY
  4. ~/.local/share/opencode/auth.json → opencode-go.key / opencode.key

If you use the OpenCode CLI, the key is already there — nothing to configure.

Or save one explicitly:

/opencode-go --connect <api-key>
/opencode-go --api-key <api-key>

Legacy (console cookie) fallback, if you have no API key:

  1. Workspace ID — the wrk_… segment in the address bar: opencode.ai/console/wrk_…/go
  2. Session cookie — on that page press F12 → Application → Cookies → https://opencode.ai → the __Host-console_session row → copy its Value.

Either set env vars:

export OPENCODE_GO_WORKSPACE_ID=wrk_…
export OPENCODE_GO_AUTH_COOKIE='…'

or use:

/opencode-go --connect wrk_… <session-cookie-value>

Bare cookie values are sent as __Host-console_session=<value>. To send a different cookie name, or several at once, pass a full cookie pair: name=value; name2=value2.

Env vars take precedence over the saved file: while they are set, --connect / --cookie save but have no effect (the command warns when it detects this). Unset them, or export the new value. OPENCODE_GO_CONFIG_PATH overrides where the file lives (default ~/.omp/agent/opencode-go-usage.json).

Commands

Command Effect
/opencode-go Fetch and show the report widget
/opencode-go --connect <api-key> Save API key, fetch, show
/opencode-go --api-key <api-key> Save API key only
/opencode-go --connect <wrk> <cookie> Save workspace + cookie (legacy), fetch, show
/opencode-go --workspace <id> Save workspace id only (legacy)
/opencode-go --cookie <value> Save cookie only (legacy)
/opencode-go --disconnect Forget all credentials
/opencode-go --refresh Fetch again now
/opencode-go --compact [on|off] Toggle compact status bar (Go: 5h 0% · wk 2% · mo 2%)
/opencode-go --json Export report to ~/.omp/agent/opencode-go-usage-report.json

Usage refreshes automatically every 5 minutes.

Failure modes

Status text Meaning Fix
Session expired The API key/console session lapsed Reconnect with a fresh key/cookie
No Go subscription on this workspace The console reports no Go plan Check the workspace
Console API response unrecognised The console API changed shape Update the parser
Network error / Request timed out Transient Retry

Security

This is an authenticated read of your own usage figures, using an API key or a browser session cookie stored in a 0600-mode file (or in env vars). It reports only what the endpoint already shows; an API change will break it, and it will say so instead of showing a confident zero.

License

MIT