OpenCodeGo quota monitor for the DSH Web GUI: a breathing indicator at the input's bottom-right (green/yellow/red by remaining share), a liquid-glass panel with rolling/weekly/monthly usage windows and reset times, auto-refreshing every 30 s; API key read from DSH credentials.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:BeiZi6/dsh-opencodego-usage
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
OpenCodeGo quota monitor for the DeepSeek Harness (DSH) Web GUI: a breathing indicator at the bottom-right of the input box shows your remaining quota at a glance; click it to open a liquid-glass panel with per-window progress bars and reset times.
Features
- 🟢🟡🔴 Breathing indicator — color-coded by remaining quota (>50% green, 20–50% yellow, <20% red) with a gentle 3.6 s breathing animation
- 📊 Three-window progress panel —
rolling(≈ last 5 h),weekly(≈ last 7 d) andmonthly(≈ last 30 d) bars with used · remaining amounts and a reset time for each window - 🔑 Zero-config key handling — reads your API key from DSH credentials automatically (only when the provider is
opencode-go); an in-panel override is available - 🪟 Liquid-glass panel — mouse-follow highlight, frosted blur and a window-style diagonal open animation
- ⏱ Auto-refresh — fetches fresh quota every 2 minutes
Installation
Requires DeepSeek Harness with the web profile enabled. Install from the official registry:
dsh plugin --profile web add github:BeiZi6/dsh-opencodego-usage
Restart dsh web for the plugin to take effect.
To remove:
dsh plugin --profile web remove dsh-opencodego-usage
Usage
The indicator sits at the bottom-right of the conversation input; its color reflects the lowest remaining share across the three windows:
Remaining share Color > 50% 🟢 green 20–50% 🟡 yellow < 20% 🔴 red Click it to expand the panel:
rolling— quota used in roughly the last 5 hoursweekly— quota used in roughly the last 7 daysmonthly— quota used in roughly the last 30 days
Each window shows the used percentage, the remaining share and the exact reset time.
A manual API key override can be entered in the panel for the current session; clearing it falls back to automatic resolution.
Data refreshes automatically every 2 minutes.
API key resolution
The plugin looks for a key in this order:
- Manual override entered in the panel (kept in a small state file under
$DSH_HOME; the path can be moved with theOCG_STATE_PATHenvironment variable) - DSH credentials — only when the active provider is
opencode-go, the credential referenced byllm-pi-ai.providers.opencode-go.apiKeyEnvis resolved - Process environment
- The state file
The key is only ever sent to the official OpenCodeGo quota endpoint over HTTPS.
How it works
Host half (
index.js) — registers a same-origin route/opencodego-usageon the DSH web server. The route queries the official OpenCodeGo quota API (GET https://opencode.ai/zen/go/v1/usage, Bearer auth) and parses the window data:{ "usage": { "rolling": { "status": "ok", "percent": 86, "resetsAt": "…" }, "weekly": { "status": "ok", "percent": 34, "resetsAt": "…" }, "monthly": { "status": "ok", "percent": 17, "resetsAt": "…" } } }Older
used/limitnumeric pair shapes are tolerated as well.Client half (
client.js) — a web-shell module registered into theconversation.input.rightslot; it polls the same-origin route every 2 minutes and renders the indicator and the panel.
Known limitations
- The state file only stores a manually overridden key; deleting it never affects credential-based resolution.
- Quota values and reset times are reported by the OpenCodeGo API as-is — no local estimation.
Compatibility
- DeepSeek Harness Web GUI (
dsh web) - Node.js >= 22.19
- Peer dependencies:
@deepseek-ai/cordis(^4),@deepseek-ai/dsh-host-webserver(^0.1.0-rc.6)
License
MIT © Xu Yuanshan
Links
- Repository: https://github.com/BeiZi6/dsh-opencodego-usage
- Issues: https://github.com/BeiZi6/dsh-opencodego-usage/issues
中文简介
为 DSH Web GUI 打造的 OpenCodeGo 剩余额度监控插件:输入框右下角呼吸灯(>50% 绿 / 20–50% 黄 / <20% 红,3.6 秒慢呼吸),点击展开液态玻璃面板——近 5 小时 / 近 7 天 / 近 30 天三窗口进度条与重置时间,每 2 分钟自动刷新;API Key 自动读取 DSH 凭据(仅限 opencode-go 提供商),也可在面板内手动覆盖。
Links
More in this category
bowenliang123/dsh-context★ 1556
DSH context insight panel: Context dashboard + /context command + Context browser — one-stop context lifecycle management with categorized composition, content details, evolution trends, compaction/injection events, and stats.
Han-1413141/dsh-cost-meter★ 344
Per-session and daily API cost, budget with usage %, official balance, history dashboard, and one-click official price sync with peak/off-peak pricing.
wssfk12138/dsh-damage-pulse★ 214
Tracks DeepSeek token usage, per-call and session costs, and account balance with cache-aware charge animations in the DSH Web UI.
zh667/TokenLedger★ 202
Sidebar usage panel that attributes tokens to the relay site that served each request, read from your existing provider config: today/month/all-time totals, per-site and per-model breakdowns, a year activity heatmap, and New API / Sub2API / DeepSeek balances.
Ychris12138/dsh-usage-stats★ 168
Multi-provider usage dashboard with provider/model token breakdowns, calendar drill-downs, account balances, and OpenCode Go / Z.ai subscription quota tracking.
PolinniZhong/dsh-personal-center★ 120
Personal center for DeepSeek Harness: cross-session usage statistics, per-model cost estimation, global custom instructions, a global font-size adjuster, a data-driven desktop pet with bitmap & vector skins, and a conversation status overview, all local and offline.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.