中文EN

dsh-cache-billing

usage已测通过npmMIT

在上下文圆环弹层里实时算账:当前步、当前轮、会话累计三块明细,缓存命中/未命中/输出各带 token 与金额,官方峰谷价与模型分价自动判定,第三方中转照常记账。

下载量 / Downloads
1,811
依赖体积 / node_modules
424.55 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-cache-billing

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

DSH·缓存账单

参考 dsh-meow-cachebilling 的思路重写,默认支持第三方中转与多级账单明细。

在上下文圆环弹层里实时算账,告诉你当前步、当前轮、整个会话各自花了多少钱,好让你知道什么时候该换窗口。

第三方中转照常记账,不限定 DeepSeek 官方路由。

引言

DSH 的上下文圆环是给「上下文用了多少」看的,可真正该看的是「这花了多少钱」。缓存命中率高是好事,但上下文越长,每轮带上的缓存前缀就越贵;到了换窗口的关口,旧窗口每动一次都是给缓存付费,还未必看得到数。

所以做了这个插件,把账算到明面上:当前步、当前轮、会话累计三块账,逐笔按各自时刻的峰谷费率累加,缓存命中、未命中、输出列得清清楚楚。心里有底,才知道窗口该不该换。

哦对了,这插件不挑路由——官方也罢、SiliconFlow 这种中转也罢,只要报用量,就照样记账。中转的价格表跟官方不一样时,模型名命中价目表就按估算金额显示,宁近似,不空转。

功能

  • 第三方中转也认:不限定 DeepSeek 官方路由,provider 非空即显示,模型名命中价目表就按估算金额计价。凭空 provider 的路由不会显示。
  • 三块计时级别:从上到下依次是当前步、当前轮、会话累计。当前步是单次 API 调用,当前轮是本轮内多步累加,会话累计带步数。每块一行标题带总额与总 token,下面缩进细列缓存命中、缓存未命中、输出三行,各带 token 数与金额。
  • 会话累计:整会话的累计花费,逐笔按各自事件时刻的峰谷费率累加,跨轮不比价。会话块还有缓存失效统计:缓存失效次数与完全失效次数,部分中转会报写入量,一并显示。
  • 峰谷计价自动判定:工作日高峰时段北京时间 09:00–12:00、14:00–18:00 按峰价,其余时段、周六日及中国法定节假日全天按谷半价。与系统时区无关,纯事件时刻换算。
  • 单一模型计价与显示:只按 DeepSeek-V4.1-Flash 计价,界面统一显示「按 DeepSeek-V4.1-Flash 计价」。模型名认官方现名 deepseek-flash、历史旧名 deepseek-v4-flash 与 deepseek-v4-flash-vision-exp、以及 deepseek-v4.1-flash 及其带后缀变体;没命中白名单的模型仍按 Flash 价估算并标注实际运行模型名。低谷价 缓存命中 0.02 / 未命中输入 1 / 输出 4 元每百万 token,高峰翻倍,价格写在 src/index.ts。
  • 金额精度分级别:步四位小数、轮三位、会话两位,尾零不省,便宜到 0.0001 也看得出不是零。
  • 高峰期圆环换色:处于峰价时段时,输入框右侧的上下文圆环进度圈换成琥珀色,不用点开弹层就知道现在发请求是峰价。判定按当前北京时刻,每分钟重判一次,与弹层里按事件时刻计价的峰谷文案各管各的。

账单底部小字标注当前是峰价还是谷价,并附「按 DeepSeek-V4.1-Flash 计价」;模型名没命中白名单时小字改为「估算」并标注实际运行模型。

效果

点开输入框右侧的上下文圆环,弹层底部就是账单,跟「上下文用了多少」同屏对看:

高峰时段圆环本身也会换色,低谷保持原来的灰色,不点开弹层就知道现在按哪档计价:

安装

从 GitHub 安装:源码在 src/,lib/ 不入仓库,安装时 npm 会触发 prepare 脚本现场构建。

dsh plugin --profile web add github:better-er/dsh-cache-billing

从 npm 安装:包内已含构建产物 lib/index.js 与 lib/client.js,安装时不再构建。

dsh plugin --profile web add dsh-cache-billing

两种方式装完都会自动挂载,重启 DSH web 后启用,无需手工编辑任何文件。

卸载

dsh plugin --profile web remove dsh-cache-billing

彻底移除,重启 DSH web 后不再加载。

要求与开发

  • 是标准形态的 dsh 主机加客户端双半身插件:host 投影层在服务端折叠事件记账,./client 把账单贴进官方上下文弹层。
  • host 侧用 sessionProjections 实现:会话内的步、轮、会话累计三级账目都由投影层按事件时刻的费率逐笔核算,apply 返回同一引用即无变化。
  • host 侧由 src/index.ts 经 esbuild 构建到 lib/index.js,client 侧由 src/client.ts 构建到 lib/client.js;package.json 声明 dsh.client.platform: "web"、exports["./client"] → ./lib/client.js,改源码后执行 pnpm build 重建。
  • 账目只认 usage 的 input / cacheRead / cacheWrite / output 四类 token,本地估算,实际扣费以账单为准。
  • 价格、峰谷时段、模型名白名单与显示名都写在 src/index.ts 的 MODEL 常量里,峰谷判定与法定节假日表在 src/peak.ts,host 与 client 共用,调整后重建即可。
  • 调试环色:浏览器控制台执行 localStorage.setItem('dshcb.peakOverride', 'peak') 强制高峰态,写 offPeak 强制低谷态,删掉该键回到按时刻自动判定;刷新页面立即生效,不刷新最迟一分钟。

License

[MIT](./LICENSE)

![](https://github.com/deepseek-ai/deepseek-harness)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:7,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件