ping
健康检查(ping)
DoboCache 健康检查
无需输入参数。

io.github.dobo123123由 GitHub 账号 dobo123123 发布v0.4.9更新于 Nov 7, 2026
MCP server for LLM prompt-cache observability: prefix diagnostics and per-call white-box report.
本地 stdio MCP 服务器,为 LLM 前缀缓存整理稳定前缀,并提供命中诊断与 token 统计报告。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
命中缓存 + 白盒报告 —— 每一步都看得见、可复算。
DoboCache 是一个以 stdio 方式挂载的 MCP Server,作用是在你已有的编码 CLI / Agent 客户端和模型厂商 API 之间,把每一次请求的上下文整理成稳定、可复用、过长会自动补足的前缀,从而让厂商的**前缀缓存(prompt caching)**真正命中;命中与否、命中多少、哪一步做了调整,全部写进本地白盒日志并可随时查询。
官方入口声明 DoboCache 的官方代码仓库只有 https://github.com/dobo123123/dobocache 一处,官方发布物只在它的 Releases 页面。 在其他渠道看到同名项目、同名服务或付费版本,均非官方出品。本项目免费,不通过任何第三方平台售卖。
第一次用?请先看 零基础三分钟上手 —— 从装 Node 到验证成功,六步走完,不用懂原理。 装的过程中报错,直接翻 FAQ 的「安装报错速查」,按报错原文查。
装不上、配不通、不知道怎么写配置?先看上面的 FAQ;还不行就到 Discussions 提问(安装类问题不用开 Issue)。
DoboCache 是纯 JavaScript 的 stdio MCP Server,包内不含任何原生二进制(.node / .exe / .dll 数量均为 0),因此不存在 ABI 层面的平台锁定。但"能跑"和"验证过"是两件事,本版按实际验证程度如实标注:
我们把边界说清楚:
linux/amd64 容器环境做过真实运行验证(协议链路 + 日志 + 只读降级 + Node 版本自检),但桌面发行版的图形客户端挂载、arm64 仍未验证;macOS 从未在真机运行过。因此 macOS 只写"未验证",Linux 只写"容器已实测",都不写"完整支持";成功率我们没有真实数据,不做任何百分比承诺;反馈渠道
反馈时不要把提问原文粘进 issue:日志已脱敏(
req-<hash>/sid-<hash>),贴日志片段足够定位问题。
现代厂商 API 都提供前缀缓存:请求开头部分如果与上一次完全一致,这部分 token 按缓存价计费,不再全价重算。但真实对话里前缀经常"差一点点":
任何一处不一致,缓存就整个失效——你以为在用缓存,其实一直在全价重算。DoboCache 就是把这些"差一点点"逐条修掉,并且把每一步的调整原因写清楚,让你能自己核对而不是只看一个漂亮数字。
ping 健康检查)server 共暴露 8 个业务工具 + 1 个健康检查(ping),均为 stdio 本地调用,不联网、不上传:
典型参数:cf_inject(reset=true, sessionId=<你的会话标识>, minPrefixTokens=<目标厂商门槛>)。
参数在协议层做类型与范围校验(如
threshold ≥ 0、topK ≥ 1、maxChars ≥ 1、maxTokens > 0),越界会返回标准-32602校验错误并指明字段,不会静默生效。
v0.4.9 = 发布通道切换版。npm 已公告自 2027-01 起限制「可绕过 2FA 的长寿命 token」直接发布,本版把发布通道整体切到 GitHub Actions OIDC Trusted Publishing:打 tag 时由 GitHub 签发短期令牌、npm 侧校验后直接收包,仓库与其设置里不再存放任何发布密钥,产物附带 provenance 签名、可追溯到具体 commit 与工作流运行。代码与缓存核心零改动,行为与 v0.4.8 逐字节一致。
为什么会有 v0.4.3:v0.4.2 正式包里,
injectIncremental第 4 步topUpPrefixToMin(...)之后缺少prefix = topUp.prefix;,导致补足结果没有接回、参数形同虚设。厂商 D 系默认门槛低(295),正常前缀本就够长,所以一直没暴露;厂商 G 系真实门槛 1806+,必须靠补足才能过线,一补不上立刻露馅——这就是回归用厂商 G 的原因。v0.4.3 补上了这一行。
本组实测:同一套 20 次递进式连续话题。请求端为「某常见编码 CLI 工具」接入(模型来自厂商 G),白盒引擎以 stdio MCP 挂载 DoboCache;同一台机器、同一模型、同一套参数,只区分"挂载 / 不挂载"。
先说三个读表约定:① 「厂商 D」「厂商 G」是匿名代号,「某常见编码 CLI 工具」指某一商业化编码客户端,匿名是为了不把第三方产品的实测表现绑进本文;② 三种请求端统一用代号指代——WBX(自研白盒直连)/ DXH(官方 Harness headless)/ COD-X(常见编码 CLI),代号是请求端类型的缩写,不对应任何具体产品名,也不含第三方商标;③ 表中只报命中率与相对比例,不报任何金额,成本相关字段按 README §六 的计价系数折算相对值。
关键读法,请连同三条一起看:
prefixTokens 稳定落在 3456–4480,每一次 prefixReady 均为 true;把视角拉高一层:不挂载并不总是 0%。 命中率不是只由"挂不挂"决定,请求端自己怎么构造请求,决定了对照组的起点。同一套挂载逻辑换到三种请求端形态各跑 20 次:
先把三个请求端分别是什么讲清楚——对照组起点之所以差这么多,全在这里:
一句话讲明白:A 的 0% 是"这个请求端本来就没有前缀可命中"(我们自己搭的底座,故意什么都不做,用来测零基线);B 的 66% 是"官方客户端自带前缀垫在下面"。两者都不是 DoboCache 的作用结果。 这三个起点只说明一件事——对照组的高度由请求端自身的前缀处理能力决定。所以本表只能横着读同一形态内的「挂 vs 不挂」,不能竖着比"谁的对照组更高",更不能把跨形态百分比相减当作本方案的提升幅度。
三条读法:
再单独说清 COD-X 那两轮(组 7 与组 8)——这一格最容易被读歪:
两轮是同一形态、同一套 20 轮任务、同样的对照组构造方式(每轮在请求头部注入不同的随机噪音,故意让前缀漂移),唯一差别是挂载的版本。对照组不挂载、与版本无关,所以「组 7 = 9.87%、组 8 = 0.00%」不是"版本越高、不挂载越差",而是噪音注入本身的随机性:
这两个数反过来说明了一件对本工具"不算功劳"的事:厂商自带缓存本身很好用——只要前缀稳定,它能吃到接近 99%。 全程的卡点只有一件事:前缀稳不稳。DoboCache 做的是把前缀稳定下来、让"稳"发生在每一次请求上,不是凭空制造命中。所以「不挂载 0%–9.87%」是压力条件下的读数,既不是"厂商缓存很差",也不该被读成"挂上就从 0 涨到 98 个点"。
组 7 实验组均值 90.58% 偏低同理:R9、R13、R16 三轮遇到厂商侧抖动(53.08% / 85.53% / 0.00%),剔除这 3 次后其余 17 次均值 98.41%,与组 8 按同一位置剔除后的 98.57% 只差 0.16pp——两个版本在稳定段上一致,不存在"版本升级带来 8 个点提升"这回事。逐次对照见 release/testdata/hitrate-regression-report-20261103.md 第六节。
统一口径:不挂载约 0%–68%(随请求端形态浮动),挂载后 90%–98%。表中每一行都能落到实验档案的实测记录上(实验 031 / 032 / 033 / 034 与组 7 / 组 8),并与汇总 CSV 的 source_exp / recompute_file 字段一一对应:release/testdata/hitrate-multi-platform-summary-20261105.csv——形态 A / B 的分子分母以 token 列同表落盘,形态 C 为逐次均值、逐次数据在同目录,任一行都可自行复算。逐次曲线与重绘图脚本见 release/scripts/hitrate-comparison.py。本表不含任何估算值或取整凑数。
这套数据来自 8 组对照实验,正式组每组 20 次连续请求,另有两组 5 次、10 次的前期门槛探测。
但要先把边界讲清楚:这些测试的单次请求体量都很小——每轮输入是同一份 AI 资讯盘点话题,前缀几百到数千 tokens,任务原文与逐次 usage 都在 release/testdata/,谁都能自己算一遍。
我们没有测「特别长的长任务」:单轮上万 tokens 的长文档问答、整个代码库的分析、几十轮的超长会话,都不在样本里。缓存前缀复用在这种体量下是否一样成立,我们没测过,也不打算替它下结论。
如果你手上正好有这类长任务,欢迎自己挂上去跑一遍再回来说话——把逐次 usage 记下来,比我们的任何承诺都有用。这也正是我们把逐次数据、任务原文、复跑步骤全部放进包里的原因:让你能自己验证,而不是只能信我们。
每次 cf_judge / cf_inject 之后,白盒日志会记录这一步做了什么、为什么做、效果如何。下面是一条按当前口径(v0.4.9)输出的记录示例:
三类常用对照能力都在:第几次请求(reqIndex)、是否同一提问(req-... 相同即同一提问)、每一步动了什么(changes[] + note)。内容本身不落盘。
记录里
hitRate为null表示本次请求未判定:cf_inject处在注入阶段、请求尚未发出,且调用方没有把厂商返回的缓存usage回传给 DoboCache,本机就无法得知真实命中率——此时如实记null(未判定),不再写 0。看到null不要读成"命中率 0%":要得到可判定的命中率,请在cf_judge/cf_inject里带上hitTokens/missTokens(取自厂商usage的prompt_cache_hit_tokens/prompt_cache_miss_tokens)。累计统计用cf_report查看。详见FAQ-使用须知.md第一节。
白盒报告卡片是给你看的,但它写进对话上下文就要占 token(每张约 300+ tokens,每次工具调用都可能带一张)。因此从 v0.4.6 起:
quiet):报告只写本地日志,不随工具返回,不占对话 token;cf_report,它读本机日志、不产生额外 token;DOBOCACHE_WHITEBOX:
once —— 下一次调用返回一次详情,之后自动回落 quiet(适合临时排查一次);always —— 每次调用都带详情(适合正在做对照实验,代价就是每张卡的 token);quiet —— 关闭(默认值,等价于不设);一句话:平时不用管它;需要证据时用
cf_report(不花 token),需要看单次细节时再开once/always。
dobocache-v0.4.9-portable.zip 并解压(内含 dist 与仅生产依赖的 node_modules,无需 npm install;包内不含任何原生 .node 二进制,换机器换平台不会因 ABI 不匹配崩掉);不想下载也可以用下文写法 B / C 从 npm 装;ping + cf_judge / cf_tier / cf_inject / cf_warmup / cf_report / cf_meter / cf_prune / cf_normalize)。少任何一个都说明 server 没起来,先看客户端日志里的 stderr。前置条件:Node.js 18 或更高。进程启动时会自检,版本过低会直接打印一句中文提示然后退出(不会静默失效)。 通用建议:配置里的路径一律填绝对路径——客户端拉起 server 时不继承你 shell 的当前目录与 PATH,只写
node或相对路径是最常见的翻车原因。
node + 入口 js(推荐)Windows:
macOS / Linux:
where node;macOS / Linux which node(Homebrew 常见 /opt/homebrew/bin/node、/usr/local/bin/node;用 nvm 的请填具体版本目录下的绝对路径)。npm、不联网,跨机器最稳。npx -y 一次性运行ℹ️ 渠道说明:写法 B / C 要求该版本已能从 npm registry 取到。若
npm view dobocache返回404(该版本尚未发布,或所用镜像尚未同步),请直接用写法 A(便携包)——功能、内容与日志行为完全一致,不需要改任何配置。关于仓库内的
server.json:它是提交给 MCP Registry 的条目描述文件,其中packages[].registryType只有npm/pypi/oci等固定取值(schema 不存在"便携包"这个类型),因此identifier/version标注的是 npm 上的发布目标;若 npm 上暂时取不到该版本,一律以写法 A 为准。
npx.cmd("command": "npx.cmd")。npm 在 Windows 上只安装 npx.cmd,没有 npx.exe,客户端 spawn("npx") 会直接报 ENOENT——这是 MCP 客户端在 Windows 上最高频的报错。npx 即可;若客户端用非登录 shell 拉起且 PATH 里没有 node,可写死绝对路径(如 /usr/local/bin/npx)。npm view [email protected] version 能返回版本号);取不到时改用写法 A。另外 npx 有本地缓存,升级后行为仍是旧的时,执行 npm cache clean --force 或改用写法 C。"command": "dobocache.cmd";若客户端仍找不到命令,直接填全局安装目录下的绝对路径(npm root -g 显示的目录的上一级里的 dobocache.cmd)。npm install -g [email protected] --prefix ~/.npm-global,配置里填 /Users/<你>/.npm-global/bin/dobocache 绝对路径。npm install -g dobocache@<新版本> 并重启客户端。三种写法对照:
要跑
npm test/npm run lint? 便携包只带生产依赖,先在该包目录执行一次npm install补齐开发依赖(需要网络),再运行脚本。
日志目录(v0.4.4 起不再依赖进程"当前目录",客户端用任意 cwd 拉起都能写对位置):
优先级:环境变量 DOBOCACHE_LOG_DIR > 平台默认目录 > <cwd>/data/logs(回退)> 都不可写则不落盘、只在 stderr 提醒一句,进程继续运行。实际使用的目录可在 cf_report 返回的 logDir / logFile 里看到。
日志不会无限长大(默认即生效,不需要你配置):
.1,最多保留 3 份副本(即单日最坏情况约 40MB 上限);dobocache-YYYY-MM-DD.log.jsonl 与其 .1/.2/.3),同目录下你自己的文件一个都不会动;DOBOCACHE_LOG_MAX_MB / DOBOCACHE_LOG_KEEP_DAYS;当前策略与实际维护结果可在 cf_report 返回的 logPolicy / logMaintenance 里看到。目标厂商门槛明显高于默认值时(部分厂商需要 1806+),在 cf_inject 里指定 minPrefixTokens,例如 minPrefixTokens=3000;实际生效门槛为该值 × 1.15(安全余量)。
全部环境变量(都可省略,省略即用默认值):
计价系数请自行改为你的实际合同系数:随包默认值只用于「命中 vs 未命中」的相对值对比(例如 1:36 的差异),不是任何厂商的真实报价,
savedUsd/cumSavedUsd等字段名里的Usd只是历史命名,数值含义是"按当前计价系数折算的相对成本"。改系数后统计曲线整体等比缩放,命中率不受影响。
从 v0.4.4 起:
requestId 只存 req-<8 位 hash>(固定盐 + 64bit 指纹),同文恒同值,不可反推原文;sessionId 只存 sid-<8 位 hash>;cf_normalize 的返回键只存 nk-<16 位 hash>;round(请求序号,v0.4.6 起日志字段更名为 reqIndex,含义是"本机第几次请求",与对话阶段无关)与 promptChars(字符数)两个纯数字字段,保留"可对照"能力但不含内容;%LOCALAPPDATA%\DoboCache\logs,macOS ~/Library/Logs/DoboCache,Linux ~/.local/state/dobocache),该目录不随包分发。前后对照(同一条记录):
⚠️ 历史日志仍需你自行清理:v0.4.4 无法追溯修改旧版本已生成的文件。若你的机器上存在 v0.4.3 及以前产生的
data/logs/*.jsonl(旧版本默认写在"启动时的当前目录"下),其中requestId仍是提问原文,请按需删除或归档。
结论只写有官方文档或明确来源支撑的内容;证据不足的写"未确认",不做推测。
怎么读这张表:
/stats。因此本文不宣称"客户端面板直接显示缓存命中率"。准确表述是:DoboCache 在服务端读取厂商 API 返回的 usage 缓存字段并记录、回传;客户端侧可视化需逐个实测。完整版(含每个客户端的配置文件路径、格式与 18 条来源链接、未确认清单)见 兼容性说明.md。
本文所有数字都放在 release/testdata/ 里,可自行核对与重跑:
最短复现路径:
<解压目录>\dist\index.js;cf_inject(reset=true, sessionId=<新会话>, minPrefixTokens=<厂商门槛>),按 20 次任务清单逐次发送;prefixReady=true、effectiveMinPrefixTokens = 配置门槛 × 1.15;实验组命中率应稳定在 90% 以上,对照组以 0 为主。⚠️ 复跑必读:对照组若不给每次前缀注入随机噪音,厂商的自动前缀缓存会让对照组也命中,对照就失去意义。这是本套实验最容易做错的一步。
装在机器上之前,请先把这一节读完。以下每一条都是能力边界,不是待办事项。
1. 命中前提是前缀逐字节稳定,本工具无法替你保证
缓存命中取决于请求前缀(系统提示、工具列表、历史消息顺序、头部字段)是否与上一次完全一致。只要客户端在头部注入时间戳、随机 ID、动态工具集,或历史消息顺序变化,命中就会下降。cf_inject 只能把可控部分整理成稳定形态,不能阻止客户端改动前缀,也无法在客户端已经改动后强行命中。
2. 服务商必须支持前缀缓存并已开启
各家对"最小可缓存前缀长度"有各自门槛(本项目实测口径取"配置门槛 × 1.15"作为有效门槛)。若所用端点不支持前缀缓存、或账号侧未开启,命中率就是 0,本工具不修改服务商行为,也无法在不支持的服务商上凭空产生命中。
3. 只读服务商已经回传的 usage 字段,不做推算
命中相关数字来自厂商 API 返回的 usage 缓存字段。客户端或服务商不回传该字段时,报告里就没有这个数——本项目选择显示"未判定"而不是用字符数估算一个好看的数字。
4. savedUsd / cumSavedUsd 是相对值,不是账单
随包默认计价系数只用于"命中 vs 未命中"的相对对比,不是任何厂商的真实报价,字段名里的 Usd 只是历史命名。真实金额请换成你自己的合同系数后自行折算,命中率不受系数影响。
5. 不做语义缓存,不跨会话复用内容
本工具不代理、不转发、不存储你的提问正文,也不做相似度/语义层面的复用。相同问题换个说法不会被"当成命中"。
6. 传输形态仅 stdio MCP
当前包只提供 stdio 挂载。HTTP / SSE 形态未提供;客户端兼容性表中标"未确认"的项(含 Windsurf)没有官方文档取证,不列入支持清单,也不做效果承诺。
7. 实测规模有限,不是基准测试
第四节数据为 20 次连续请求的对照实验(同形态 + 跨 4 种请求形态),可复现,但不等于你所在场景的预期表现。样本量说明见「关于测试规模:一句实话」。
8. 明确不承诺的事项
不做以下任何承诺:特定命中率数值、特定节省比例或金额、在任意服务商/客户端组合上的效果、与其他缓存方案对比的优势幅度、以及上线后的业务收益。能否命中取决于你的请求形态与服务商策略,本工具提供的是可控的稳定前缀、准入判断和可核对的测量,不是效果担保。
9. 升级或换客户端后需要重新观察
更换客户端、升级版本、修改系统提示或工具列表后,此前建立的缓存前缀即失效,需重新按第九节方式观察。旧版本产生的历史日志不会被自动改写或删除,需自行清理。
hitRate 是 null 是不是没生效?第一次请求为什么没命中?日志在哪、怎么读?换机器后要不要清日志?——见 FAQ-使用须知.md。
本 README 及其同批文档遵循同一份对外口径约定:
DoboCache 采用 Apache License 2.0 发布,全文见仓库根目录的 LICENSE,标准文本也可在 https://www.apache.org/licenses/LICENSE-2.0 查阅。
这意味着:
DoboCache 是免费的开源项目,没有付费版本、没有订阅、没有商业授权门槛,也没有任何形式的收费计划。
如果你有商业合作、定制开发或企业级支持的需求,欢迎通过仓库 Issues 联系作者洽谈;这类合作是独立服务,不会改变你在 Apache-2.0 下已经获得的任何权利。
本项目依赖若干第三方开源包,其许可证与声明保留在各自的包目录中(例如 node_modules/<package>/LICENSE)。这些许可证不受本项目 Apache-2.0 协议的替换或覆盖,再分发时请一并保留。
LICENSE:Apache License 2.0 标准全文(未做任何修改)NOTICE:项目名称、版权年与商标声明(Apache-2.0 第 4(d) 条要求随分发保留)关于衍生版本的命名:Apache-2.0 不授予商标使用权,因此任何基于本项目的分支或二次开发,不得使用「DoboCache」作为其产品名或服务名,也不得暗示获得官方背书。注明「基于 DoboCache」是允许且欢迎的。
来源:README.md,提交 d617ba6
健康检查(ping)
DoboCache 健康检查
无需输入参数。
命中判定(cf_judge)
判定当前请求能否命中既有缓存上下文:关键词分层(实体锚词/意图修饰词)、三层匹配、时效衰减、负向过滤,输出可解释证据。
nowtopKquery必填entries必填blacklisthitTokensthresholdmissTokens价值分级准入(cf_tier)
对候选记忆/上下文片段做价值分级准入:提纯去噪 → A/B/C 分级 → 按预算从高到低填充,输出准入列表与丢弃明细。
nowqueryfragments必填totalCharsreservedChars会话增量注入(cf_inject)
会话增量注入:固定版本化前缀(规则块+分级片段+固定补充块)逐字节不变,新内容(本次请求+易变内容)只追加到尾部 tail;同一 sessionId 自动冻结前缀支持跨请求复用;前缀不足最小有效长度时自动补高价值片段/固定文档块过门槛。
resetrequest必填align128scenariovolatilefragments必填hitTokensmaxTokenssessionIdmissTokensstrictnessalignFillText另有 5 个测量快照(cf_meter)
输出测量仪表快照:判定命中率、平均分、价值分级分布、预计命中 token/比例;v0.2.1 新增按请求累计计费相对值曲线(累计命中/未命中 tokens)。注意:此处的 hitRate 是「cf_judge 判定命中率」(DoboCache 内部召回判定口径),且无判定样本时为 null(未判定,勿读作 0%);厂商 usage 回传的真实缓存命中率请看 cf_report 的 hitRate / judgedCalls。
reset预热(cf_warmup)
预热工具(v0.2.1):在正式请求前显式调用一次,用当前冻结前缀(sessionId)或传入片段构造最小占位请求;客户端需将返回的 prompt 发一次 LLM 请求以触发厂商前缀缓存建立。注意:必须显式调用、默认不自动触发;该占位请求本身会产生少量计费(按未命中计价系数);命中率无法由 server 侧确认,请以下一次请求的 usage 为准。
requestalign128fragmentssessionIdminPrefixTokens白盒累计统计(cf_report)
白盒累计统计(v0.4.1):输出今日与进程内累计的请求次数、缓存命中率、原始/优化 token、预计命中 token 与命中比例;v0.4.2 支持按会话聚合维度(per_session);v0.4.6 附带 cardMode(白盒卡片档位,默认 quiet);v0.4.7 新增 source=disk,可直接从本地日志重新聚合(进程重启后历史数据不再丢失)。命中率为 null 表示本期没有可判定的厂商 usage 数据(未判定),不是 0%。数据来自本地白盒日志(默认平台标准可写目录,`DOBOCACHE_LOG_DIR` 可覆盖,不占对话 token),可追溯每次请求的白盒报告。日志按「单文件 10MB 轮转 + 默认保留 7 天」自动维护(`DOBOCACHE_LOG_MAX_MB` / `DOBOCACHE_LOG_KEEP_DAYS` 可调),返回中的 logPolicy 即当前生效值。
daysresetsourceaggregateBy工具输出修剪(cf_prune)
确定性修剪「传入的文本」:去重行、压缩空白、行数/字符数双上限,返回修剪前后体积比,为稳定前缀腾出空间。注意(v0.4.7 说清):本工具只处理调用时传入的 text 字符串,不读取、不清理磁盘上的任何文件,尤其不会删白盒日志;白盒日志的体积由服务端自动维护(单文件 10MB 轮转、默认保留 7 天,`DOBOCACHE_LOG_MAX_MB` / `DOBOCACHE_LOG_KEEP_DAYS` 可调),无需用本工具介入。
text必填keepHeadmaxCharsmaxLines结构化归一(cf_normalize)
结构化工具结果确定性化:字段裁剪 + 稳定排序,让内容相同但顺序抖动的返回归一为同一缓存键。
rows必填fields已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
{ "requestId": "req-1b0ff98f", "ts": 1793709231484, "reqIndex": 2, "promptChars": 36, "rawTokens": 201, "optimizedTokens": 4096, "hitRate": null, "savedTokens": 0, "savedPct": 0, "changes": [ {"kind": "align128", "label": "前缀 128-token 对齐:减少尾部部分命中", "detail": "追加 98 个对齐块"}, {"kind": "topup", "label": "前缀过门槛补充:达到最小有效缓存长度", "detail": "补充 63 块(高价值片段/文档块)"}, {"kind": "scenario", "label": "首条请求或缓存为空:轻量约束放行自由回答"} ], "note": "cf_inject:原始 201 tokens → 优化后 4096 tokens(前缀 4096 + tail);实际门槛 3450 tokens。", "sessionId": "sid-b6ca1662", "scenario": "first", "mode": "rebuild", "alignBlocks": 98, "prefixTokens": 4096}{ "mcpServers": { "dobocache": { "command": "C:\\Program Files\\nodejs\\node.exe", "args": ["D:\\<解压目录>\\dist\\index.js"] } }}{ "mcpServers": { "dobocache": { "command": "/usr/local/bin/node", "args": ["/Users/<你>/dobocache/dist/index.js"] } }}{ "mcpServers": { "dobocache": { "command": "npx", "args": ["-y", "[email protected]"] } }}npm install -g [email protected]{ "mcpServers": { "dobocache": { "command": "dobocache" } }}