ZeroingIn/dsh-provider-billing

DeepSeek Harness plugin: provider account balance inside each Models settings ro

dsh-provider-billing shows the account balance behind each configured provider route's stored API key — one balance line inside each provider row of the Models settings page with a per-route refresh control. The key never leaves the host: the browser sends only the route id, and the host half resolves the endpoint and credential from the configuration plane (profile → route API-key derivation → adapter default, each through the credential seam, first hit wins) before querying the provider's OpenAI-compatible /user/balance endpoint over a loopback-pinned generic RPC channel (/provider-billing) fenced by the same Connection layer that pins privileged /api methods. The providers config lists which routes may be checked; a route absent from the directory never appears.

Coding & Development ★ 1 updated 2026-08-14 ⏳ pending
View on GitHub ↗

Install

dsh plugin --profile web add dsh-provider-billing

npm dsh-provider-billing 0.1.1 verified 2026-09-02 (repository field → github.com/ZeroingIn/dsh-provider-billing; README bilingual EN/zh). Three equivalent routes: npm dsh plugin --profile web add dsh-provider-billing (tarball ships built lib/ + cordis.patch.yml — no build step), GitHub dsh plugin --profile web add github:ZeroingIn/dsh-provider-billing (fetches sources; pnpm >= 10 requires allowlisting the printed package key in the profile's pnpm-workspace.yaml; pin a commit for a locked build), or pnpm pack + add the .tgz. Important: the plugin renders inside the Models page's settings.models.row contribution hole — only newer harness builds declare it; on unsupported builds it reports a clear load failure instead of degrading silently.

Compatibility

DSH builds that declare the Models page settings.models.row contribution hole; bilingual UI (en/zh); no fallback UI form.

Details

Recent updates

Per-provider-route balance lines in Models settings; refresh per route; key stays host-side (loopback RPC, browser sends route id only); configurable provider directory; bilingual card.

FAQ

Does the API key reach the browser?
No — the browser sends only the route id; the host resolves the endpoint and credential from the configuration plane and queries /user/balance server-side over a loopback-pinned RPC channel.
Which providers are shown?
Only routes listed in the providers configuration — each row displays the balance behind that route's stored key with its own refresh control.
What happens on older harness builds?
The plugin needs the Models page's settings.models.row contribution hole; on builds without it, it reports an explicit load failure instead of degrading silently.

Alternatives

YZz-S/dsh-billing-balance · Wanbinyu/dsh-billing · Liu-ty/dsh-balance-display

More plugins in Coding & Development

Browse more in Coding & Development

Guides for Coding & Development plugins