Skip to content

SuperMarioYL/dscache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

dscache — DeepSeek prefix-cache 利润表

给你的 DeepSeek Agent 装一张 prefix-cache 利润表,把被打爆的上下文缓存折扣稳稳拿回来。

license release ci python deepseek agent

你的 DeepSeek Agent 每跑一轮循环都在偷偷多花钱——一次 prompt 前缀被打乱,整段上下文缓存折扣就从命中价掉回原价,而你的工具里没有任何东西会告诉你。dscache 用两行代码把这件事变成一张能看、能算、能修的利润表。

架构

你的 Agent 代码经透传 wrapper 读取 DeepSeek 缓存用量并写入本地账本,profiler 逐请求定档 HIT/PARTIAL/MISS、计算前缀指纹与两档计价,再分别喂给 report(利润表 + 头条)与 reorder(最严重打爆的重排建议)

单一 Python 包,单进程——无守护进程、无服务端、无我们自己的网络调用。数据流向:你的代码 → wrapper(纯透传,读 prompt_cache_hit/miss_tokens)→ .dscache/ledger.jsonlprofiler(定档 + 前缀指纹 + 两档计价)→(report 打利润表 | reorder 给重排建议)→ 终端。

目录

为什么需要它

通用的 LLM 成本看板(Helicone / Langfuse)按 OpenAI 的计价语义统计 token,完全没有 DeepSeek 两档(命中价 / 原价)上下文缓存定价的概念,所以它们既看不出某次请求有没有落进便宜的命中价档,也无法检测到「前缀被打爆」那一刻。而打爆缓存的成本恰恰发生在 Agent 循环里:同一段长前缀被复用几百次,一个被注入的时间戳、一次被重排的工具列表,就足以让你从折扣价悄悄掉回原价。dscache 读 DeepSeek 的 prompt_cache_hit_tokens / prompt_cache_miss_tokens,把这笔看不见的、反复发生的超支变成一条可度量、可控制的账目。

安装与快速开始

三条命令,从克隆到看见第一张利润表:

pip install dscache              # < 20s
dscache demo                     # 写入一份样例账本(无需 API key)并打印利润表
dscache suggest                  # 看最严重的一次打爆 + 重排建议

接入你自己的代码,只改两行:

import dscache
from openai import OpenAI

client = dscache.wrap(OpenAI(base_url="https://api.deepseek.com", api_key="sk-..."))
# 照常跑你的 Agent 循环——dscache 透明记录每次响应的缓存用量到 .dscache/ledger.jsonl

跑完后在终端执行 dscache report 即可。

样例输出
                    dscache — prefix-cache profit & loss
┏━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
┃ # ┃ request           ┃ tier ┃ prompt ┃ cached ┃ miss ┃    cost ┃  wasted ┃
┡━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩
│ 1 │ chatcmpl-demo-000 │ HIT  │   4200 │   4120 │   80 │ ¥0.0022 │       — │
│ 4 │ chatcmpl-demo-003 │ MISS │   4200 │    120 │ 4080 │ ¥0.0082 │ ¥0.0061 │
└───┴───────────────────┴──────┴────────┴────────┴──────┴─────────┴─────────┘
╭────────────────────────────────── headline ──────────────────────────────────╮
│ This run busted the cache 1× and cost 1.53× what it should — ¥0.0067 wasted. │
╰──────────────────────────────────────────────────────────────────────────────╯

用法

三个命令,对应三种工作流。完整脚本见 examples/

# 1) 看每次请求落在哪一档,以及这一轮一共浪费了多少钱
dscache report

# 2) 拿到最严重那次打爆的「前缀重排建议」(建议,绝不自动改写你的请求)
dscache suggest

# 3) 指定账本路径(默认 .dscache/ledger.jsonl)
dscache report --ledger ./traces/run-42.jsonl

库 API(两行接入):

