前言¶
Long DSH sessions eventually fail because every request re-uploads the whole conversation. 随着对话长度增加,每次请求都重新上传完整历史会导致上下文限制或传输失败。dsh-hypercompact 通过本地压缩解决这一问题:当会话超过字节限制时,它在本地毫秒级压缩旧历史,且不调用 LLM,保证请求体保持在合理大小。
插件简介¶
这是 DeepSeek Harness (DSH) 的一个插件,由 mrbeandev 维护,开源协议为 MIT。
它提供确定性的、零 LLM 的字节预算上下文压缩功能。核心价值在于“字节级精确召回”:经过压缩的历史内容,agent 可以通过 recall 工具逐字还原,无需重新生成。
核心功能¶
- Deterministic, zero-LLM, byte-budget context compaction:基于确定性的规则进行压缩,不消耗 LLM 资源。
- Byte-exact recall of compacted history:压缩后的历史可以精确还原,保证上下文信息不丢失。
- Locally compacts old history in milliseconds:本地执行压缩,速度极快。
- Keeps request small when session grows past a byte limit:自动控制请求大小,防止超限。
安装与启用¶
安装需要三步:添加包、创建预设、重启并选择预设。
1. 添加插件包¶
在目标 profile 下添加插件:
dsh plugin --profile web add dsh-hypercompact
2. 创建 Hypercompact 预设¶
运行预设创建脚本。该脚本会复制 DSH 内置的 standard 预设,并将压缩引擎替换为 dsh-hypercompact:
node ~/.dsh/profiles/web/node_modules/dsh-hypercompact/scripts/create-preset.mjs
脚本会根据 DSH 版本自动处理预设路径(如 ~/.dsh/hypercompact/preset-hypercompact/ 或 ~/.dsh/.agent-presets/hypercompact/)。
3. 重启并使用¶
- 重启 DSH (
dsh web)。 - 新建会话,在预设选择器中选择 Hypercompact (standard)。
- 在会话中输入
/hypercompact查看状态,或输入/compact手动触发压缩。
兼容性与注意事项¶
DSH 版本要求¶
- 支持范围:DSH
>=0.1.5-rc.2且<0.3.0。 - 0.3.0 及以上:插件启动时会拒绝加载,除非在配置中设置
allowUntestedHarness: true。 - 0.1.5-rc.1 及以下:不支持。
Node.js 版本¶
插件需要 Node.js ^22.19.0 或 >=24.0.0。
总结¶
dsh-hypercompact 解决了长会话上下文管理难题,通过本地、确定性的字节级压缩,在不牺牲信息完整性的前提下控制了请求体大小。适合需要在 DSH 中进行长时间对话或处理大量历史记录的开发者使用。