aerince/dsh-active-context-pruning:通过官方 compaction API 主动压缩 DSH 上下文

前言

在 DeepSeek Harness(DSH)中,会话越长,下一次请求携带的表层历史可能越多。已有做法通常依赖自动压缩或人工清理;如果想让模型自己判断哪些表层历史可以替换成摘要,就需要一个能复用 DSH compaction 事务的插件。

aerince/dsh-active-context-pruning 提供这一能力:它让模型提供摘要,再通过 DSH 的官方 compaction 路径,从下一次请求的表层中隐藏一段历史。该过程不修改原始 session.events

这是什么

aerince/dsh-active-context-pruningaerince 维护的 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 中,只是作为工具结果返回。

安装与启用

安装前提是可用的 dshpnpmgit,并确认 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_statusacp_searchacp_compressacp_decompress

使用限制与注意

  • 不能压最新 preserveRecent 条表层。默认 preserveRecent2,包含当前未闭合工具调用。
  • 压缩范围必须工具配对平衡。
  • 摘要必须比被藏内容短,否则官方引擎会拒绝。
  • 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye