dshbase

Plugin directory / Developer / dsh-balance-plugin

dsh-balance-plugin

Verified · install-tested on dsh stevenx65

✓ Actively maintained Builds on 3 official DSH packages

View on GitHub ↗ ← Back to plugin directory

7Stars
0Forks
0Open issues
JavaScriptLanguage
2026-08-14Last push
Cross-platformPlatform

What it does

(no description)

✅
Our take
Works — verified, early-stage project

(no description) 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-plugin

Awesome DSH Plugin

A DeepSeek Harness (dsh) web plugin: shows DeepSeek API balance and token usage at the bottom of the web sidebar (port 3080), with a Today / All-time toggle, filtered by provider (only deepseek-official, ignoring other vendors).

Features

  • 💰 Balance: calls DeepSeek's official GET /user/balance, reusing dsh's credentials (~/.dsh/.credentials.yaml) — no manual key entry
  • 📊 Token usage: reads dsh session logs (session.jsonl.zstd), aggregates by provider
    • Uncached input / cache read / output / model call count
  • 🔄 Today / All-time toggle: today (Beijing time) or full history
  • 🎨 Auto-adapts to light/dark theme

Screenshot

dsh-balance-plugin

Install (from the plugin market)

dsh plugin --profile web add dsh-balance-plugin

Restart dsh web, then refresh the page — a balance button appears at the bottom of the sidebar.

Architecture

Browser (3080 page)
  client.js ──fetch──▶ /dsh-balance/data?scope=today|all
                              │
node side (index.js, inside the dsh process)
  ├── credentials.resolve("DEEPSEEK_API_KEY")  ← reuses dsh's key
  ├── fetch(https://api.deepseek.com/user/balance)
  └── decompress ~/.dsh/sessions/*/*/session.jsonl.zstd
      filter assistant/message rows + provider=deepseek-official
  • index.js: node-side cordis plugin, registers HTTP route /dsh-balance/data
  • client.js: browser-side plugin, injects into sidebar.footer.action (sidebar bottom button + floating panel)
  • package.json: dsh.bundle + dsh.client.platform: "web" + exports["./client"]
  • cordis.patch.yml: bundle patch registering the node entry

Manual install

mkdir -p ~/.dsh/profiles/web/node_modules/dsh-balance-plugin
cp index.js client.js cordis.patch.yml package.json ~/.dsh/profiles/web/node_modules/dsh-balance-plugin/

Then add to ~/.dsh/profiles/web/cordis.patch.yml:

- insert:
    - id: dsh-balance
      name: dsh-balance-plugin

Restart dsh web and refresh the browser.

Dependencies

  • node side: Node built-ins only (node:fs, node:child_process, node:path); requires the zstd CLI for decompressing session logs
  • browser side: @deepseek-ai/dsh-client-ui-primitives (peer dep, ships with dsh 0.1.0-rc.6)

Data source

Session logs at ~/.dsh/sessions/<scope>/<session-id>/session.jsonl.zstd. Each assistant/message row:

{
  "type": "assistant/message",
  "time": 1786635270943,
  "data": {
    "message": { "source": { "kind": "model", "provider": "deepseek-official", "model": "deepseek-v4-pro" } },
    "usage": { "inputTokens": 8702, "outputTokens": 298, "cacheReadTokens": 0 }
  }
}

Pack

npm pack   # produces dsh-balance-plugin-0.1.0.tgz

License

MIT

Install

🧩 Let your agent install it (recommended)

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-plugin for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

Web profile:

dsh plugin --profile web add dsh-balance-plugin

Headless (CLI) profile:

dsh plugin --profile headless add dsh-balance-plugin

Package

npm: dsh-balance-plugin · version 0.1.0 · tested on dsh 0.1.0-rc.6

Test report

Verified end-to-end: L1 install + L2 load + L3 runtime Q&A on dsh 0.1.0-rc.6.

When to use it

Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.

Who it's for

Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.

For developers — extending it

The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7797 plugins →