前言¶
在 DeepSeek Harness (DSH) 的开发中,工具返回的日志、JSON 或 HTML 往往包含大量重复或低信息量的内容,这会快速消耗模型的上下文窗口。如果直接截断,可能会丢失关键的错误信息或堆栈根因。
DSH 本身已有基于硬性大小的回退机制(Spill Store),但缺乏对“证据”的感知。dsh-tool-squeeze 插件运行在 tools/post-execute 生命周期上,在结果发送给模型前,通过本地确定性算法进行压缩,优先保留错误、警告和结构化样本。
是什么¶
dsh-tool-squeeze 是一个用于 DeepSeek Harness 的证据保留工具输出压缩插件。它不依赖 LLM 进行压缩,也不修改 Harness Core 本体,而是通过公开的插件接口进行安全集成。
维护者: w2829562572-dev
许可证: MIT
核心价值: 在压缩上下文的同时,确保关键证据(如错误、失败信息)不被遗漏,并通过官方 Spill Store 保留原始格式。
核心功能¶
该插件专注于本地化、确定性的处理流程,主要能力包括:
- 确定性本地处理:在模型调用前进行压缩,不引入额外的模型调用开销。
- 证据保留压缩:在压缩时优先保留 head(头部)、tail(尾部)、errors(错误)、warnings(警告)以及结构化样本。
- 多格式支持:支持对 logs(日志)、JSON、HTML 和 plain text 进行处理。
- 原始保留机制:通过 DSH 官方的 spill store 保留原始格式化内容,确保可追溯性。
- 安全隔离:通过
tools/post-execute生命周期集成,解析或压缩器的异常不会导致工具调用失败。
安装与配置¶
安装¶
通过 DSH 插件管理器安装该插件:
dsh plugin --profile web add github:w2829562572-dev/dsh-tool-squeeze
配置¶
插件默认启用,配置项定义在 cordis.patch.yml 中。默认参数如下:
enabled: true
minTokens: 4000
targetTokens: 6000
maxTokens: 12000
processors:
log: true
json: true
html: true
text: true
preserve:
headLines: 80
tailLines: 120
errors: true
warnings: true
report:
enabled: true
excludeTools: []
retainOriginal: true
使用示例¶
在 cordis.patch.yml 中覆盖默认配置,可以调整压缩阈值或排除特定工具:
- id: dsh-tool-squeeze
config:
minTokens: 6000
targetTokens: 5000
excludeTools: [database_export]
如果需要禁用原始保留(不推荐),可设置 retainOriginal: false。
注意事项¶
- 环境要求:运行环境需满足
Node >= 22.19。 - 依赖项:插件依赖于以下 Peer Dependencies:
@deepseek-ai/cordis ^4.0.1@deepseek-ai/dsh-tools 0.1.0-rc.8
- 安全优先级:插件的优先级逻辑为
Safety > information preservation > compression ratio。小于minTokens的输出保持不变;错误和警告信息始终优先保留。 - 异常处理:插件内部的解析器或压缩器异常会被捕获,且插件失败不会导致工具调用转变为系统错误。
总结¶
dsh-tool-squeeze 提供了一种在 DSH 生态中管理大型工具输出的方案。它通过本地确定性压缩,帮助开发者在节省上下文 Token 的同时,确保关键证据(如失败日志、结构化数据)能被模型正确感知和利用。