前言¶
在 DeepSeek Harness(DSH)中,会话越长,下一次请求携带的表层历史可能越多。已有做法通常依赖自动压缩或人工清理;如果想让模型自己判断哪些表层历史可以替换成摘要,就需要一个能复用 DSH compaction 事务的插件。
aerince/dsh-active-context-pruning 提供这一能力:它让模型提供摘要,再通过 DSH 的官方 compaction 路径,从下一次请求的表层中隐藏一段历史。该过程不修改原始 session.events。
这是什么¶
aerince/dsh-active-context-pruning 是 aerince 维护的 DSH host plugin。资料中给出的仓库标识是 aerince/dsh-active-context-pruning,包名是 dsh-active-context-pruning。
它解决的问题是:在 DSH 会话中,让模型主动选择一段表层 seq 范围,并用自己的摘要替换这段历史,使后续请求的表层上下文变短。
关键信息如下:
- 许可证:
MIT - 版本:
0.1.0 - Node engines:
^22.19.0 || >=24.0.0 - 插件类型:host plugin,需要
tools - 自身行为:不发起网络请求,没有
prepare安装脚本 - 数据边界:复用 DSH 已有 compaction 事务,不修改原始
session.events
注意:这不是 @deepseek-ai/dsh-acp;后者指 Agent Client Protocol。
核心功能¶
资料中列出的功能如下:
| 工具或命令 | 作用 |
|---|---|
acp_status |
查看用量、表层 seq 表、检查点 |
acp_compress |
用模型提供的 summary 替换一个表层 seq 范围 |
acp_decompress |
读取被隐藏的原文;不撤销表层替换 |
acp_search |
搜表层和已压缩原文 |
/acp |
给人看的状态命令 |
acp_decompress 只能读取被隐藏的原文,不能撤销已经发生的表层替换。原文仍保存在 session.events 中,只是作为工具结果返回。
安装与启用¶
安装前提是可用的 dsh、pnpm 和 git,并确认 Node 版本满足 ^22.19.0 || >=24.0.0。
示例使用 web profile。如果使用其他 profile,请替换命令中的 web。
安装最新 main:
dsh plugin --profile web add github:aerince/dsh-active-context-pruning
安装可复现版本 v0.1.0:
dsh plugin --profile web add github:aerince/dsh-active-context-pruning#v0.1.0
没有 CLI 时,可在 Desktop 插件面板粘贴同一个 github: source spec。
DSH 会把插件写入:
$DSH_HOME/profiles/<profile>
请确认 CLI 与 Desktop 使用的是同一个 DSH home。安装后重启 DSH。
实际调用 acp_compress 前,还需要加载提供 ctx.compaction.compactRegion 的 @deepseek-ai/dsh-compaction-basic。
验证与典型用法¶
1、先确认插件进入配置树。运行:
dsh --profile web --dump-config
配置树中应出现 active-context-pruning。
2、在新会话中确认工具可用。新会话中应出现 acp_* 工具和 /acp。
3、可选:在源码目录运行纯函数自检:
node check.js
4、在会话中使用 /acp 查看状态,再根据需要调用 acp_status、acp_search、acp_compress 或 acp_decompress。
使用限制与注意¶
- 不能压最新
preserveRecent条表层。默认preserveRecent为2,包含当前未闭合工具调用。 - 压缩范围必须工具配对平衡。
- 摘要必须比被藏内容短,否则官方引擎会拒绝。
acp_decompress不撤销replace。原文仍在session.events,只作为工具结果返回。config是 profile patch 行的完整替换,不是深合并;修改时请保留所有需要的键。- 插件是 host plugin,需要
tools;自身不发起网络请求,也没有prepare安装脚本。 - 它会随当前 DSH 进程加载工具。安装前请检查源码与许可证。
结尾¶
aerince/dsh-active-context-pruning 的价值在于:它不把压缩做成黑盒替换,而是给 DSH 会话提供一组 acp_* 工具,让模型基于表层 seq 做主动压缩,同时保留原始 session.events。它适合已经使用 DSH、希望控制上下文压缩边界的开发者。
- GitHub:https://github.com/aerince/dsh-active-context-pruning
- 目录页(资料给出的 URL,社区目录页,不等同于 DeepSeek / 幻方官方应用商店):https://www.skillhub.cn/plugins/aerince/dsh-active-context-pruning