JonyChan8394/dsh-llm-balance
Show LLM API balances under the chat input: DeepSeek, OpenRouter, SiliconFlow and any custom provider with a balance endpoint. DSH plugin.
Listed
1
Usage
Bundle verified
Preview
What it does
Multi-provider LLM API balances under the chat input, with presets for DeepSeek, OpenRouter and SiliconFlow.
Best for
- DSH users with several configured LLM providers who want balances displayed together below the chat input.
- Users of DeepSeek, OpenRouter, SiliconFlow, Moonshot, MiniMax, StepFun, or Zhipu balance endpoints.
- Deployments that need a custom provider balance endpoint and recharge link configured alongside presets.
Not ideal for
- Providers without a public balance API, where the plugin can only report that querying is unavailable.
- Providers without a configured API key, because they are hidden from the balance strip.
- Users who need usage-based cost attribution or invoices rather than current account balances.
README
dsh-llm-balance
| English | 中文 |
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
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:JonyChan8394/dsh-llm-balance in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.