ya8d/dsh-directive-compact:基于自然语言的上下文压缩插件

在使用 DeepSeek Harness(DSH)进行长上下文模型推理时,通用压缩往往难以满足特定需求。手动修剪对话既繁琐又容易出错。ya8d/dsh-directive-compact 插件提供了一种基于自然语言的压缩方案,允许你通过指令精确控制上下文的保留与修剪,有时甚至能用来修复配置错误的上下文。

插件是什么

这是一个自定义的自然语言压缩插件,由 ya8D 维护。它不修改上游的 ctx.compaction,是一个纯增量插件。其核心价值在于允许开发者以自然语言指令(如“保留错误日志,压缩中间过程”)来精确修剪上下文,甚至修复上下文配置错误。

核心功能

插件提供两个核心命令,通过自然语言指令执行不同的压缩逻辑。

1. /compact-directive:压缩中间部分

该命令压缩对话的中间部分。它会保留头部(前3个用户回合 + 固定骨架)和最近的回合,仅对中间内容进行压缩。

2. /trim-directive:修剪整个对话

该命令修剪整个对话。此命令无区域保护,理论上可以删除头部、注入的骨架以及任何内容,实现更激进的压缩。

3. 指令支持

支持通过自然语言执行以下操作:
* delete:删除节点
* delete-text:删除文本片段
* rewrite:重写节点
* summarize:摘要替换

4. 纯增量实现

插件为纯增量,不影响上游 ctx.compaction。原始对话保留在 UI 中,仅模型可见的上下文被压缩。

安装与启用

通过 DSH CLI 安装插件。安装命令中的 <name> 需要用户自行指定(如 web、headless)。

dsh plugin --profile <name> add @ya8d/dsh-directive-compact@rc

典型用法

在对话中使用自然语言指令调用命令。

压缩中间部分:

/compact-directive keep the login-related errors, compress the rest of the middle process

修剪整个对话:

/trim-directive delete all git-operation records, keep the user's original instructions and the plugin-development goal

适用场景与注意

破坏性操作

操作具有破坏性,永久移除内容。建议在执行前分叉会话。如果没有内容可删除,会返回 <<NO_CHANGE>>,这是正常结果而非报错。

参数限制

/compact-directive 的指令参数不能为空,否则会报错。

性能注意

/trim-directive 可能需要较长时间(几分钟),因为模型需要推理如何根据指令进行修剪。如果对话规模较大(如 180K+ tokens),处理时间可能长达 5-10 分钟。

环境依赖

插件依赖 Node.js 版本 ^22.19.0 || >=24.0.0。


该插件为 DSH 生态中的模型推理工具,由社区维护。更多细节可参考 GitHub 仓库 或 社区目录。

羽毛球分组比赛记分
小程序二维码

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

小夜