client = dscache.wrap(your_deepseek_client)          # 透明代理,原样返回响应
entries = dscache.profile(dscache.load_ledger(path)) # 也可以直接拿到结构化账目

演示

完整的演示脚本见 docs/demo.tape(vhs 脚本,CI 会在打 tag 时渲染成 assets/demo.gif)。

demo

GIF 由 .github/workflows/demo.yml 在首个 v* tag 时自动渲染并提交。

对比 DeepSeek-Reasonix

esengine/DeepSeek-Reasonix(23k★)把 prefix-cache 稳定性写进了一个具体的编码 Agent 里——这恰好证明了痛点真实。但它把稳定性逻辑焊死在一个产品内部,不是一个能挂到你自己管线上的可复用度量/优化原语。诚实地说,在「就让它一直跑」这件事上 Reasonix 体验更完整;dscache 补的是另一个位置:可复用、可嵌入、看得见每一次打爆。

能力轴 dscache DeepSeek-Reasonix
逐请求 缓存命中/打爆 度量
两档(命中价/原价)计价与浪费金额
可挂到任意 DeepSeek 客户端(两行接入)
开箱即用的完整编码 Agent 体验
前缀稳定性默认内建 建议,不自动改写 ✓(焊死在产品里)

配置

v0.1 无需配置文件,也不需要除你已有 DeepSeek key 之外的任何 key。可调项通过命令行参数给出:

选项 类型 默认值 含义
--ledger / -l path .dscache/ledger.jsonl 账本(JSONL)文件路径
--requests / -n int 8 dscache demo 写入的样例请求数

付费 / 团队版

v0.1 的 OSS 库永久免费,且没有任何 v0.1 功能被付费墙挡住

面向已经在为 DeepSeek 账单买单的小团队(3–10 人共享编码 Agent),我们提供一个托管团队版:开发者上传本地 ledger.jsonl 轨迹,服务端跨团队聚合缓存折扣节省、画出趋势曲线,并在命中率回退时告警(例如「本周团队 HIT 率掉了 18%——某次 prompt 模板改动打爆了缓存」)。它就是这张本地利润表的「上线 + 持久化 + 监控」版本。

  • 价格¥39 / 席位 / 月(约 $5.50),团队最低 3 席 → 入门约 ¥117/月;年付送 2 个月。
  • 最短「掏卡」路径dscache report --upload → 打印团队看板分享链接 → 14 天免费试用 → 试用结束后回退告警邮件里附一个两步 Stripe / 支付宝结账。无销售电话。

定价刻意压在这张利润表能演示出来的「省下的 ¥」之下,所以它自证其值。

路线图

  • m1 · 包装与定档dscache.wrap() 透传记录账本;dscache report 打印逐请求 HIT/PARTIAL/MISS 表 + 两档计价。
  • m2 · 重排建议profiler 计算前缀指纹、标记打爆事件;dscache suggest 给出能恢复稳定缓存段的具体重排。
  • m3 · 金钱头条 — 汇总 cost_actual − cost_ideal,产出一句可分享的「打爆 N×,多花 X.Y 倍,浪费 ¥Z」。
  • 托管团队版(上传聚合 + 回退告警,见上)。
  • 跨模型支持(Kimi / Qwen / GLM,post-v0.1)。

许可证与贡献

MIT 授权。欢迎提 issue 描述你某次真实被打爆的账单数字,或直接发 PR——尤其是新的两档计价校准与重排策略。

Share this

dscache — DeepSeek Agent 的 prefix-cache 利润表:两行代码看清每次请求是命中还是被打爆,
再给一条能直接套用的重排建议,把上下文缓存折扣拿回来。 https://github.com/SuperMarioYL/dscache

推送后建议设置仓库 topics:gh repo edit --add-topic deepseek --add-topic agent --add-topic prefix-cache

MIT © 2026 SuperMarioYL

About

Transparent DeepSeek prefix-cache spend profiler — wrap your client, see hit/miss P&L per request, stop silently busting the cache

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages