dsh-cost-balance-pro:输入框下方的会话花费/余额统计条

前言

用 DSH 跑会话时,本次对话花了多少钱、余额还剩多少,通常要另开页面翻账单。DeepSeek 自 2026-08-17 起执行峰谷计费,同一模型不同时段单价不同,手动核对成本更麻烦。

社区已有 dsh-cost-balance 做过类似的事,但原版存在槽位 id 冲突、ctx 传递错误等问题,统计条可能从未渲染出来,甚至挂掉整个前端。dsh-cost-balance-pro 在其基础上修复了这些问题。下面介绍它的定位、功能、安装方式,以及相对原版改了什么。

这是什么

dsh-cost-balance-pro 是一个 DSH 插件,作者为 kingcharleslzy-ai,许可证 MIT,客户端平台为 web。一句话定位:输入框下方可见文字的会话花费/余额统计条,带设置页与一键还原。

核心功能

折叠态直接显示 余额(¥)· 本次花费($),点击展开明细面板,内容为缓存命中 / Token / 花费 / 余额。

峰谷计价

DeepSeek 自 2026-08-17 起执行峰谷计费,2026-08-23 起高峰仅限周一至周五,周末全天谷价。高峰时段为 UTC 01:00-04:00 与 06:00-10:00(北京 09:00-12:00 / 14:00-18:00),谷价为峰价一半。

插件按当前时段自动计价:

  • 折叠态显示峰/谷徽标,峰为橙色、谷为绿色
  • 展开面板显示当前时段说明

价格自动同步(v0.2.0+)

1、启动时及每 12 小时抓取官方英文定价页。

2、自动识别新模型与价格变化(如 deepseek-v4-flash-vision-exp),无需升级插件即可跟随官方价。

3、抓取失败时回退到上次缓存,再回退到内置默认价。

价格优先级:用户显式配置 > 官方同步 > 内置默认价。同步结果缓存于 $DSH_HOME/dsh-cost-balance-pro-prices.json

内置默认价兜底覆盖 V4-Flash / V4-Flash-Vision / V4-Pro 的峰谷价(USD/1M):

模型 时段 缓存命中 未命中 输出
V4-Flash 0.014 0.44 1.32
V4-Flash 0.007 0.22 0.66
V4-Flash-Vision 0.014 0.44 1.32
V4-Flash-Vision 0.007 0.22 0.66
V4-Pro 0.044 1.32 3.96
V4-Pro 0.022 0.66 1.98

设置页

入口在 设置 → 插件 → 余额统计条,可调整:

  • 显示开关:余额、花费、命中率
  • 字号:10–16px
  • 颜色:跟随主题 / 灰色 / 自定义取色器
  • 一键还原

完整字段与默认值如下:

字段 类型 默认值 说明
showBalance boolean true 折叠态显示余额
showCost boolean true 折叠态显示本次花费
showHitRate boolean true 展开面板显示缓存命中率
costCurrency enum cny 花费货币:cny 人民币 / usd 美元
balanceCurrency enum cny 余额货币:cny 人民币 / usd 美元
usdCnyRate number 6.82 USD→CNY 汇率(余额/花费换算用,官方峰谷价隐含值)
fontSize number 12 折叠态字号,限制 10–16
colorMode enum auto auto 跟随主题 / mono 灰色 / custom 自定义
customColor string #8b5cf6 colorMode=custom 时的文字颜色(#RRGGBB)

配置持久化于 $DSH_HOME/dsh-cost-balance-pro.json,重启保留,保存后统计条即时刷新。

安装与启用

1、运行安装命令:

dsh plugin --profile web add dsh-cost-balance-pro

2、装后重启服务一次(或下次登录)。

3、刷新页面,即可看到输入框下方的统计条;样式去设置页调整。

覆盖价格

如果不想依赖官方同步,可在 profile 的 cordis.patch.yml 中按插件 id 覆盖整行 config,传入 prices 字段,结构如下:

{ 模型: { peak: { hit, miss, out }, offPeak: { hit, miss, out } } }

用户配置始终优先于官方同步结果。

相对 dsh-cost-balance 修复了什么

原版的问题都出在客户端装载链路上,这也是「装了却看不到」的常见原因:

  1. 槽位注册 id 改为唯一 cost-balance-pro,不再与官方统计栏冲突——原版同槽同 id 同 priority 会挂掉整个前端。
  2. ctx 经 props 传入组件——原版模块级裸 ctx 导致槽位条目渲染期 ReferenceError,药丸从未渲染成功。
  3. 折叠态从 5px 无字细线改为可见文字。
  4. 客户端工厂补上 return module.exports——缺失时加载器收到 undefined,插件静默失效。
  5. 客户端模块声明 exports.inject = ['timer']——ctx.interval 需要 timer 注入。

开发与发布

本地验证跑客户端契约测试:

npm test          # 客户端契约测试(node:test)
npm pack --dry-run

发布流程:push v* 标签触发 GitHub Actions,经 npm OIDC trusted publishing 自动发布(带 provenance)。

适用场景与注意

适合在 web 端使用 DSH、想实时看到会话花费与余额、需要跟随峰谷计价的人。如果只需要默认样式,装完即可用;想改字号、颜色或货币,去设置页调整。

两点注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证(本项目为 MIT,README 与 package.json 均有标注)。
  • 价格同步依赖官方英文定价页,抓取失败时会回退缓存与内置默认价,此时价格可能与官网存在时间差。

小结

dsh-cost-balance-pro 把会话花费与余额放到了输入框下方,峰谷计价与价格同步都自动处理,修复了原版在前端装载上的几个实际问题,适合想要「装完即见」的成本可见性的 DSH 用户。

  • 插件目录页(社区维护的独立站点,与 DeepSeek / 幻方无官方从属关系):https://www.skillhub.cn/plugins/kingcharleslzy-ai/dsh-cost-balance-pro
  • GitHub 仓库:https://github.com/kingcharleslzy-ai/dsh-cost-balance-pro
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