Preface¶
The philosophy of DSH is “everything is a plugin,” and the web surface can be extended around existing host capabilities. Developers using DSH often configure multiple AI providers simultaneously and need to frequently check how much balance or quota remains for a given key; coding plans may also involve 5-hour windows, weekly pools, and MCP monthly lanes.
dsh-quota-panel addresses this specific scenario: it provides a status component in the bottom-right corner of the dsh web product UI that aggregates the balance/quota of configured providers in one place.
What This Is¶
wenzetan/dsh-quota-panel is a provider quota / balance widget for the DeepSeek Harness (DSH) web surface.
It is located in the bottom-right corner of the product UI, supporting a collapsible capsule view, an expanded card view, and a settings panel. The author is wenzetan, the license is MIT, and the version number is 0.9.1-rc.1.
Since v0.5, it has been a dual-face plugin: the host side handles provider requests and credentials, while the browser side renders status through a loopback-only RPC channel; the component runs in the shell.overlay slot, which is the bottom-right corner.
Core Features¶
Automatic Provider Discovery¶
The plugin includes a built-in provider catalog containing 15 built-in providers. When a provider’s key can be resolved in any of the following locations, the corresponding row appears automatically:
$DSH_HOME/.credentials.yaml
.env
environment variables
In other words, after installing and restarting dsh web, providers with configured keys can appear in the panel with zero configuration.
When a key is removed, the corresponding row disappears.
Supported Provider Types¶
Verified support includes:
- DeepSeek
- OpenRouter
- SiliconFlow
- Moonshot
- StepFun
- xAI
- Zhipu GLM
- OpenCode Go
- ChatGPT subscription, Plus / Pro via Codex login
- Volcengine Ark
- one-api / new-api style aggregators
- Coding plans, including 5-hour window, weekly pool, and MCP monthly lane
Status Display¶
The component offers two forms:
- Collapsed state: a minimal capsule using individual status dots and values to indicate account status.
- Expanded state: a full card with one row per provider, including status dot, name, primary value, secondary information, and progress information for usage-based providers.
Per-account status grading is applied to balance rows and usage rows. This means different accounts or different quota rows can display status independently, rather than the entire card changing color uniformly.
Auto-Refresh¶
The default refresh interval is 60 seconds.
Refresh pauses when the page is hidden; repeated clicks during an in-flight refresh request will not trigger concurrent requests.
Settings Panel¶
The settings panel supports the following local settings:
- Per-provider visibility
- Refresh interval
- Per-provider warn thresholds
- Per-provider HTTP(S) proxy URL
- Capsule display mode
- Restore defaults
These settings take effect immediately and are persisted to browser localStorage; verified documentation indicates they are neither written to the profile nor uploaded.
Proxy Support¶
The component supports per-row HTTP(S) proxies. For providers that cannot be directly reached from the current network, a proxy address can be configured for the corresponding row.
A verified limitation is that only HTTP/HTTPS proxies are accepted; socks5 proxies are rejected.
Theming¶
The component’s theme is driven by Harness design tokens and follows the product theme. It does not carry a separate fixed color scheme.
Security Boundaries¶
API keys never reach the browser. The browser side communicates with the host side exclusively through a loopback-only RPC channel and receives normalized views.
Additionally, this plugin has no npm dependencies and does not require allowBuilds authorization.
Installation and Activation¶
No official installation command was provided in the verified materials, so none has been added here.
The verifiable package information is as follows:
name: dsh-quota-panel
version: 0.9.1-rc.1
license: MIT
peerDependencies:
@deepseek-ai/cordis: ^4.0.1
react: *
The activation process described in the documentation is:
- Install the plugin.
- Restart
dsh web. - When a provider’s key can be resolved in
$DSH_HOME/.credentials.yaml,.env, or environment variables, the corresponding row appears automatically.
Typical Usage¶
- After installation, restart
dsh web. Providers with configured keys will automatically appear in the panel without requiring manual entry. - After deleting a provider’s key, the corresponding row disappears.
- Adjust local settings in the settings panel, such as per-provider visibility, refresh interval, warn thresholds, and capsule display mode. These settings take effect immediately and are saved in browser
localStorage. - If a provider cannot be directly reached from the current network, configure an HTTP(S) proxy URL for it.
- If a provider is missing, submit an issue as suggested in the README, providing the provider ID and balance API URL.
Applicable Scenarios and Notes¶
Suitable for:
- Developers using the DSH web surface.
- Users who have configured one or more provider API keys and need to frequently check balance, quota, and coding plan windows.
- Scenarios where you need to quickly view provider status in the bottom-right corner and want to reduce manually opening provider consoles.
Not suitable for:
- Providers that only expose usage/cost queries without a remaining balance endpoint. Verified documentation indicates that OpenAI, Anthropic, Together, Groq, Mistral, Cohere, DashScope, and Baichuan are not currently supported.
- Coding plans that can only access quota pages via cookies or CLI. Verified documentation indicates that Qwen Token Plan, Xiaomi MiMo Token Plan, and Qoder are currently not supported.
- Scenarios requiring custom adapters to be inserted from the profile. Verified documentation states that custom adapters cannot be plugged in from the profile.
- Scenarios requiring the component to be placed in the sidebar, header, or status bar. The component is limited to the
shell.overlayslot, i.e., the bottom-right corner. - Scenarios requiring a socks5 proxy. The component only accepts HTTP/HTTPS proxies.
Notes:
- The plugin runs with the current dsh process permissions. It is recommended to review the source code, license, and peerDependencies before installation.
- The license is verified to be MIT.
- API keys never reach the browser; the browser only receives normalized views.
- Local settings are stored in browser
localStorageand are neither written to the profile nor uploaded.
Conclusion¶
dsh-quota-panel is a lightweight provider quota / balance widget for the DSH web surface. It reduces configuration costs through a built-in catalog and auto-discovery, provides capsule, card, and settings panel entry points for daily viewing and adjustments, while keeping API keys out of the browser.
Related links:
- Catalog page:
https://www.skillhub.cn/plugins/wenzetan/dsh-quota-panel - GitHub:
https://github.com/wenzetan/dsh-quota-panel