Foreword¶
The philosophy of DSH is “everything is a plugin,” and community plugins can extend the page capabilities of the dsh web surface. For agent developers who configure multiple providers simultaneously, balance and usage windows are scattered across different provider interfaces, and there is no unified place to view them on the page. Additionally, it’s not advisable to expose API keys directly to the browser.
dsh-quota-panel addresses this issue: it injects a status component into the bottom-right corner of the dsh web surface and proxies the provider’s quota / balance requests on the server side.
What It Is¶
dsh-quota-panel is maintained by brittanistrehlowll-oss and is licensed under MIT. It is a zero-dependency host plugin for the dsh web surface: it registers a server-side proxy route /api/quota/<id> for each configured provider and injects a Harness-native status component into the bottom-right corner of the page.
The component has two forms:
- Collapsed capsule: displays a status dot and value by default, suitable for quick viewing.
- Expanded card: displays full provider status information.
Core Capabilities¶
dsh-quota-panel provides the following verified capabilities:
- Registers a server-side proxy route
/api/quota/<id>for each configured provider. - API keys are resolved on the server side via the credentials seam and never enter the browser.
- The browser only accesses
/api/quota/<id>, and the server continues to make requests to the provider. - Injects a Harness-native status component into the bottom-right corner of the page, including a collapsed capsule and an expanded card.
- Supports two formats:
deepseek-balanceandopencode-usage. - Uses battery-colored status dots and values, displaying status based on balance or usage thresholds.
- Auto-refreshes; pauses refreshing when the page is hidden.
- The manual refresh button spins during refresh and ignores re-entrant clicks.
- Follows Harness design tokens, adapting to light/dark themes.
Installation and Activation¶
First, use the plugin installation command to add dsh-quota-panel to the web profile:
dsh plugin --profile web add "github:brittanistrehlowll-oss/dsh-quota-panel"
The package declares dsh.bundle.patch, so dsh plugin add automatically activates it as a profile layer.
If dsh web is running, restart it. Bundle layers take effect at startup.
Typical Configuration¶
In the profile’s cordis.patch.yml, place the provider configuration under providers. Below is an example that configures both DeepSeek balance and OpenCode Go usage:
- id: quota-panel
config:
refreshMs: 30000
providers:
- id: deepseek
label: DeepSeek
credential: DEEPSEEK_API_KEY
endpoint: https://api.deepseek.com/user/balance
format: deepseek-balance
balanceTiers: {10, 20, 50}
- id: opencode-go
label: OpenCode Go
credential: OPENCODE_GO_API_KEY
endpoint: https://opencode.ai/zen/go/v1/usage
format: opencode-usage
In the example, refreshMs: 30000 is an override of the default value. The defaults provided in the documentation are as follows:
refreshMs:60000balanceTiers:{10, 20, 50}windowLabels:{Roll, Week, Month}warnPercent:70errorPercent:90
Common configuration items include:
id: corresponds to the route/api/quota/<id>.label: the provider name displayed on the card.credential: the credential reference.endpoint: the provider’s quota / balance / usage URL.format: the row renderer, supportingdeepseek-balanceandopencode-usage.balanceTiers: balance thresholds.windowLabels: usage window labels.warnPercent/errorPercent: usage thresholds.refreshMs: auto-refresh interval.
Security and Usage Notes¶
When using this plugin, the following points should be noted:
- The plugin runs with the permissions of the current
dshprocess. It is recommended to review the source code, dependency scope, and MIT license before installation. - API keys are resolved on the server side via
ctx.credentialsand are only used for server-to-provider requests. - The browser only communicates with
/api/quota/<id>and does not directly hold or send provider API keys. - The injected card builds the DOM using
createElement/textContent; API response values do not pass throughinnerHTML. - Technical errors such as 401, timeout, and missing credentials are placed in the
titlehover text rather than being directly displayed in the card body.
Conclusion¶
The value of dsh-quota-panel lies in bringing provider quota / balance / usage status into the dsh web surface while keeping API keys on the server side. It is suitable for scenarios where you need to view balances or usage status across multiple providers at once and want the page refresh logic to follow the Harness theme.
- GitHub:
https://github.com/brittanistrehlowll-oss/dsh-quota-panel - Plugin directory listing:
https://www.skillhub.cn/plugins/brittanistrehlowll-oss/dsh-quota-panel(from the plugin listing, not present in the crawled documentation)
The community directory is an independent site and has no official affiliation with DeepSeek / High-Flyer.