dsh-balance-widget

usageinstall failsnpmMIT

A balance and cost widget for the DSH web GUI: a sidebar footer card shows the account balance, a remaining-ratio bar and today costs; clicking opens a four-tier cost breakdown (last prompt / this session / today-this-project / today-all) with term explanations and a one-click top-up link. Zero exte

下载量 / Downloads
3,729
依赖体积 / node_modules
208.09 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

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

Sandbox test results

StageResult
1 install✗
2 list—
3 mount—
4 boot—
First error
dsh: initialized profile web at /home/node/.dsh/profiles/web

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-balance-widget

中文 | English

![npm](https://www.npmjs.com/package/dsh-balance-widget)

![Stars](https://github.com/LL-cmyk-so/dsh-balance-widget)

![License](https://github.com/LL-cmyk-so/dsh-balance-widget/blob/main/LICENSE)

![Last commit](https://github.com/LL-cmyk-so/dsh-balance-widget)

![Node 24](https://nodejs.org)

![Zero deps]()

DeepSeek Harness (DSH) Web GUI 与桌面版通用的余额与成本小部件:侧边栏底部常驻卡片显示账户余额与今日花费,点击弹出五层级成本明细(余额 / 最近提问·标注会话名 / 今日·本会话 / 今日·本工作区 / 今日·所有工作区)。

效果预览

侧边栏卡片(左下角常驻) · 点击弹出五层级成本

!侧边栏卡片 · !成本明细弹框

与同类插件的区别

特点 · 本插件 · 同类插件(dsh-balance / dsh-token-price 等)

零外部依赖 · ✅ 不 import 任何 @deepseek-ai/* 包,无原生模块 · ❌ 多数依赖 dsh SDK 包

Node 24 兼容 · ✅ 天然兼容(零依赖设计),任何 profile 布局可加载 · ⚠️ 不少社区插件在 Node 24 下报错

启动稳定性 · ✅ 用官方 ctx.webServer 注册路由,不与 apiproxy 冲突 · ⚠️ 有的自建 HTTP 服务导致 dsh web 启动崩溃

常驻自动刷新 · ✅ 侧边栏卡片每 60s 自动刷新余额与成本,弹框点击即强刷 · 有的常驻徽章定时刷新

峰谷定价 · ✅ 内置官方 2026-09-10 峰谷价表,启动时与每 12h 自动从官方页刷新 · 部分支持

安全性 · ✅ API key 仅在宿主进程,loopback-only 守卫 · 参差不齐

一句话:零依赖、Node 24 就绪、在 dsh web 与桌面版都不拖垮启动的余额/成本小部件。

功能

  • 账户余额 — 余额优先取自宿主账号服务 deepseekAccount(由 @deepseek-ai/dsh-deepseek-account-platform 提供,即官方「设置 → 账号与余额」页的同一来源,因此两处显示同一个数字,且不需要 API Key);未登录或旧版宿主(0.1.x)时回退到 DeepSeek 官方 GET /user/balance。展示 ¥ 余额,按阈值自动变色(充足 / 低于 lowThreshold 变黄 / 低于 criticalThreshold 变红);API key 只在宿主进程内读取(凭据服务),浏览器不接触密钥。
  • 最近一次提问成本(估算) — 从最近活跃会话文件解析最后一个 turn 的 token 用量 × 单价,回答"刚才那条提问花了多少";下方标注该会话的会话名。
  • 今日·本会话成本(估算) — 当前会话今天(自然日)产生的 token 用量 × DeepSeek 官方峰谷定价表计算,随当前会话模型(默认 deepseek-v4-flash,可在配置中改为 deepseek-v4-pro)与北京时间高峰/空闲时段自动切换。
  • 今日·本工作区成本(估算) — 遍历当前工作区(由当前会话锚定)下的所有会话,累加今天的 token 用量 × 单价。
  • 今日·所有工作区成本(估算) — 遍历 ~/.dsh/sessions/ 下所有工作区的所有会话,累加今天的 token 用量 × 单价。
  • 峰谷状态标签 — 卡片金额前的状态圆点按当前时段着色(峰时琥珀 / 谷时绿色),弹框标题旁显示「峰时/谷时」标签,悬停可查看当前价格档位(输入/输出单价)。
  • Token 用量 — 同时展示输入(含缓存命中)/ 输出 token 数。
  • 一键充值 — 弹层底部「去充值」链接直达 DeepSeek 官方充值页(platform.deepseek.com/top_up),新窗口打开。
  • 侧边栏常驻卡片 — 侧边栏底部(设置上方)显示余额 + 今日花费,全局可见;每 60 秒自动刷新(余额走官方接口、成本为本地会话解析),打开弹框时也会立即刷新一次,无需手动操作。
  • 余额数字变色预警 — 余额数字按三档着色:充足(默认色)→ 琥珀(低于 lowThreshold)→ 红色(低于 criticalThreshold),一眼判断余额健康度。
  • 官方价格自动同步 — 启动时 + 每 12 小时抓取 DeepSeek 官方定价页,改价自动跟进;失败回退内置价目表。
  • 模型工具查询 — 新增 deepseek_billing 工具,可直接问模型"余额多少/今天花了多少"。

架构

host 半区 (lib/index.js)
  ctx.webServer.register:
    GET /api/dsh-balance/balance     → 官方 /user/balance(loopback-only 守卫)
    GET /api/dsh-balance/active-cost → 最近活跃会话的最近提问 + 今日·本会话(含会话名)
    GET /api/dsh-balance/today-cost  → 今日成本(双值:当前工作区 + 所有工作区)
  依赖:零外部 @deepseek-ai/* import,任何 profile 布局均可解析
  另有 deepseek_billing 工具供模型直接查询余额/成本

client 半区 (lib/client.js)
  ctx.slots.inject("sidebar.footer.action")
    → 侧边栏底部常驻卡片(余额 + 今日花费,峰/谷时段状态圆点;侧边栏收起时变为 36×36 图标按钮)
    → 点击弹出五层级成本明细 + 峰谷标签 + ⓘ 名词解释

安装

npm 安装(发布后):

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

GitHub 仓库安装(开发调试):

git clone https://github.com/LL-cmyk-so/dsh-balance-widget.git
cd dsh-balance-widget
dsh plugin --profile web add "link:$(pwd)"

装完重启 dsh web 生效。

桌面版(DeepSeek Harness.app)同样支持,安装目标是 desktop profile:可在桌面版侧边栏的「插件」面板里安装,或把包加进 ~/.dsh/profiles/desktop/package.json 的依赖与 dsh.profile.bundles;装完重启桌面版生效。桌面版由 GUI 启动,本插件不依赖外部命令行,无需额外配置 PATH。

配置

配置文件在哪

DSH 的插件配置统一放在这个文件里:

~/.dsh/profiles/web/cordis.patch.yml

说明:~ 是你的用户主目录(macOS 是 /Users/你的用户名)。

全部配置项

在 cordis.patch.yml 中追加以下内容(只改你需要的那几行,其余保持默认即可):

- id: balance-widget
  name: dsh-balance-widget
  config:
    balanceBaseURL: https://api.deepseek.com   # 官方余额接口(一般不用改)
    balanceApiKeyEnv: DEEPSEEK_API_KEY          # 凭据服务中的密钥 ref(一般不用改)
    requestTimeoutMs: 5000                      # 余额查询超时(毫秒)
    modelId: deepseek-v4-flash                  # 成本计价模型(可改 deepseek-v4-pro)
    lowThreshold: 5                             # 余额低于此值(¥)图标变黄提醒
    criticalThreshold: 1                        # 余额低于此值(¥)图标变红警告

示例:调整余额预警阈值

默认余额 低于 ¥5 变黄、低于 ¥1 变红。想改成"低于 ¥10 提醒、低于 ¥3 警告":

- id: balance-widget
  name: dsh-balance-widget
  config:
    lowThreshold: 10
    criticalThreshold: 3

改完重启 dsh web 生效。

示例:成本按 V4-Pro 计价

如果主要使用 DeepSeek-V4-Pro 模型,把计价模型改掉,成本估算更准:

- id: balance-widget
  name: dsh-balance-widget
  config:
    modelId: deepseek-v4-pro

注意:官方已公告 V4-Pro 将于北京时间 2026-09-14 12:00 下线——此后 V4-Pro 请求会被路由到 V4.1-Flash 并按 Flash 计费。若在这之后仍配置 deepseek-v4-pro,估算会偏高,建议使用默认的 Flash 档。

提示:cordis.patch.yml 可能有其他插件的配置行,追加时注意不要改动已有的行,只加新内容。

定价说明

内置 DeepSeek 官方 2026-09-10 峰谷定价(元 / 百万 tokens),高峰时段为北京时间周一至周五(不含中国法定节假日) 09:00–12:00、14:00–18:00;其余时段全部为空闲时段,包括周末(含调休上班的周六/周日)与中国法定节假日全天,价格为空闲时段两倍。

模型 · 时段 · 缓存命中(输入) · 缓存未命中(输入) · 输出

V4.1-Flash · 空闲 · 0.02 · 1.0 · 4.0

V4.1-Flash · 高峰 · 0.04 · 2.0 · 8.0

V4-Pro · 空闲 · 0.15 · 4.5 · 13.5

V4-Pro · 高峰 · 0.30 · 9.0 · 27.0

官方页当前只列 deepseek-flash 与 deepseek-v4-pro 两列;deepseek-v4-flash、deepseek-v4-flash-vision-exp、deepseek-chat 等旧名仍可调用,按 Flash 价计费。插件在启动时与每 12h 从官方页重新解析,只有解析失败才回退上表。成本为估算值,实际以官方账单为准。

会话内所有模型调用都计入

凡是日志里带 usage 的模型调用都按官方峰谷单价精确计价,包括容易被漏掉的那类

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::21,最后更新 2026-10-20

Links

GitHub · Homepage · npm

Same category