dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
English | 简体中文
dsh-balance-stats 是 DeepSeek Harness Web 的余额与用量统计插件。它在对话输入框下方的
底部栏中显示三个核心读数:
余额 ¥40.22 | 本次会话 ¥0.15 | 累计消耗 42.5%
点击整行可打开详情卡,查看余额构成、Harness 本地用量估算、按模型花费、Token 用量及历史账单汇总。
确保 Node.js >=22.19.0 且 pnpm --version 可正常执行,然后运行:
npx @deepseek-ai/dsh plugin --profile web add https://github.com/pangzi499/dsh-balance-stats.git
安装后启动或重启 Harness Web,并对浏览器执行一次强制刷新:
npx @deepseek-ai/dsh web
更新:
npx @deepseek-ai/dsh plugin --profile web update dsh-balance-stats
统计栏 —— 输入框下方的余额、本次会话与累计消耗读数:
详情卡 —— 点击统计栏打开:余额构成、历史账单、按模型花费、Token 用量与账单导入入口:
balanceStatsSessionCost projection,并在其缺失时回退到服务端对同一会话的按需折叠(GET /balance-stats?s=<sessionId>),重启后不会只显示一个 —。userToken,服务端即按周期自动拉取账单并计算账务口径;token 可持久化到本机凭证文件(权限 0600),重启自动恢复,一键可清除。get_all_invoice 的 JSON 响应完成一次性导入;导入后自动强制刷新余额。服务端请求:
GET https://api.deepseek.com/user/balance
密钥默认复用 Harness credentials 中的 DEEPSEEK_API_KEY,不会发送给浏览器。
插件遍历 Harness 会话日志中的 usage 事件,按模型单价计算:
这是本地估算,可能遗漏 Harness 之外、旧日志已删除或未写入标准 usage 事件的调用。
prices 用于普通模型,以及 2026-08-17 00:00 +08:00 前的 v4 用量。该时间点后,
v4 在北京时间 09:00–12:00、14:00–18:00 使用 v4PeakPrices,其余时段使用
v4OffPeakPrices。三组价格均可配置。
折叠口径是确定性的,与你何时查看无关:
(turn, step) 的用量样本替换旧样本而非重复计费;llm/retry-started 会关闭对应的替换槽,重试时保留被替换那一次尝试的花费。unknown 日,仍计入总额但不进日期窗口。历史计价从不使用「当前查看时刻」。inputTokens 中扣除。totalCost、costByModel、costByDay 与各会话花费之和恒等。DeepSeek 公开余额 API 不返回历史总充值。如需账务口径,有三种方式:
方式一:账单自动获取(推荐)
copy(localStorage.userToken) → 回到卡片粘贴并点「保存」。~/.dsh/.credentials.yaml(权限 0600),之后按
invoiceRefreshIntervalMs(默认 6 小时)自动刷新,重启 dsh web 也自动恢复。方式二:手动粘贴 JSON(无需凭证)
https://platform.deepseek.com/。https://platform.deepseek.com/auth-api/v0/users/get_all_invoice 的 JSON 响应。方式三:环境变量 / 配置
将 token 写入 Harness credentials 的 DEEPSEEK_PLATFORM_TOKEN
(或 cordis.patch.yml 的 platformToken、同名环境变量),插件启动即自动开启。
插件仅统计 payment_order_status === "SUCCESS" 的充值订单,并单独累加有效赠送订单。
账务总额 = 历史总充值 + 历史总赠送
账务总消费 = max(0, 账务总额 - 当前总余额)
累计消耗 = 账务总消费 / 账务总额 × 100%
未导入账单时:
累计消耗 = Harness 本地估算总花费
/ (当前可用总余额 + Harness 本地估算总花费)
× 100%
get_all_invoice,也不会保存任何 DeepSeek Platform 凭证。userToken 并点击保存后,插件才会以该 token 请求账单接口,并把 token
写入本机 Harness 凭证文件 ~/.dsh/.credentials.yaml(权限 0600,由 Harness credentials
provider 托管写入)。点击「清除」即从该文件移除。platform.deepseek.com 之外的任何地址。get_all_invoice 属于 DeepSeek Platform 的登录态私有接口,响应结构可能变化。请不要向他人分享
userToken、Cookie 或包含订单明细的原始 JSON。
0.1.0-rc.6 ~ 0.1.5-rc.2 上验证>=22.19.0PATH 中可用(Harness 使用 pnpm 管理 profile 插件;缺失时见安装)24.19.0DeepSeek Harness 尚处于开发者预览阶段,插件所使用的槽位和客户端接口可能随上游版本变化。
这是 DeepSeek Harness 社区插件,不是 @deepseek-ai 官方插件。
安装 GitHub 默认分支的最新版本:
npx @deepseek-ai/dsh plugin --profile web add https://github.com/pangzi499/dsh-balance-stats.git
npx @deepseek-ai/dsh web
源码仓库:https://github.com/pangzi499/dsh-balance-stats
也可以从 GitHub Release 下载 dsh-balance-stats-0.3.2.tgz,再按下方 tarball 方式安装。
Harness 使用 pnpm 管理 profile 插件,安装前先检查:
pnpm --version
command -v pnpm
如果提示 pnpm: command not found 或没有输出,可通过 Corepack 安装:
corepack enable
corepack prepare pnpm@10 --activate
pnpm --version
如果当前 Node.js 环境没有 Corepack,可改用 npm:
npm install --global pnpm@10
pnpm --version
npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-balance-stats
npx @deepseek-ai/dsh web
打包:
cd /path/to/dsh-balance-stats
npm pack
安装:
npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-balance-stats-0.3.2.tgz
npx @deepseek-ai/dsh web
安装后对浏览器执行一次强制刷新(macOS:Command + Shift + R;Windows/Linux:Ctrl + Shift + R)。
GitHub 一键安装的插件,更新命令见上方「一句话安装」。
本地目录或 tarball 安装:使用新版本路径再执行一次 add,然后重启 dsh web。
在 $DSH_HOME/profiles/web/cordis.patch.yml 中覆盖插件配置。配置层为整体替换,所以请重述需要保留的键:
- id: dsh-balance-stats
config:
apiKey: ''
apiKeyRef: DEEPSEEK_API_KEY
baseUrl: https://api.deepseek.com
refreshIntervalMs: 300000
clientPollIntervalMs: 30000
timeoutMs: 8000
currency: CNY
platformToken: ''
platformTokenRef: DEEPSEEK_PLATFORM_TOKEN
invoiceRefreshIntervalMs: 21600000
platformBaseUrl: https://platform.deepseek.com
prices:
deepseek-chat: { cacheHit: 0.1, cacheMiss: 1, output: 2 }
deepseek-reasoner: { cacheHit: 1, cacheMiss: 4, output: 16 }
deepseek-v4-flash: { cacheHit: 0.02, cacheMiss: 0.1, output: 0.2 }
deepseek-v4-pro: { cacheHit: 0.025, cacheMiss: 3, output: 6 }
v4PeakPrices:
deepseek-v4-flash: { cacheHit: 0.10, cacheMiss: 3.0, output: 9.0 }
deepseek-v4-pro: { cacheHit: 0.30, cacheMiss: 9.0, output: 27.0 }
v4OffPeakPrices:
deepseek-v4-flash: { cacheHit: 0.05, cacheMiss: 1.5, output: 4.5 }
deepseek-v4-pro: { cacheHit: 0.15, cacheMiss: 4.5, output: 13.5 }
defaultPrices: { cacheHit: 0.1, cacheMiss: 1, output: 2 }
优先使用 apiKeyRef / platformTokenRef 引用 Harness credentials。不要在要分享的 cordis.patch.yml 中写入真实 API Key 或平台 token。
账单自动获取相关键:
platformToken:直接写入的平台 token(明文,不推荐;推荐留空走 UI 保存或 credentials)platformTokenRef:凭证引用名(默认 DEEPSEEK_PLATFORM_TOKEN;UI 保存即写入该引用对应的凭证文档条目)invoiceRefreshIntervalMs:账单自动刷新间隔,默认 21600000(6 小时),最小 600000platformBaseUrl:DeepSeek 平台地址,一般无需修改启动 Web profile 后:
curl http://127.0.0.1:3080/balance-stats
curl 'http://127.0.0.1:3080/balance-stats?s=<sessionId>'
第一个请求返回账户快照;第二个额外返回 currentSession { cost, costByDay },只折叠该会话日志。
插件客户端 bundle 由带版本号的组合 URL 提供(/plugins/??dsh-balance-stats/client.js&rev=<hash>,
hash 取自 window.__DSH_BOOT__),因此裸路径 /plugins/dsh-balance-stats/client.js 按设计返回 404。
统计接口示例(金额仅为示例):
{
"ok": true,
"currency": "CNY",
"balances": [
{ "currency": "CNY", "total": 40.22, "granted": 0, "toppedUp": 40.22 }
],
"stats": {
"state": "ok",
"totalCost": 2.103612,
"percent": 5,
"today": 2.103612,
"day7": 2.103612,
"day30": 2.103612,
"costByDay": { "2026-09-15": 2.103612 },
"costByModel": { "deepseek-v4-flash": 1.702128 },
"tokens": { "uncachedInput": 25361491, "cacheRead": 647550144, "cacheWrite": 0 },
"sessions": 10
},
"currentSession": {
"cost": 0.258097,
"costByDay": { "2026-09-15": 0.258097 }
}
}
get_all_invoice 响应结构。userToken 在你退出平台登录后即失效,重新粘贴即可恢复自动获取。npx @deepseek-ai/dsh plugin --profile web remove dsh-balance-stats
MIT