前言¶
在 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 恢复能力¶
插件提供两类模型侧工具:
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 查找持久日志¶
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字符上限约束。 maxTokens和checkpointScale被接受,但已废弃,不参与预算。summarizationProvider和summarizationModel被接受以保持兼容,但不起作用。toolResultExcerptTokens被接受以保持兼容,但不起作用。- 缺失数组配置项会被视为未设置,并回退到默认值;空数组不会禁用内置项。
适用场景与注意¶
适合使用:
- 希望在压缩上下文时不额外调用模型的 DSH 插件开发者。
- 希望降低压缩路径中的网络调用、模型调用和 KV-cache 相关负担的会话。
- 希望被省略内容仍可通过
seq、result或 checkpoint 指针恢复的场景。 - 已有
@deepseek-ai/dsh-compaction-basic接入方式,希望用确定性压缩替代 LLM 摘要的宿主环境。
使用前注意:
- 插件通常以当前
dsh进程权限运行。安装前应先检查源码、依赖和许可证。 - 当前资料未提供官方安装命令,本文不凭名称拼接
dsh plugin add ...形式。 - DeepSeek Harness 社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,不应表述为官方应用商店。
结尾¶
dsh-compaction-instant 的价值在于把上下文压缩从“再让模型概括一次”改成“确定性裁剪 + 可恢复指针”。当前资料未提供社区目录页地址;仓库地址为 https://github.com/TsFreddie/dsh-compaction-instant 。