前言¶
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 歸納的六步:
- 在各
~/.dsh/sessions/<project>/<session>/下發現最新的session*.jsonl(.zstd)。 - 解碼 append-only 日誌;對 Zstandard 多幀分幀解碼( torn 尾部幀跳過)。
- 回放每條
assistant/message的用量與時間戳;跳過 seeded/forked history,避免重複計費。 - 按模型與北京時間窗口計價;cache write 按 miss 計費。
- 按項目、模型、日聚合,計算反事實成本、分數與建議。
- 渲染聊天摘要、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 會顯式打開 |
典型用法¶
- 按上文命令安裝並重啓 DSH。
- 在已有 session 歷史的 profile 下打開聊天,執行
/cache查看彙總與改進建議(峯段調用、冷啓動、輸出佔比、工具前綴穩定性等)。 - 需要留存或分享時:
/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