dsh-quota-panel: Provider Quota/Balance Status Component for the dsh Web Surface

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-balance and opencode-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: 60000
  • balanceTiers: {10, 20, 50}
  • windowLabels: {Roll, Week, Month}
  • warnPercent: 70
  • errorPercent: 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, supporting deepseek-balance and opencode-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 dsh process. 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.credentials and 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 through innerHTML.
  • Technical errors such as 401, timeout, and missing credentials are placed in the title hover 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.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye