README
dsh-balance-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

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/dataclient.js: browser-side plugin, injects intosidebar.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 thezstdCLI 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
更多「用量与计费」插件
dsh-cost-meter
作者 han-1413141
DeepSeek Harness 会话费用统计与opencode go额度显示,类codex token热力图插件:本会话费用、当日费用、预算费用显示、历史记录与官方价格同步
tokdash
作者 jingbiaomei
Agent Dashboard: Visualization and analytics for Sessions and Quota Usage. Track, analyze, and optimize token usage across providers with heatmaps, cost tracking, token counting and quota resets..
dsh-usage-stats
作者 ychris12138
Token usage heatmap, per-model breakdowns, and DeepSeek account balance for the DeepSeek Harness Web GUI (dsh web).
tokenledger
作者 zh667
Relay-site attributed token usage for DeepSeek Harness — zero config, no credentials
