前言¶
用 DSH 跑长上下文任务时,缓存命中率往往很漂亮,但总花费并不会因此停下:上下文越长,每一步请求里带着的缓存 token 越多,账单也就越滚越大。「缓存命中率 100% 却越用越贵」说的就是这种情况。光知道 token 用量不够,还得知道这些 token 折成钱是多少,才好判断什么时候该开新会话、什么时候该压缩上下文。
下面介绍 meow-cachebilling(喵账单),一个把实时账单放进上下文圆环弹层的 DSH web 插件。
这是什么¶
meow-cachebilling 是由 Phant0Meow 维护的 DSH 插件,MIT 许可证。它在输入框右侧上下文圆环的弹层底部渲染一张无边框小账表:一步、一轮、会话三行,每行带总价独立一列,右侧三列是缓存命中、缓存未命中、输出明细。账单与「上下文用了多少」同屏对看,token 和钱在一处对照。
核心功能¶
三级账单一表收¶
当前每次 API 请求(一步)、当前轮、会话累计合并成一张无边框小表。首列是「一步 / 一轮 / 会话」行标签,总价独立一列,右侧三列分别是缓存命中、缓存未命中、输出明细,一览即比。
峰谷计价自动判定¶
北京时间工作日 09:00–12:00 / 14:00–18:00 按峰价,其余时段及周六日全天按谷价。判定是纯事件时刻换算,与系统时区无关。峰谷标注写在模型信息行:DeepSeek 官方路由标「梁文峰/梁文谷」,其他路由写「峰价/谷价」,一口价条目不标注。
第三方中转也认¶
官方路由按刊例价精确计价。第三方中转只要在响应里报用量就照样记账:模型名命中价目表按刊例价计(峰谷或一口价),未命中按 flash 价估算并在账单里标明。注意第三方的费率是本地估算,实际扣费以你的账单为准。
价目表可视化编辑¶
设置页新增独立「喵缓存账单」标签页(与「通用」「模型」平级),可以添加、修改、恢复预填,改完即时生效,无需重启。包根的 rates.yml 是预填层,改它才需要重启 dsh web。条目写坏会自动跳过并警告,不会弄崩 DSH。
模型分价¶
V4 Flash / V4 Pro / V4 Flash Vision Exp 单价不同,按每步实际使用的模型计。
两个按步计数¶
会话累计按各笔事件时刻的峰谷费率逐笔累加,跨轮不比价。另有两个按步计数:「缓存失效次数」指该步 API 返回了缓存写入 token(写入即前缀变更、旧缓存作废);「完全失效次数」指该步有输入但缓存命中为 0。官方 API 不报缓存写入 token,「缓存失效次数」仅部分中转可计;全新会话第一轮没有缓存可命中,会如实显示金额并计入「完全失效次数」,属正常现象。
金额精度自适应¶
小于 0.01 的金额四舍五入保留一位有效数字,0.005、0.0003 这类零头一眼可见;大于等于 0.01 的四舍五入到分。
平均累计花费曲线¶
插件为每个会话留存每一步的真实花费,按「供应商/模型/峰谷」聚合最近 30 天会话的平均累计花费曲线,并在同一张图里画出本会话的实际累计花费。对照曲线斜率,可以直观看出本会话的花费增速与历史平均的差异。
右栏数据两节¶
曲线图缩在左半边,右半边两节数据:「消耗比较」包含读代码、缓存、缓存失效;「缓存」包含完全失效次数、缓存时间估算与现在失效可能(后者为占位待实现)。桌面端悬停标签各有解释,触屏设备同样显示,只是没有悬停解释。
安装与启用¶
安装命令:
dsh plugin --profile web add github:Phant0Meow/dsh-meow-cachebilling
安装即生效:安装时自动编译(包内含 prepare 脚本)、自动挂载,重启 dsh web 后启用,无需任何配置。
一个已知的坑:pnpm ≥10 默认会阻止安装期的构建脚本,首次 add 可能失败并提示 allowBuilds。按提示把输出的键加进 profile 的 pnpm-workspace.yaml 后重跑即可。
卸载命令:
dsh plugin --profile web remove meow-cachebilling
重启 dsh web 后不再加载。
典型用法¶
1、查看账单:点开输入框右侧的上下文圆环,弹层底部就是账单。
2、自定义价目表:先在设置页「喵缓存账单」标签页添加、修改或恢复预填,改完即时生效;要改预填层,就修改包根 rates.yml,峰谷条目用 days × ranges 叉乘,一口价用 const,时区用 IANA 名,改后重启 dsh web。
内置价目表为 2026-08-17 官方刊例(元 / 百万 token):
| 模型 | 峰(命中 / 未命中 / 输出) | 谷(命中 / 未命中 / 输出) |
|---|---|---|
| deepseek-v4-flash | 0.1 / 3 / 9 | 0.05 / 1.5 / 4.5 |
| deepseek-v4-pro | 0.3 / 9 / 27 | 0.15 / 4.5 / 13.5 |
数据口径与说明¶
- 账目只认
usage的 input / cacheRead / cacheWrite / output 四类 token。 - 每步花费历史存于 DSH 官方存储层(
meow_cachebilling.json),曲线随会话越攒越准,旧会话再次活动时按当前价目表回填。 - 三级账单与缓存失效次数统计来自 better-er 的大幅重写(PR #2),对非 DeepSeek 官方 API 的显示支持也来自其改动。
- 如果你想 fork 改代码,注意
lib/client.js的 factory 必须以return module.exports结尾,否则模块导出为 undefined,DSH 启动即 fail-loud。
适用场景与注意¶
适合这几类使用者:
1、长上下文、多轮任务跑得多,想知道每一步、每一轮、整个会话实际花多少钱的人;
2、用第三方中转,想要一份本地账目做参照的人;
3、关心峰谷价差,想按事件时刻的费率逐笔对账的人。
注意:插件以当前 dsh 进程的权限运行,安装前建议先检查源码与许可证(本项目为 MIT)。rates.yml 是预填层,随版本更新;你在设置页的修改是独立一层,即时生效。
结尾¶
meow-cachebilling 把「缓存命中率」翻译成「这一步到底花了多少钱」,账单就住在上下文圆环的弹层里,看上下文用量的同时顺手对账。DSH 的理念是一切皆插件,计费这类能力同样由社区插件补齐。
- 插件目录页:https://www.skillhub.cn/plugins/Phant0Meow/dsh-meow-cachebilling (社区独立目录,与 DeepSeek / 幻方无官方从属关系)
- GitHub 仓库:https://github.com/Phant0Meow/dsh-meow-cachebilling