前言¶
在 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 的同時,確保關鍵證據(如失敗日誌、結構化數據)能被模型正確感知和利用。