前言¶
DeepSeek Harness(DSH)使用提示缓存来降低 token 消耗,缓存按前缀精确匹配。当会话进入长周期后,再安装插件、启停组件或切换权限档,工具定义发生变化,会导致后续整个上下文(系统提示 + 全部历史)按全价重算一遍。很多人看到命中率下降,却不知道是哪个操作导致的。
dsh-cache-report 是 DSH 的提示缓存命中率与工具块成本报表工具。它只注册斜杠命令,不注册任何工具,不影响工具表,不会破坏现有缓存。安装后通过一条命令就能看到今天的 token 花在哪、哪次操作最贵、哪个插件在“吃”缓存。
是什么¶
dsh-cache-report 是由 youran0faust 维护的 DSH 插件,分类为工作流。它读取本机 DSH 会话日志,统计缓存命中率、未命中 token 数量、工具块成本,并按原因(如工具表变化、历史压缩等)进行归因。所有计算在本机完成,不联网、不上传。
安装¶
前置条件:DSH(@deepseek-ai/dsh)+ Node.js ≥ 20。
作为 DSH 插件安装:
dsh plugin --profile web add github:youran0faust/dsh-cache-report#main
安装后重启 DSH(或使用 patchReload: live 热加载),在会话输入框输入:
/cache-report
命令¶
| 输入 | 作用 |
|---|---|
/cache-report |
不带参数 = today:今天的命中率 + 大额重算归因 |
/cache-report days 7 |
近 7 天趋势表 |
/cache-report tools 30 |
工具块成本 / 按插件拆分 / 从未被调用的死重 |
/cache-report before-after 24 |
近 24 小时:工具表变化时间线 + 重算代价 + 真实台账花费 |
/cache-report debug 7 |
格式自检:DSH 会话格式是否仍符合预期 |
/cache-report help |
用法 |
独立脚本用法相同:node lib/report.mjs days 7。
怎么读:命中率是比率陷阱¶
命中率 = 命中 / (命中 + 未命中)。但只盯比率容易被上下文长度稀释或放大:
- 长会话:命中率 96%,每次请求 token 190k,实际花销高
- 短会话:命中率 80%,每次请求 token 148k,实际花销更低
比率掉了,账单可能反而降了。真正该看的是「未命中 token 的绝对值」,那才是按全价计费的部分。
工具把单请求未命中 ≥ 5 万 token(阈值 DSH_REPORT_BIG 可调)的事件称为大额重算,并按原因归类:
| 归因 | 含义 | 能否控制 |
|---|---|---|
toolset-change |
装/卸插件、启停组件、切权限档 | 能 —— 攒着一起改,改完开新会话 |
compaction |
历史压缩(长会话的必然代价) | 半能 —— 会话别拖太长 |
session-start |
新会话冷启动 | 正常开销 |
resume |
恢复旧会话 | 正常开销 |
三条实用规则¶
- 插件攒着一起装,装完开新会话。中途装一个,当前会话的历史就得全价重算一遍。
- 别在长会话里切模型 / 切权限档。同样会改变前缀。
- 看未命中 token 的绝对值,不看百分比。
数据来源与隐私¶
读的是本机 DSH 会话日志:$DSH_HOME/sessions/ 下的 session.v*.jsonl.zstd(多帧 zstd,脚本按魔数切帧逐帧解)。只用其中的用量数字与工具表:
assistant/message→usage.inputTokens(未命中)/usage.cacheReadTokens(命中)request/header→ 当时的工具定义列表 +reason(initial/series/resume/change)
不会打印任何对话内容、文件内容或密钥;tools 只输出工具名字。所有计算在本机完成,不联网、不上传。
局限¶
- token 数是估算:工具表按
ASCII字符/4 + 非ASCII字符/1.5估算,误差约 ±10%。 - 归因是启发式的:按「大额重算之前最近的一个原因事件」判定,压缩与工具表变化挨得近时可能归错。
- 只覆盖能观测到的:读的是 DSH 落盘的会话日志,未落盘或被清理的会话不计入。
- zstd 依赖 Node ≥ 22.15(
node:zlib的 zstd API)。更低的 Node 会报错。
卸载¶
dsh plugin --profile web remove dsh-cache-report
独立脚本直接删目录即可。它不写任何配置、不常驻进程、不留状态。
生态背景¶
DSH 理念是「一切皆插件」,本插件收录在社区目录,与 DeepSeek / 幻方无官方从属关系。