dsh-context-reclaim
在终端中运行以下命令:
dsh plugin install xiamubumu/dsh-context-reclaim
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 `dsh plugin install xiamubumu/dsh-context-reclaim` 安装本插件,源码见 https://github.com/xiamubumu/dsh-context-reclaim。
插件介绍
DSH 会话上下文膨胀,往往不是因为对话变长,而是单次工具返回把整屏日志、几百行文件读入或每轮重复的系统提示写进了历史。内容一旦落盘,只能靠事后压缩去改已提交的历史,这会打掉服务端前缀缓存,越压越贵。dsh-context-reclaim 换了一个位置:在工具结果追加进历史之前就处理它们,且不改写已经提交的内容,让前缀缓存尽量不被这类插件行为 invalidate。
核心是工具结果的「无损净化」与按内容类型「有界裁剪」——折叠 ANSI、去尾空白、归一化换行;对 read/grep 与 shell 类输出保留头尾并插入可检索指针,对 web_fetch、read_image 等列入 faithful 的工具则原样放行。同一套思路还延伸到会话启动时的工具定义折叠(常用工具保留完整 schema,其余压成一行仍可调用)、前缀区段重排与 volatile 数字扁平化、过长描述行截断,以及重复编辑拦截与压缩摘要完整性告警。
此外插件在 llm/stream 侧提供可写请求的接管(未打补丁的 DSH 1.5 安装也可不必改 dsh-llm 文件),并在每次请求末尾输出一条成本归因日志(路由、prompt、缓存 hit/miss、输出),便于排查「为什么缓存命中率不高」。适合长期开多插件、工具调用频繁、又在意 prompt 前缀缓存与 token 成本的 DSH 1.5 用户;若你依赖超大 inline 结果落盘,需配合 spill 类插件,faithful 工具名单也可整表自定义。
使用场景
- 读大文件或 grep 后历史里塞满输出,想保留要点又少占上下文
- 装了很多插件导致系统提示里工具定义过长,希望折叠又不影响调用
- 想从日志里看每次请求的缓存命中与成本归因,排查前缀缓存为何变冷
适合人员
- 在 DSH 1.5 上高频用工具、在意 token 与缓存的开发者
- 长期多插件并存、会话容易因工具输出膨胀的用户
- 不想手改 dsh-llm、仍希望 llm 请求可写接管的安装者