dsh-cache-safe-tool-result:为 DeepSeek Harness 守住工具结果的缓存前缀一致性
doctorxpriestess/dsh-cache-safe-tool-result
为 DeepSeek Harness 提供工具结果缓存前缀保护:结果首次进入会话前先截断,已发送的结果绝不再改写,避免提示缓存失效与重复计费。
dsh-cache-safe-tool-result 是面向 DeepSeek Harness 的缓存前缀安全插件,专门解决工具结果被事后改写导致提示缓存失效的问题。DSH 的隐式提示缓存属于前缀缓存,请求开头 token 必须与之前完全一致才能命中,而内置裁剪器会在结果发出后原地追加替换节点,让该节点之后的内容全部重新计费。这个插件把截断提前到结果首次进入会话表面之前,并对已被 provider 请求携带过的结果拒绝改写,无法判定时保守跳过,从而在长会话里守住缓存前缀的字节一致性。
如何安装
dsh plugin --profile web add github:doctorxpriestess/dsh-cache-safe-tool-result- 分类
- 工具与能力
- 平台
- DSH Plugin
- 作者
- doctorxpriestess
- 分发方式
- 插件
dsh-cache-safe-tool-result 核心特性
dsh-cache-safe-tool-result 仓库简介
它是做什么的?
它是 DeepSeek Harness(DSH)的缓存前缀安全插件,专门保护工具结果不被事后改写。DSH 的隐式提示缓存是前缀缓存,只有请求开头 token 与之前完全一致时才能命中;而内置的工具结果裁剪器会在结果已经发出后原地追加替换节点,导致该节点之后的所有内容失效并重新计费。这个插件把裁剪提前到结果首次进入会话之前,并拒绝改写任何已被 provider 请求携带过的结果,从而守住缓存前缀的字节一致性。
核心功能
- 首次通过裁剪:在工具结果被追加进会话表面之前,通过 DSH 官方认可的 post-execute 瀑布钩子完成超预算截断,避免事后改写。
- 已投递结果守卫:提供 toolResultPruner 服务,对已被 provider 请求携带过的结果直接跳过,保持字节完全一致,不生成替换节点。
- 不可判定即保守跳过:当无法证明某节点是否已投递时选择跳过而非改写,以失败关闭的方式保护缓存。
- 与压缩流程对接:作为 dsh-compaction-basic 所消费的裁剪服务提供方,沿用与内置裁剪一致的截断几何。
- 全部基于公开扩展点:只使用 DSH/Cordis 的公开钩子与补丁层,不改动任何依赖目录文件。
怎么使用这个插件?
在 DSH 中启用后,插件会同时挂载首次通过裁剪与已投递守卫两部分能力,无需在每次会话里手动干预。它通过 agent 作用域的 post-execute 瀑布接管即将追加的工具结果,并在压缩流程中作为裁剪服务被解析,因此长会话里超大的工具输出会在进入会话前被压缩。若需确认 provider 行的实际位置,可按 README 提示用配置转储命令核对,再按官方说明调整预设补丁层。
报错怎么排查?
如果发现缓存命中率下降、出现大段未缓存 token 跳变,通常说明某个已投递的工具结果被事后改写,应确认守卫服务是否被正确解析为裁剪提供方。若裁剪没有生效,检查首次通过监听是否挂在 agent 作用域的 post-execute 瀑布上,以及预设补丁层是否按官方说明完成行替换。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:doctorxpriestess/dsh-cache-safe-tool-result。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
