Plugin directory / Developer / dsh-llm-balance
dsh-llm-balance
Unverified JonyChan8394
What it does
Show LLM API balances under the chat input: DeepSeek, OpenRouter, SiliconFlow and any custom provider with a balance endpoint. DSH plugin.
Unverified — not yet verified
Show LLM API balances under the chat input: DeepSeek, OpenRouter, SiliconFlow and any custom provider with a balance endpoint. DSH plugin. Not yet verified — install and test it yourself.
“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-llm-balance
Show the balances of exactly the LLM providers you have configured in dsh, right below the chat input box.
- Below the chat input — a compact readout in the composer's footer band (the seat under the input card, where the stats line lives) that refreshes automatically (default every 60 s) with a manual refresh link.
- Click to recharge — click any provider's balance (or "未开放查询API" label) to open its recharge/top-up page in a new browser tab.
- Driven by your dsh configuration — the strip shows exactly the providers registered in dsh (the Models page /
llm-pi-aisettings + the built-in adapters you use). Configure a new LLM in dsh and it appears on the next refresh; remove it and it disappears. No restart, no config editing. - No public balance API? — providers like Qwen/DashScope, OpenAI and Anthropic have a public API key but no public balance endpoint. When such a provider is configured with a key, the strip shows "未开放查询API / no balance API" instead of hiding it.
- Keys stay on the host — API keys are resolved from DSH credentials (or environment) host-side; the browser only ever sees the fetched balances.
Install
dsh plugin --profile web add github:JonyChan8394/dsh-llm-balance
Restart dsh web. The balance readout appears under the chat input as soon as at least one configured provider has a key.
Configure
Nothing to configure — the plugin follows the providers you already set up in dsh. Balance endpoints are known for these routes:
| Provider route | Balance API |
|---|---|
DeepSeek (deepseek, deepseek-official) |
✅ |
OpenRouter (openrouter) |
✅ |
SiliconFlow (siliconflow) |
✅ |
Moonshot / Kimi (moonshotai-cn, moonshotai) |
✅ |
MiniMax (minimax) |
✅ |
StepFun (stepfun) |
✅ |
Zhipu / GLM (zhipu) |
✅ |
| Any other configured provider | ❌ shows "未开放查询API" |
Each preset also ships a rechargeUrl — the provider's top-up page — opened in a new tab when you click the balance in the strip. To add a balance endpoint for a provider not in the list (e.g. an aggregator route with its own balance endpoint), override the plugin config in your profile's cordis.patch.yml:
- id: llm-balance
config:
refreshMs: 30000
endpoints:
- id: myprovider
name: MyProvider
apiKeyEnv: MYPROVIDER_API_KEY
url: https://api.example.com/v1/balance
balancePath: data.remaining
currencyPath: data.currency
rechargeUrl: https://console.example.com/recharge
A provider without a configured key is hidden from the strip; a provider whose request fails shows "获取失败 / fetch failed".
How it works
- Host half (
lib/index.js) readsctx.llm.listProviders()— the exact set of LLM routes configured in dsh — on every request. For each provider with a known balance endpoint it resolves the key throughctx.credentialsand calls the endpoint; for a configured provider with a key but no endpoint it reportserror: 'no-api'. Results are served asGET /llm-balanceJSON through the webserver route registry. - Browser half (
lib/client.js) registers aconversation.composer.dockentry (order 10) that polls/llm-balanceand renders the readout under the input card.
License
MIT
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-llm-balance for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:JonyChan8394/dsh-llm-balance Headless (CLI) profile:
dsh plugin --profile headless add github:JonyChan8394/dsh-llm-balance Test report
Not yet L3-verified — see failure note below if we already ran it.