前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在模型推理过程中,长对话上下文容易导致上下文溢出或压缩效果不佳,影响推理稳定性。原生压缩机制在特定场景下可能失效。
dsh-compact-saviour 插件旨在解决这一问题。它通过独立的压缩模型和救援机制,为 DSH 提供更可靠的上下文压缩能力。该插件由 aa2246740 维护,遵循 MIT 许可证,当前适配 DSH 版本为 0.2.0-rc.2(要求 peer 依赖 >=0.2.0-rc.1 <0.2.1)。
核心功能¶
该插件提供以下核心能力:
* 独立模型自动压缩:使用配置的独立模型进行摘要,不执行历史中的工具、文档指令或嵌入提示。
* 长按压缩:在上下文圆环处长按 650 毫秒即可触发压缩。
* 一键手动压缩:在设置面板中配置模型后,可直接点击按钮执行压缩。
* 失败两次后救援模式:当官方压缩连续两次失败后,插件会静默切换到配置的独立模型进行救援。
* 分块压缩:根据模型上下文容量动态分块,不再固定八块或限制每块 32K,支持多语言保守估算。
* 保留原始日志:摘要是有损压缩,可能漏掉细节,但原始会话日志始终保留。
安装与启用¶
安装前请确保已安装 DeepSeek Harness >=0.2.0-rc.1 <0.2.1。插件运行不依赖 dshx、Creator Mode、Harness 源码或本地构建。
桌面应用¶
- 打开 DeepSeek Harness 或 DSH Studio,进入 插件 页面,点击 添加插件。
- 在 包名或地址 中填入以下内容,按官方安装向导操作:
dsh-compact-saviour@0.2.8
- 安装完成后,打开 设置 → Compact Saviour,选择压缩模型及 reasoning level 并保存。
Web Host(CLI)¶
使用官方 dsh CLI 时:
dsh plugin --profile web add dsh-compact-saviour@0.2.8
若未全局安装 dsh 命令,使用 npx:
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-compact-saviour@0.2.8
Release 安装包¶
从 v0.2.8 Release 下载 .tgz 文件,在官方插件管理器中选择该安装包即可。
典型用法¶
安装并配置完成后,可以通过以下方式使用:
- 配置:进入设置,选择一个独立的压缩模型(如小参数模型)和推理等级,保存。
- 长按压缩:在对话输入栏的上下文圆环处长按 650 毫秒,系统会立即启动压缩。圆环位置会显示
Open Bot Motion #7 satellite小机器人动画,按钮内文案会每 6 秒轮换(如“正在压缩”、“给下一轮对话腾点空间”)。 - 手动压缩:点击圆环打开原 popup,在其中点击 手动压缩 按钮。
自动救援逻辑¶
插件默认采用“官方连续失败两次后救援”模式。即先由官方处理,连续两次符合条件的失败后,插件静默使用配置模型接管。手动压缩和长按操作始终直接使用配置模型,不经过官方失败检查。
实现细节与限制¶
压缩策略¶
插件通过包装官方的 BasicCompactionEngine 和 TokenMeter 实例,不修改原型或核心源码。
* 分块逻辑:根据模型上下文容量估算,扣除输出预留、提示词封装及 15% 安全余量后计算分块数。能整段容纳则只调用一次,否则最多同时请求两块再合并。
* 预算计算:结合目标会话模型、固定提示及工具计算摘要预算。输入长度为多语言保守估算(当前 DSH 未提供逐模型 tokenizer)。
* 错误处理:遇到 CONTEXT_WINDOW_EXCEEDED 时缩小超限部分并继续。每条分支最多缩小四次。
性能与边界¶
- 超时限制:单次请求最多 2 分钟,整个救援流程最多 10 分钟。
- 日志保留:摘要仅替换模型下次看到的会话表面,原始会话日志保留。
- 有损压缩:摘要是有损操作,可能漏掉细节。
适用场景¶
- 上下文窗口受限,需要更激进的压缩策略。
- 希望通过独立模型(而非当前会话模型)进行压缩,以节省会话额度。
- 需要可靠的救援机制以防止压缩失败导致对话中断。
注意事项¶
- 摘要质量依赖模型能力及预算估算,不能将声明窗口视为质量保证。
- 插件通过可选公共服务
compactionRoutes与其他插件协作。 - 卸载插件后,会恢复原生压缩逻辑,但已压缩的会话状态不变。
结语¶
dsh-compact-saviour 通过提供独立的压缩模型、分块策略以及失败救援机制,增强了 DeepSeek Harness 在长对话场景下的稳定性。对于追求可控压缩流程的开发者,这是一个实用的补充工具。