dsh-quota-dashboard
Manifest valid★ 1DSH plugin for AI API balance/quota monitoring: DeepSeek peak/valley countdown, OpenCode Go quota, host-side key isolation, terminal-style panel, persistent config. / DSH Web plugin: AI API balance/quota monitoring, DeepSeek peak/valley countdown, OpenCode Go quota, host-side key isolation, terminal-style panel, persistent config.
dsh-quota-dashboard
中文说明 | English
A universal AI API quota / balance live monitor plugin for the DeepSeek Harness (DSH) Web GUI.
A realtime button + terminal-style panel at the bottom of the sidebar aggregates your balances (DeepSeek official API…) and subscription quota windows (OpenCode Go…), with all other platforms attached via the custom endpoint. The DeepSeek title shows a live peak/valley countdown (per the latest official peak/valley pricing: peak = Beijing time Mon–Fri 9:00–12:00 & 14:00–18:00, 2× the off-peak price; all other hours, including all of the weekend, are valley at half price). The panel always follows the DSH light/dark theme. Auto-refresh every 30s–5min, or manual refresh.
Highlights
- 🎛️ Interactive settings UI – pick a platform → paste Base URL / API Key (optionally persist locally) → enable; remove anytime
- 🖥️ Per-provider cards – balance cards show amount + breakdown; quota cards show per-window used% bars (left→right fill, green <50% → orange 50–80% → red ≥80%) + reset time
- 🔴🟡🟢 Status dots – one dot per enabled provider on the sidebar button, colored by severity; overall shows the worst
- ⏱️ Realtime refresh – 30s / 1 / 2 / 5 min, plus manual refresh
- 🔑 Key physical isolation – panel input (persisted locally, 0600) → DSH credentials vault → environment variable; the key stays in the host process, never in URLs / logs / browser
- 🌗 Theme-aware – follows DSH light/dark automatically; no independent color options
- ⏳ DeepSeek peak/valley countdown – live peak/valley indicator + countdown in the title (1s precision; only the countdown digit re-renders, not the whole tree). Per the latest official peak/valley pricing: peak = Beijing time Mon–Fri 9:00–12:00 & 14:00–18:00 (2× price); all other hours, including the entire weekend, are off-peak valley (half price)
- 💾 Config persistence – enabled list + refresh interval dual-written to localStorage + host-side file (
~/.dsh/.dsh-quota-dashboard-client.json); survives DSH restarts, browser data clearing, and browser switches - 📦 Custom endpoint – any API returning balance/quota fields can be attached (auto recursive detection)
Supported platforms
| Type | Platform | Endpoint | Key env var |
|---|---|---|---|
| Balance | DeepSeek (official) | GET /user/balance | DEEPSEEK_API_KEY |
| Quota windows | OpenCode Go (subscription) | GET /zen/go/v1/usage | OPENCODE_GO_API_KEY |
| Custom | any compatible API (incl. Moonshot / OpenRouter / OpenAI / Anthropic / Together…) | full URL + key in panel | auto-detect |
Only the DeepSeek official API and the OpenCode Go subscription are built in by default; every other platform is attached through the custom endpoint (full API URL + key, with automatic recursive detection of balance/quota fields).
Install
dsh plugin --profile web add <path-to-dsh-quota-dashboard>
Pure JavaScript, zero build: index.js (host) + client.js (client) run as-is. Restart dsh web; a button appears at the bottom of the sidebar.
Usage
- Click the sidebar button to open the panel.
⚙️ Settings→ choose a platform → optionally change Base URL → enter API Key →Test→Enable.- If the DSH credentials vault or environment already has the key for a platform, the "Quick config" section shows a one-click enable button.
- Cards update live; pick an auto-refresh interval or turn it off.
Config (optional env var)
| Variable | Default | Meaning |
|---|---|---|
DSH_QUOTA_STATE_PATH | $DSH_HOME/.dsh-quota-dashboard.json | host-side persisted API keys (mode 0600) |
Key resolution order: panel input (persisted locally) → host state file → DSH credentials vault → environment variable.
Client config (enabled list + refresh interval) is automatically persisted to $DSH_HOME/.dsh-quota-dashboard-client.json (0600); no manual setup needed.
Develop / test
node --check index.js client.js
node scripts/test-parsers.mjs # fixture parser unit tests
node scripts/test-peak.mjs # peak/valley window + countdown boundary tests
node scripts/smoke-live.mjs # live smoke (reads credentials, redacted output)
Changelog
See CHANGELOG.md.
License
MIT. Based on InvisibleSirius/dsh-quota-dashboard.
Comments
Loading…
From the same category
DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 121/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 6.8k
MIT
JavaScript
Aug 24, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby kingcharleslzy-ai
Community-maintained dsh-purge fork with host-policy patches, prompt and rule settings, diagnostics, separate update-check and install controls, and local backup/rollback.
★ 6.3k
MIT
JavaScript
Nov 8, 2026
dsh plugin --profile web add dsh-purge-communityby QingYunA
Answer me with HTML — an agent skill that answers hard questions with a one-page HTML you can actually read. 让 AI Agent 用一页 HTML 回答复杂问题。
★ 6.2k
MIT
JavaScript
Nov 10, 2026
dsh plugin --profile web add answer-me-with-htmlby T-Auto
Provides bash, PowerShell 7, and a suite of high-performance tools written in Rust for Windows DSH to enhance token efficiency / 为windows的dsh提供bash、powershell7及一系列rust编写的高性能tools来提高token效率
★ 5.7k
↓ 52.6k/wk
NOASSERTION
JavaScript
Nov 10, 2026
dsh plugin --profile agent add dsh-opsby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 5.7k
MIT
Python
Aug 25, 2026