前言¶
DeepSeek Harness(DSH)在上下文过长时会走 ctx.compaction:用一次 LLM 调用把早期对话压成摘要,再保留近期消息。对智能体开发者来说,这条路径在工程上常带来三类问题——关键配置、路径、数字被转述或漏掉;旧事实以全新 token 形态出现,模型难以继续「对准」原文;同一历史两次压缩结果不一致,难以审计。社区插件 dsh-compaction-ctxfold 把摘要步骤换成 ctxfold 规则管线,在不动触发阈值、尾部保留、durable 提交等机制的前提下,只替换 summarize(),实现零 LLM、毫秒级、字节级可复现的压缩输出。
这是什么¶
dsh-compaction-ctxfold 是 DSH 的确定性压缩后端插件,维护者为 HZDF-2026,分类为「记忆」。它继承官方 BasicCompactionEngine 的契约,仅覆盖 summarize():被遮蔽区不再交给模型转述,而经 ctxfold 三层结构生成 <compacted-summary>。宿主导入经 peer 拦截解析到 DSH 安装内置的 @deepseek-ai/dsh-compaction-basic(同一模块实例),其余 compaction 行为与内置引擎一致。
目录页:skillhub.cn/plugins/HZDF-2026/dsh-compaction-ctxfold
源码与说明:github.com/HZDF-2026/dsh-compaction-ctxfold
内置 LLM 压缩的结构性缺陷(插件针对的问题)¶
资料中对 DSH 内置 compaction 的归纳如下,本插件不改变触发与提交逻辑,只改摘要生成方式:
- 事实漂移——例如
handoff.enabled、25000、/bin/jq.exe等关键事实在模型摘要中被改写或丢失。 - token 序列整体改变——旧事实以新表述的 token 存在,注意力定位失效(切分方式改变导致模型忽略内容)。
- 不可复现——同一历史两次压缩产出不同摘要,无法做确定性审计。
核心功能:Checkpoint 三层结构¶
摘要输出由三层确定性结构组成(名称与含义以仓库 README 为准):
- Verbatim Anchors——逐字事实清单:路径、数字、URL、哈希、命令、反引号代码片段、点分配置键;子串去重,不做转述。
- Prior Checkpoint——被遮蔽区内旧的
<compacted-summary>整段前向携带;过长时对中段以 sha256 指纹折叠。 - Chronological Fold——按时间序的确定性 gist,新消息权重高于旧消息。
设计约束:输出恒小于被遮蔽区(收敛兜底);同一输入永远产生同一输出。完整设计对照见 ctxfold 仓库文档 DSH_COMPACTION_ANALYSIS。
安装与启用¶
一个 ctx 只允许一个 compaction 后端。安装本插件后需停用内置 compaction-basic。
1、使用 web profile 安装插件(命令来自官方 README):
dsh plugin --profile web add github:HZDF-2026/dsh-compaction-ctxfold
2、在 profile 的 cordis.patch.yml 中禁用内置后端:
- id: compaction-basic
name: "@deepseek-ai/dsh-compaction-basic"
disabled: true
插件通过 cordis.patch.yml 注入 bundle patch;package.json 声明对 @deepseek-ai/dsh-compaction-basic 的 peer 依赖(>=0.0.1-rc.3)。当前包版本为 1.0.0,许可证 MIT。
验证¶
仓库提供离线测试入口,覆盖 peer 拦截、宿主类加载、引擎契约、锚点保真与字节确定性(README 说明已用 app.asar 内真实 profile-resolution bootstrap 验证):
node test.mjs
也可通过 npm script:
npm test
(等价于 node test.mjs。)
适用场景与注意¶
适合谁: 需要在长会话中保留路径、数字、命令、配置键等「硬事实」、且希望压缩结果可复现、可 diff 的 DSH 用户;希望 compaction 阶段不消耗 LLM token 的场景。
注意:
- 插件以当前 dsh 进程权限 运行;安装前请自行阅读 源码 与 MIT 许可证,确认行为符合你的安全与合规要求。
- 社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文介绍的是社区维护的 compaction 后端,非内置默认路径。
- 本插件只替换
summarize();触发阈值、保留尾部、tool-pairing 平衡校验、durable 提交等仍走BasicCompactionEngine原实现。
结尾¶
dsh-compaction-ctxfold 把 DSH 上下文压缩的摘要器从「模型转述」换成 ctxfold 规则管线:零 LLM 调用、毫秒级、字节级可复现,并用 Verbatim Anchors 保留逐字事实。若你在用 DSH 做长链路智能体开发,且受困于摘要丢事实或结果不稳定,可按上文安装命令启用,并用 node test.mjs 在本地核对行为。