在 DeepSeek Harness (DSH) 的对话界面中,通常无法直接查看单次对话花费、会话累计花费以及账户余额。xiaml666/dsh-plugin-cost 解决了这个问题。它提供基于官方价格表的精确计价,支持自动刷新价格与汇率、高峰/低谷时段同步,以及多币种显示。
安装与启用¶
安装此插件无需运行时依赖,支持从 GitHub、npm 或本地路径安装。安装完成后必须重启 dsh web 进程,客户端 bundle 名册仅在启动时组装一次。
# 从 GitHub 安装
dsh plugin --profile web add github:xiaml666/dsh-plugin-cost
# 本地开发安装
dsh plugin --profile web add link:/absolute/path/to/dsh-plugin-cost
注意:pnpm 默认会拦截 git 托管包的
prepare构建脚本。若首次安装失败,请将报错信息中的 key 加入pnpm-workspace.yaml的allowBuilds配置中重试。本包本身无需构建。
安装完成后执行重启脚本:
node scripts/restart-web.mjs
核心功能¶
该插件在 DSH 界面中提供三种维度的花费显示:
-
每轮对话花费
显示在助手回答收尾动作行,位于 token 用量、耗时之后。默认折叠,点击展开可查看模型路由、调用次数与 token 拆分明细。 -
会话累计花费
显示在输入框下方,默认每 3 秒刷新。点击后显示轮次、模型调用、已用 token、当前模型及其单价等信息。面板右下角提供设置入口。 -
账户余额
读取/user/balance接口数据,每 9 秒刷新一次(约 3 次会话刷新间隔)。余额显示的币种与会话累计保持一致,切换币种时会自动换算。
高峰与低谷时段¶
金额按官方价格表计算,并自动同步高峰/低谷时段。
- 时段判定:高峰/低谷是模型属性,非全局开关。插件会根据当前模型的费率行判断是否有低谷价。有低谷价的模型显示时段与实时单价;无低谷价的模型显示“全天同价”。
- 时区处理:插件解析官方页面的时段说明,并按用户所在时区进行展示。官网页面(中英文)的时段描述在逻辑上等价(如北京时间与 UTC+8)。
- 空闲时段:官网仅描述为“其余为空闲时段”,插件会根据高峰区间取补集反推,显示星期一到周五高峰之外的时间,以及周六、周日全天。
- 自动更新:官网改了时段,插件会在下一次刷新时自动跟上,无需更新插件。
币种与汇率¶
插件支持多币种显示,默认跟随账户币种。
- 主币种:可在面板中选择“跟随账户”(默认,即余额接口报的币种)或指定三字母代码。
- 辅助币种:可配置
secondaryCurrency,例如主显示人民币,括号显示美元。 - 汇率换算:汇率来自公开 per-USD 汇率表,按
fxRefreshHours刷新。余额读数会按当前币种换算显示,确保余额与会话累计同币种。
配置与设置¶
配置文件位于 $DSH_HOME/plugin-cost.json(Windows 通常为 C:\Users\<你>\.dsh\plugin-cost.json)。首次启动自动生成。
面板提供以下设置分区:
- 当前模型:只读,显示模型名称、高峰/低谷状态、单价详情(含未命中输入、缓存命中、输出)。
- 币种:主币种选择、辅助币种、自定义代码。
- 高峰/低谷:跟随官网或自定义时段(时区、星期、区间、低谷倍率)。
- 显示:控制账户余额、token 明细、高峰说明的显示。
- 自动更新:配置目录地址、刷新间隔及各通道状态。
注意:面板不提供费率编辑器。费率相关配置(如
routes、models)需直接修改配置文件或通过价格目录更新,面板保存时不会发送这些字段。
价格目录与路由¶
插件支持通配符路由配置,允许灵活覆盖第三方渠道的计价规则。
-
通配符支持:
deepseek-official/deepseek-flash:精确匹配deepseek-official/*:该供应商下所有模型*/deepseek-flash:所有供应商下同名的模型
-
倍率套餐:支持通过
multiplier字段对已知路由进行倍率调整。 -
价格目录:
catalog/prices.json是带外更新通道。插件内置目录,可将catalogUrl指向网络上的同结构 JSON 文件,从而在不发版的情况下更新价格。目录支持retiredAt和billAs字段,用于模型下线后的自动切换计价。
注意事项¶
- 插件以当前
dsh web进程权限运行,安装前应检查源码与许可证。 - 余额读数与当前币种一致,不会出现分裂状态。
- 价格目录中,
openai与google等供应商在默认目录中仅有元数据,无价格数据,需手动补充或通过配置文件设置。