dsh-cacheback:把 DSH 会话日志变成 DeepSeek 前缀缓存「收据」

前言

DeepSeek Harness(DSH)在每次模型调用里会持久化 provider 用量:inputTokens、cacheReadTokens、cacheWriteTokens、outputTokens 等。前缀缓存命中时,计费与未命中差异很大——README 以 deepseek-flash 为例:非高峰缓存命中约 \(0.003 / 1M tokens**,未命中约 **\)0.15 / 1M tokens,约 50×。这些数据分散在各次 assistant/message 里,默认界面不会把「一共省了多少钱、命中率多少、峰谷时段多花了多少」汇总到一页。

Cacheback(仓库 yunhenk/dsh-cacheback)是社区维护的 DSH 插件(维护者 yunhenk,分类:模型推理,许可证 MIT,当前版本 0.1.1)。它只读本机 DSH 已写入的 session 日志,按 DeepSeek 公布的峰谷价表逐条回放计价,输出可读的缓存收据,并回答:DeepSeek 前缀缓存实际帮你省了多少。

这是什么

Cacheback 的定位是「The missing receipt for DeepSeek prefix caching」:replay local DSH sessions,按官方 peak/off-peak 费率给每次调用定价,并展示 cache 带来的节省。它不采样、不估算 token——每个数字来自 DSH 在每条 assistant/message 上保存的 provider usage;定价逻辑见仓库 docs/method.md,峰谷窗口会套用中国法定节假日日历(README 说明 2026 年国务院假日表已内置)。

运行特性(README 原文):

  • 零运行时依赖,零网络请求,只读 ~/.dsh/sessions,收据写入 ~/.dsh/cacheback。
  • 解析结果缓存在 ~/.dsh/cacheback/index.json,按文件 size 与 mtime 增量更新。

核心功能

聊天摘要与收据指标

在 DSH 里执行 /cache(及子命令)后,会得到类似下面的汇总(示例来自 README,数值为作者本机统计,非通用承诺):

Cacheback · DeepSeek cache receipt
2026-08-14 → 2026-11-03 · 11 sessions · 5 projects · 4,226 calls

DeepSeek prefix caching saved you ≈¥2,385.88 ($331.37).
Without cache $342.78 → you paid $11.41 · 30× cheaper · 99.66% hit rate

Spend: cache read $6.76 · cache miss $1.29 · output $3.35
Tokens: 1.57B hit · 5.3M miss · 3.64M out

README 对收据字段的说明摘要:

指标 含义
Saved 若全部按 cache-miss 价计费应花多少,减去实际支付;属于反事实估算,不是退款。
Cheaper 无缓存成本 ÷ 实际成本;暖会话常见 20–50×。
Cache hit rate cache-read tokens ÷ (cache-read + cache-miss tokens)。
Peak premium 因落在北京时间峰段(工作日 09:00–12:00 / 14:00–18:00)多付的部分;非高峰半价。
Cold starts 从空缓存开始、前缀按 miss 计费的调用。
Spend split cache read / cache miss / output 三块花费;output 常占账单可见比例。
Cache score 命中率评分与字母等级,并给出影响最大的改进建议。

非 DeepSeek provider 的调用会被统计为 excluded,不参与 DeepSeek 价表计价。

导出与分享

/cache receipt   # 自包含 HTML 收据,可打印 PDF
/cache card      # 1200×630 SVG 卡片,便于 X / GitHub / Slack
/cache 30d       # 仅最近 30 天
/cache redact    # 分享前隐藏项目名与路径

HTML 收据与卡片为双语;SVG 卡片仅含聚合数据,不含项目名、会话标题或路径。/cache redact 会把 HTML 中的项目名替换为 Project A/B/C…。

内部流程(便于理解边界)

README 归纳的六步:

  1. 在各 ~/.dsh/sessions/<project>/<session>/ 下发现最新的 session*.jsonl(.zstd)。
  2. 解码 append-only 日志;对 Zstandard 多帧分帧解码( torn 尾部帧跳过)。
  3. 回放每条 assistant/message 的用量与时间戳;跳过 seeded/forked history,避免重复计费。
  4. 按模型与北京时间窗口计价;cache write 按 miss 计费。
  5. 按项目、模型、日聚合,计算反事实成本、分数与建议。
  6. 渲染聊天摘要、HTML 或 SVG。

安装与启用

插件以 DSH profile 方式安装;README 给出的 web profile 命令为:

dsh plugin --profile web add github:yunhenk/dsh-cacheback

本地开发时可链接目录(路径改为你本机绝对路径):

dsh plugin --profile web add link:/absolute/path/to/dsh-cacheback

也可在 Plugins → Discover → Index sources 增加索引源后从 Discover 安装:

https://raw.githubusercontent.com/yunhenk/dsh-cacheback/53d96752f562e5e5280e07733dcb2ee9d7869986/market/index.json

package.json 要求 dsh >= 0.2.1-rc.2、node >= 22.15。安装后重启 DSH(或 HMR 重载)即可使用 /cache。

可选配置通过 profile patch 写入(字段以 README 为准):

- id: cacheback
  config:
    usdToCny: 7.2
    lang: zh          # zh | en,聊天摘要默认语言
    open: false       # 是否默认用浏览器打开生成的收据
配置项 默认 说明
usdToCny 7.2 近似人民币展示用的 USD→CNY 汇率
lang zh 聊天摘要默认语言
open false 默认是否打开浏览器;/cache receipt 会显式打开

典型用法

  1. 按上文命令安装并重启 DSH。
  2. 在已有 session 历史的 profile 下打开聊天,执行 /cache 查看汇总与改进建议(峰段调用、冷启动、输出占比、工具前缀稳定性等)。
  3. 需要留存或分享时:/cache receipt 或 /cache card;对外分享前用 /cache redact;限定时间范围用 /cache 30d。

适用场景与注意

适合谁: 长期用 DSH 调 DeepSeek、依赖前缀缓存降本,希望在本机审计「缓存到底值多少钱」、并按项目/时段找优化点的开发者。

精度与限制(README):

  • 「Saved」是反事实,不是账单;DeepSeek 控制台与发票仍是权威来源。
  • 人民币为按 usdToCny 换算的近似值;DeepSeek 以 USD 计费。
  • 2026 年以外的年份,峰谷日历默认仅按工作日规则;可在插件 config 覆盖。
  • 删除 session 日志后,对应收据行也会消失。
  • 删除插件数据:移除 ~/.dsh/cacheback 及 profile 中的插件条目即可。

安全与权限: 插件在 当前 DSH 进程权限 下运行,能读取 ~/.dsh/sessions 并在 ~/.dsh/cacheback 写索引与导出文件。安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的环境策略。README 强调:本地-only、无遥测、分享路径有 redact 与卡片聚合设计。

社区插件目录页:skillhub.cn/plugins/yunhenk/dsh-cacheback(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。

结尾

Cacheback 把 DSH 已记录的每次调用用量,转成按官方峰谷价表计价的本地收据,并给出命中率、花费拆分与可操作的优化提示——全程不联网、不估 token。若你已经在用 DeepSeek 前缀缓存,可以用 /cache 快速核对「省了多少」;需要对外展示时用 receipt 或 card,并记得 redact。

  • 目录页:https://www.skillhub.cn/plugins/yunhenk/dsh-cacheback
  • 仓库:https://github.com/yunhenk/dsh-cacheback
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye