smart-compaction
在终端中运行以下命令:
dsh plugin install JoblessJoe/smart-compaction
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install JoblessJoe/smart-compaction 即可安装该插件(源码:https://github.com/JoblessJoe/smart-compaction)。
插件介绍
DeepSeek Harness 内置的上下文压缩是被动触发的:一旦 token 压力越过固定阈值,就会在 agent 步骤之间自动执行,却不管这一刻是否适合打断。常见尴尬是刚读完文件、正要按内容改代码时被压缩,摘要恰好丢掉下一步最需要的细节。smart-compaction 不改变 dsh 的压缩算法与 summarizer,只把「何时压缩」交还给模型与可识别的安全边界。
插件提供两个无参工具。compact_now 在模型认为安全的时机(例如刚完成一个待办)主动压缩,走与内置逻辑一致的 tool-call 配对安全边界,并基于 compactRegion() 支持回合中途执行;压缩前会先发一条折叠式系统提示,避免本地模型 summarization 耗时数分钟时界面像卡死。context_status 只读汇报本会话真实 token 占用与实际上下文窗口,数字与 Web UI 上下文条一致,让模型不必凭「对话好像很长」去猜。
本地模型很少自发调用这类工具,因此插件还会在 todo_write 将某项标为完成、且上下文已用过默认一半(safePointRatio 0.5)时自动走同一条压缩路径;dsh 原有的约 80% 兜底触发仍然保留。全程仅依赖 dsh 公开 compaction API,无需改核心、默认也无需配置。
适合长时间多步骤 agent 会话、担心盲阈值在中途切断读写链路的开发者,以及使用 preset 隔离或本地推理、希望模型能「看见」剩余上下文并主动收口的场景。
截图预览
使用场景
- 多步骤任务中想在完成一个待办后主动收束历史,而不是等固定阈值在中途打断
- 读写文件或长 diff 前需要知道真实 token 占用与剩余窗口
- 本地模型很少自发调工具,希望待办完成且上下文过半时自动在安全点压缩
适合人员
- 使用 DeepSeek Harness 长时间 agent 会话的开发者
- 担心内置压缩在依赖步骤之间切断上下文的用户
- 采用 Web 配置或 preset 隔离、需要模型可见上下文压力的场景