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.
Install
dsh plugin --profile web add dsh-provider-billingnpm 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
- Repo: ZeroingIn/dsh-provider-billing
- Category: Coding & Development
- Stars: 1
- Version: npm dsh-provider-billing 0.1.1
- Last push: 2026-08-14
- First seen: 2026-08-14
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