Plugin directory / UI & Skins / dsh-balance
dsh-balance
Verified · install-tested on dsh HiNEM66
What it does
Show DeepSeek account balance in the corner of the DSH UI.
Works — verified, early-stage project
Show DeepSeek account balance in the corner of the DSH UI. It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. 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-balance
A DeepSeek Harness (dsh) web profile plugin that puts a DeepSeek API balance button in the sidebar foot, right above the Settings entry.
- One click → popover with total / granted / topped-up balance per currency, with refresh and close actions
- Optional inline display: show the balance on the button itself without opening the popover
- Optional auto refresh: re-query the balance in the background every N conversation turns
- Full settings page (余额 / Balance) in the Settings panel: enable/disable the plugin, inline display, auto-refresh interval
- Cosmetic touch: shrinks the built-in Cordis Plugin badge at the sidebar foot to a compact round icon so both buttons share the row cleanly
- Clicking anywhere outside the popover closes it
The API key is never embedded: it resolves per request from the DSH credential seam (~/.dsh/.credentials.yaml → DEEPSEEK_API_KEY, or the ambient environment variable).
Install
# 1. install the package into your web profile (pnpm under the hood)
dsh plugin --profile web add github:HiNEM66/deepseek-harness-balance
# 2. register the bundle patch layer: edit ~/.dsh/profiles/web/package.json
# and add "dsh-balance" to the "dsh.profile.bundles" array, e.g.
# "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-balance"]
# 3. restart the web GUI
dsh web
Alternative to step 2: add the row by hand to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: dsh-balance
name: dsh-balance
Requires the
DEEPSEEK_API_KEYcredential (set it in~/.dsh/.credentials.yaml
or through the dsh Models page). The plugin itself ships no key.
Settings
Settings persist in ~/.dsh/settings.yaml under the dsh-balance: section (live-applied; edits there are picked up within ~10 s):
| Key | Default | Meaning |
|---|---|---|
enabled |
true |
Show the sidebar button and run auto refresh. Disabling hides the button without deleting anything. |
showInline |
false |
Show the balance in the button label (wide sidebar only; in the rail, hover the icon). |
autoRefreshEvery |
0 |
Refresh in the background every N closed agent turns; 0 disables. |
Requirements
- dsh
0.1.0-rc.xweb profile with the standard client modules (sidebar, settings, slots) - Windows host for the balance route (it shells out to
curl.exe); network access tohttps://api.deepseek.com
Development
No build step: lib/client.js is a hand-written, self-contained __ModuleLoader__ bundle (React comes from the shell's shared module registry), and lib/index.js is plain ESM.
npm run check # node --check both files
npm test # execute the client bundle against a fake ModuleLoader kernel
Layout:
lib/index.js host half: /deepseek-balance, /state, /config routes +
settings namespace + agent turn counter
lib/client.js client bundle: sidebar button + popover + settings page
cordis.patch.yml bundle patch: inserts the dual-face row
dsh.plugin.json plugin inventory metadata
tests/smoke.mjs bundle contract smoke test
Upgrading
dsh plugin --profile web update dsh-balance # refetches the latest commit
dsh web # restart
Releasing (maintainers)
# 1. bump "version" in package.json and dsh.plugin.json, then:
npm run check && npm test
# 2. commit (Conventional Commits) and push
git add -A && git commit -m "feat: ..."
git push origin main
# 3. tag the release
git tag v<version> && git push origin v<version>
# 4. dogfood locally: refresh the git dep to the new commit and restart
cd ~/.dsh/profiles/web && pnpm update dsh-balance
dsh web
Known limitations
- The badge-shrinking CSS targets the shipped
Nqubda_*class names; a future dsh upgrade that renames them silently restores the stock badge (the balance button is unaffected). - The client syncs settings by polling
/deepseek-balance/stateevery 10 s.
Uninstall
dsh plugin --profile web remove dsh-balance
# and drop "dsh-balance" from "dsh.profile.bundles" (or remove the row from cordis.patch.yml)
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-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:HiNEM66/deepseek-harness-balance Headless (CLI) profile:
dsh plugin --profile headless add github:HiNEM66/deepseek-harness-balance Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Change how dsh looks or how you interact with it — a theme, a skin, or a new panel that reshapes the workspace.
Who it's for
Users who spend hours in the web UI and want it to look and feel the way they work.
For developers — extending it
Skins, panels, and theme tokens are the extension points — author a new skin, add a panel, or sync tokens with an upstream palette.