DSH Toolbox

@deepseek-ai/dsh-compaction

@deepseek-ai/dsh-compaction 是 dsh 的一个能力 seam:压缩能力的 seam(ctx.compaction):上下文窗口满了以后,会话以什么方式被压缩,从这里替换。

这个包发布在 npm 上,当前版本 0.0.1-rc.5,安装位置是 $DSH_HOME/profiles/<名字> 的依赖列表。

安装

插件管理会把参数转发给 profile 目录里的 pnpm,这条命令的行为和 pnpm add 一致。

dsh plugin --profile web add @deepseek-ai/dsh-compaction

它在 profile 里做什么

压缩能力的 seam(ctx.compaction):上下文窗口满了以后,会话以什么方式被压缩,从这里替换。当前版本 0.0.1-rc.5。想知道它是否已经在你的 profile 里,看 $DSH_HOME/profiles/<名字>/package.json 的依赖,或用 --dump-config 读合成后的树。

什么时候你需要关注这个包

症状是长会话突然丢细节,或者 compactNow 看起来什么也没做。引擎(ctx.compaction)决定历史什么时候算太大、把较早的一段压成一个 surface 节点;被重写的是 surface 契约,这就是压缩有延迟成本的原因。

移除或换掉它,什么会坏

没有它就没有任何东西会变短:窗口填满,会话走不过模型上限。它也是唯一支持强制压缩指定区间的路径:compactRegion(start, end, agent, signal?)。compactIfNeeded 和 compactNow 必须传 signal,区间调用可以不传。

容易被混淆的那个包

它定义压缩做什么,不定义怎么做。后端是一个子类,实现 compactIfNeeded、compactNow、compactRegion,真正调模型的地方在那里。./checkpoint 这个导出,是让宿主程序之外的代码把压缩记录还原成一条 user 消息。

常见问题

装错了怎么卸掉?

用 dsh plugin --profile <名字> remove @deepseek-ai/dsh-compaction,和装的时候对称。

版本不匹配会怎样?

插件通过 engines.dsh 或 DSH 的 peer 依赖声明兼容区间。不在区间内时命令行会跳过它并打印要求,而不是启动一个可能崩的组合。