DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

HFUT-zhengjiahao /

HFUT-zhengjiahao/dsh-balance

Verified

DeepSeek API balance, conversation token usage, and CNY cost estimation for DeepSeek Harness (DSH)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@75830178

dsh-balance

一个独立的 DeepSeek Harness Web 插件,在左侧栏底部显示 DeepSeek 官方 API 余额,并在对话输入区和设置页显示 Harness 已记录的 Token 用量与估算费用。

安装

dsh plugin 只是把参数转发给 profile 目录里的 pnpm,所以本地目录和 Git 仓库都能装。

从 GitHub 安装:

cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add github:HFUT-zhengjiahao/dsh-balance

或用本地克隆:

cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add /path/to/dsh-balance

仓库里不含任何 API Key:余额查询走 Harness 已保存的 DEEPSEEK_API_KEY 凭据。

然后重启 Web 服务。Host 与浏览器两半都是在 Web 服务启动时读取的,因此改动任一半后都需要重启 dsh web——只刷新页面不够,设置段落的值也只在注册时解析一次。

行为

  • Host 使用 Harness 已保存的 DEEPSEEK_API_KEY 调用官方 GET /user/balance。

  • 浏览器只收到币种、余额、可用状态和更新时间,不会收到 API Key。

  • 首次加载和手动刷新立即查询,后台每 60 秒刷新一次,页面重新获得焦点时也会刷新。

  • 支持 CNY、USD 等 balance_infos 币种;CNY 优先显示,其余币种显示在下方。

  • 收起侧栏时不占用 56px 图标栏,展开侧栏后显示完整余额卡,避免与进程控制按钮争夺空间。

  • 接口暂时不可用时保留上一次成功值,并显示“数据过期”。

  • 对话输入区显示当前对话累计 Token、费用和使用的模型;费用只读取 assistant/chunk / assistant/message 已记录的 usage,最终消息会替换同一步的流式样本,不重复计费。

  • 设置页的“用量与价格”支持今天、7 天、30 天和自定义日期范围,按模型查看用量,并查看每个已产生用量的会话。

  • 费用按人民币展示。费率保存的就是官方价格表上的人民币价(CNY / 1M tokens),不经过汇率折算;设置页仍可切换成美元,届时按“1 USD = ¥”汇率把人民币价折算过去。

  • 设置页的“价格”可以单独调整每个模型的缓存命中/未命中输入/输出费率,并用“恢复官方默认”回到内置的官方费率。官方来源为 https://api-docs.deepseek.com/quick_start/pricing/。

  • 内置费率核验于 2026-09-13,对应 2026-09-10 12:00(北京时间)生效的 Flash 系列调价:

    模型 缓存命中 未命中输入 输出
    deepseek-flash(DeepSeek-V4.1-Flash) ¥0.02 / ¥0.04 ¥1 / ¥2 ¥4 / ¥8
    deepseek-v4-pro(DeepSeek-V4-Pro-0813) ¥0.15 / ¥0.30 ¥4.5 / ¥9 ¥13.5 / ¥27

    高峰时段为 UTC 周一至周五 01:00–04:00 与 06:00–10:00,其余时间为空闲时段,高峰价是空闲价的两倍。

  • deepseek-v4-flash、deepseek-v4-flash-vision-exp 与内测模型 deepseek-v4.1-flash-expires-on-0910 已不在官方价格表内(前两者已退役、请求由 V4.1-Flash 承接,内测模型 2026-09-10 到期)。这些模型名不再单独定价,仍出现在历史会话里的旧用量会显示为“未定价”,不计入合计费用;旧版配置留下的这些行会在读取时被忽略。

  • 插件没有工具、模型 schema、system prompt、prompt section 或自定义 session event,不会增加模型 token;dsh-balance/usage 只是 Harness session projection 的读侧统计。

  • 已落盘但当前不在内存里的会话按 sessionProjectionCache.coldSnapshot(header, inheritedEventCount, events) 读取:日志由插件自己通过 sessionPersistence.open(id, 'read') 读出来,因为该缓存服务不访问持久层。单个会话日志读取失败只会被单独列出(界面显示“日志读取失败”),不会让整段时间范围的汇总失败。

价格表维护

官方调价后需要同时改两处,它们必须一致:

  • index.js 的 DEFAULT_PRICE_SETTINGS.models(Host 实际计价用的表,以及设置页“恢复官方默认”的基准)。
  • client.js 的 DEFAULT_MODELS(“恢复官方默认”写回用户设置时用的表)。

同时把 PRICING_CHECKED_AT 与设置页里 pricingCheckedAt 的兜底日期改成核验当天。

内置表只覆盖官方价格表上现役的模型路由;只要 models 里查不到某条路由,Host 就会退回内置表,因此旧配置里遗留的历史行不会让现役模型算成 0 元。反过来,未列入内置表的第三方模型需要在设置页里手填费率,否则会显示“未定价”。

settings.yaml 里的 dsh-balance.models 只存用户覆盖项:它为空对象时就是在使用内置的官方表,currency 与 usdToCny 仍按正常设置读写。这样官方再次调价时,只要更新上面两张表并重启,存量配置会自动跟上,不需要用户重新保存一次价格;在设置页点“保存价格”或“恢复官方默认”则会把当前费率固化进这个字段。已退役的路由(RETIRED_MODEL_ROUTES)即使被写进这个字段也不会生效。

版本

  • 0.3.1:修复设置页“用量与价格”读取失败——coldSnapshot 是按 (header, inheritedEventCount, events) 三参数调用的,旧代码只传了 session id,于是 SessionLogOffset 收到 undefined 并抛错(界面显示 SessionLogOffset must be a non-negative safe integer, got undefined),所有区间汇总都会失败。现在插件自己用 sessionPersistence.open(id, 'read') 读出完整日志再交给缓存。
  • 0.3.0:价格表改用官方人民币价,基准路由从 deepseek-v4-flash 更正为现役的 deepseek-flash(这正是此前用量显示“未定价”、费用算不出来的原因);deepseek-v4-pro 由旧美元价更新为官方人民币价;三个已退役模型名不再定价;默认展示货币改为人民币。Host 计价多了一层内置表兜底。
  • 0.2.0:加入 Token 用量与费用估算、设置页“用量与价格”。
  • 0.1.0:侧栏余额卡片。

移除

pnpm dsh plugin --profile web remove dsh-balance
—/ 5

No ratings yet

Verified DSH bundle

Commit 75830178b845

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout