stevenx65/dsh-balance-plugin
dsh 网页侧边栏的 DeepSeek 余额与 token 用量监控:今日/累计切换,并按 provider 过滤其他厂商。
已收录
7
Usage
Bundle 已验证
预览
功能介绍
dsh 网页侧边栏的 DeepSeek 余额与 token 用量监控:今日/累计切换,并按 provider 过滤其他厂商。
适合
- 希望在 DSH Web 侧边栏查看 DeepSeek API 当前余额和 token 用量的用户。
- 需要对比北京时间今日用量与全部历史用量的团队。
- 希望面板只统计 deepseek-official 活动的多 provider DSH 用户。
不适合
- 需要统计 deepseek-official 之外 provider 用量或余额的用户。
- 缺少解压 session 日志所需 zstd CLI 的环境。
- 没有可复用 DeepSeek 凭据,或无法访问官方余额接口的部署。
- 侧边栏面板无法发挥作用的 headless 或非 Web profile。
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/data -
client.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 的终端中执行已验证命令 dsh plugin --profile default add github:stevenx65/dsh-balance-plugin。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。