前言¶
在 DeepSeek Harness(DSH)里跑对话时,界面会给出 token 分项:未缓存输入、缓存读取、缓存写入、输出。这些数字能说明「用了多少」,但很难直接对应「花了多少钱」——尤其 DeepSeek 官方价目表还区分峰谷时段,同一桶 token 在不同时段单价不同。
若你已经在用社区挂件 dsh-whale-widget 做余额观测,会希望用量弹窗里的估算与挂件口径一致。下面介绍维护者 O789Real 发布的客户端插件 dsh-usage-cost:它在 DSH 自带的「用量」弹窗中,把每一行 token 右侧追加人民币金额,并在末尾增加合计行;价目与峰谷规则与 dsh-whale-widget 同源(DeepSeek 官方 CNY 价目表 + 峰谷价)。
这是什么¶
dsh-usage-cost 是标准 DSH bundle 插件(npm 包名 dsh-usage-cost,当前版本 0.2.0,MIT 许可证)。维护者在 DSH 0.2.0-rc.2(桌面端 / Web)上开发与验证;package.json 声明兼容 dsh 版本 >=0.2.0-0 <0.3.0-0。
插件分宿主半(lib/index.js:注册静态路由、向页面注入加载脚本)与浏览器半(assets/usage-cost.js:价目、峰谷、标注、回执)。它不读会话、不记账、不介入模型请求,只在官方已有 DOM 上追加节点,全局对所有会话自动生效,无需逐会话开关或额外按钮。
核心功能¶
覆盖的两个弹窗¶
- 每条回答下方「用量 xx」胶囊打开的 本轮用量 弹窗。
- 输入框下方 Token 用量 会话级胶囊打开的弹窗。
界面效果¶
在每行 token 数字右边显示对应金额,并在 dl 末尾追加「本轮费用」或会话级合计。示例(来自项目 README):
本轮用量 888,131 tok
─────────────────────────────────────────────────────────────
提供方 / 模型 deepseek-account/deepseek-flash
缓存命中 99.97%
未缓存输入 296 tok ¥0.000592
缓存读取 886,912 tok ¥0.0355
缓存写入 0 tok ¥0.00
输出 923 tok ¥0.007384
本轮费用 ¥0.0435(高峰价)
定价口径¶
- 单价单位:元 / 百万 token,每类 token 为
[空闲价, 高峰价]二元组。 - 支持的模型价目(README 表格):
deepseek-flash(含旧名deepseek-v4-flash等):缓存命中 0.02 / 0.04,未命中 1 / 2,输出 4 / 8。deepseek-v4-pro:缓存命中 0.15 / 0.30,未命中 4.5 / 9.0,输出 13.5 / 27.0。- 峰谷:北京时间周一至周五(不含法定节假日)9:00–12:00、14:00–18:00 为高峰;其余时段(含周末、调休上班的周末、法定节假日全天)按空闲价;高峰价 = 空闲价 × 2。
- 本轮用量弹窗:峰谷按该轮实际发生时刻判定(从打开中的胶囊回溯到
[data-turn-tail],读取该轮动作行末尾时钟),不是按你点开弹窗的时刻。合计行会标注(高峰价)/(谷价)。 - 会话级 Token 用量合计跨多轮,无法归到单一时段,按当前时段单价估算,括注
(按当前时段价)。 - 金额是本地估算,不是官方账单;与小鲸鱼挂件「每轮消耗」口径一致,真实消费仍以官方账单及挂件余额观测为准。
运行时特性¶
- 使用 MutationObserver 与 1.5s 轮询兜底,官方重渲染后自动补回标注。
- 仅使用 Node 内置模块,无运行时 npm 依赖;浏览器半为经典脚本(非 ES 模块)。
安装与启用¶
插件以当前 DSH 进程权限运行。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。
推荐:DSH CLI 一行安装¶
--profile 换成你的 profile 名(桌面端一般为 desktop,纯 Web 部署常见 web):
dsh plugin --profile desktop add dsh-usage-cost
也可在 DSH 设置 → 插件 中安装。本地开发可指向源码目录:
dsh plugin --profile desktop add link:/绝对路径/dsh-usage-cost
Windows:PowerShell 脚本¶
powershell -ExecutionPolicy Bypass -File .\install.ps1
卸载:
powershell -ExecutionPolicy Bypass -File .\uninstall.ps1
默认安装到 E:\deepseekharness\.dsh\profiles\desktop;换 profile 时使用 -ProfileDir "<路径>"。
装完如何生效¶
| 界面 | 操作 |
|---|---|
| 桌面端应用窗口 | 完全退出并重开 DeepSeek Harness(注入表在宿主启动时收集,无热刷新)。 |
浏览器访问 http://127.0.0.1:<port>/ |
刷新页面(F5)即可。 |
仅修改 assets/usage-cost.js 时刷新页面即可;修改 lib/index.js 需重启 DSH。
典型用法与改价¶
安装并重启(或刷新)后,正常使用 DSH 对话即可:点击用量胶囊打开弹窗,金额会自动出现在 token 右侧。无需配置即可使用内置价目表。
若 DeepSeek 官方调价,可在 <DSH_HOME>/usage-cost-pricing.json 覆盖部分字段,无需重启或刷新,每次打开弹窗会读取最新值。示例:
{
"currency": "¥",
"models": {
"deepseek-flash": { "hit": [0.02, 0.04], "miss": [1, 2], "out": [4, 8] },
"my-gateway-model": { "hit": [0.1, 0.2], "miss": [2, 4], "out": [8, 16] }
},
"peakHours": [[9, 12], [14, 18]],
"holidays": { "2027-01-01": 1 }
}
内置价目表位于 assets/usage-cost.js 顶部 @pricing-core 标记之间;官方调价时浏览器半与可选覆盖文件两处都需与 dsh-whale-widget 保持同步。每年 11 月国务院发布次年放假安排后,需补充节假日日期(插件内 HOLIDAY_VALLEY 与挂件侧均需更新)。
自检与排障¶
界面未出现金额时,可按 README 建议顺序检查:
http://127.0.0.1:19387/dsh-usage-cost/health是否返回 200(宿主半与路由)。- 响应中
clientJsServed是否大于 0(页面是否拿到客户端脚本)。 http://127.0.0.1:19387/dsh-usage-cost/report中的census(弹窗与胶囊是否被脚本识别)。
其他诊断入口:/dsh-usage-cost/pricing.json(当前生效价目)、<DSH_HOME>/usage-cost-host.log、<DSH_HOME>/usage-cost-report.jsonl。仓库内可运行 npm test 做离线探针(语法、价目、假 DOM 标注行为)。
适用场景与注意¶
适合谁:在 DSH 里频繁查看 token 分项、希望就地看到人民币估算、且已与或计划配合 dsh-whale-widget 对数的开发者与用户。
边界(README「已知边界」):
- 会话级合计仅为当前时段估算,界面已标明。
- 主要识别中英文官方 locale 行标签;其他语言可能走文字兜底,存在标不出的情况。
- 官方若大幅改动用量弹窗 DOM 或去掉轮次时钟,可能影响峰谷回溯或标注。
- 插件目录(如 SkillHub 插件页)为社区收录,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,安装第三方 bundle 前请自行审阅代码。
结尾¶
dsh-usage-cost 把 DSH 自带用量弹窗从「纯 token 计数」扩展为「token + 按轮次峰谷的 CNY 估算」,并与 dsh-whale-widget 共用同一套官方价目与峰谷规则。若你需要在对话界面里直接对账每一轮的输入/输出成本,可先按上文命令安装,重启或刷新后即可在两种用量弹窗中看到金额。