dsh-compaction-instant:面向 DeepSeek Harness 的即时上下文压缩插件

前言

在 DeepSeek Harness(DSH)这类「一切皆插件」的智能体环境中,会话文本、工具调用和工具结果会快速累积,占满上下文窗口。常见处理方式是让模型再执行一轮摘要;这会带来额外模型调用、延迟、改写风险,以及压缩后细节难以精确恢复的问题。

dsh-compaction-instant 提供另一条路线:用确定性文本处理替代 LLM 摘要,压缩 shadowed history spans,并把被省略内容指向持久日志中的 seq 值。它作为 @deepseek-ai/dsh-compaction-basic 的 drop-in 替代,保留同样的 seam、events、provenance 和 failure vocabulary。

这是什么

  • 插件名:dsh-compaction-instant
  • 维护者:TsFreddie
  • 许可证:MIT
  • 运行要求:Node.js >= 18
  • 仓库地址:https://github.com/TsFreddie/dsh-compaction-instant

一句话定位:这是 DeepSeek Harness 的即时、近乎无损上下文压缩引擎。它的核心目标不是“让模型总结得更短”,而是把历史片段压缩成仍可恢复的确定性条目。

核心功能

不经过模型的即时压缩

压缩过程不调用模型,也不走网络请求。资料中描述为使用确定性文本处理,适用于 shadowed history spans 的即时压缩。

这意味着压缩路径不依赖 summarizer prompt、不产生额外推理调用,也不涉及 KV-cache 相关处理。

输出保留原始 token

压缩输出只保留原始 token,不做改写式摘要。被省略的内容会留下 seq 指向,供后续恢复。

这与“压缩后只能靠重新生成”的方式不同:这里的关键是压缩结果仍然指向持久会话日志中的原始事件。

@deepseek-ai/dsh-compaction-basic 对齐

该插件定位为 @deepseek-ai/dsh-compaction-basic 的 drop-in 替代,并保留相同的 seam、events、provenance 和 failure vocabulary。

对使用现有 basic 压缩后端的 DSH 场景来说,这一点意味着它不是另一套需要重建事件流和失败语义的独立系统。

插件提供两类模型侧工具:

  • recall:用于恢复被压缩省略的持久日志内容。
  • search:用于在持久日志中按关键词或 regex 搜索,包括被压缩省略的内容。

另外提供人类侧命令 /recall,用于追加 durable recall user message,让下一轮模型能看到匹配事件和 seq 指针。

典型用法

压缩后的形态

资料示例中,一段包含 user request、assistant text、tool call 和 result 的历史片段,可以被压缩成类似下面的单行条目:

[user]
please fix the bug
[assistant]
on it
* read "a.js" (seq 2 -> result 3)
[user]
next question

这里的 (seq 2 -> result 3) 是持久日志指针。被压缩的内容不是直接消失,而是通过指针继续可访问。

recall 恢复原文

recall 工具用于把原文恢复到当前工具结果中。资料中给出的恢复类型包括:

type: "seq"
type: "result"
type: "checkpoint"
  • seq:用于基于 seq 指针恢复对应内容。
  • result:用于基于 result 指针恢复工具结果。
  • checkpoint:用于基于 checkpoint 标识恢复对应内容。

search 工具用于对持久日志做关键词或 regex 搜索。搜索范围包括已经被压缩省略的内容,并返回匹配事件及其 seq 指针。

这个工具适合在模型不确定原文位置时使用:先搜索,再根据返回的 seq 指针做恢复。

人类侧使用 /recall

人类侧可以使用如下命令:

/recall <keyword|regex>

该命令会追加一条 durable recall user message,其中包含匹配事件和 seq 指针,供下一轮模型查看。

配置与兼容注意

以下配置项名称保留原文,作为可选配置出现:

thresholdRatio
retainTurns
retainTokens
auto
checkpointCap
textTokens
userTextTokens
toolCallTokens
maxRecallTokens
maxSearchHits

这些配置项用于控制压缩预算、保留范围、自动行为,以及 recall/search 的读取上限。

需要注意的兼容点:

  • 预算同时按 token 数执行,并受 budget × 4 字符上限约束。
  • maxTokenscheckpointScale 被接受,但已废弃,不参与预算。
  • summarizationProvidersummarizationModel 被接受以保持兼容,但不起作用。
  • toolResultExcerptTokens 被接受以保持兼容,但不起作用。
  • 缺失数组配置项会被视为未设置,并回退到默认值;空数组不会禁用内置项。

适用场景与注意

适合使用:

  • 希望在压缩上下文时不额外调用模型的 DSH 插件开发者。
  • 希望降低压缩路径中的网络调用、模型调用和 KV-cache 相关负担的会话。
  • 希望被省略内容仍可通过 seqresult 或 checkpoint 指针恢复的场景。
  • 已有 @deepseek-ai/dsh-compaction-basic 接入方式,希望用确定性压缩替代 LLM 摘要的宿主环境。

使用前注意:

  • 插件通常以当前 dsh 进程权限运行。安装前应先检查源码、依赖和许可证。
  • 当前资料未提供官方安装命令,本文不凭名称拼接 dsh plugin add ... 形式。
  • DeepSeek Harness 社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,不应表述为官方应用商店。

结尾

dsh-compaction-instant 的价值在于把上下文压缩从“再让模型概括一次”改成“确定性裁剪 + 可恢复指针”。当前资料未提供社区目录页地址;仓库地址为 https://github.com/TsFreddie/dsh-compaction-instant 。

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

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

小夜