前言¶
DeepSeek Harness (DSH) 的上下文壓縮機制用於處理長會話,將早期對話壓縮爲 checkpoint 以節省 token。官方默認的後端是 dsh-compaction-basic,其摘要提示詞爲英文通用模板,存在兩個主要問題:一是容易丟失精確值(如版本號、文件路徑、命令串、錯誤串),這對量化或編程 Agent 是致命的;二是強制英文輸出,導致中文會話閱讀割裂。
dsh-compaction-pro 是一個高保真、雙語、遞歸的上下文壓縮後端插件。它只重寫 summarize() 這一核心鉤子,其餘壓力/保留/token 計量策略完全繼承官方實現,作爲 dsh-compaction-basic 的升級替換方案。
安裝與啓用¶
通過官方命令行工具安裝:
dsh plugin --profile web add dsh-compaction-pro
安裝後,需要在配置文件中註冊並禁用內置後端,否則會導致服務衝突。
- 打開配置文件
~/.dsh/profiles/web/cordis.patch.yml。 - 添加
compaction-pro插件定義。 - 顯式禁用
compaction-basic。
示例配置如下:
# 1) 禁用內置後端,防止衝突
- id: compaction-basic
disabled: true
# 2) 註冊 dsh-compaction-pro
- id: compaction-pro
name: 'C:/Users/<you>/dsh-plugins/dsh-compaction-pro/src/index.ts'
config:
faithful: true
recursive: true
summaryLanguage: auto
thresholdRatio: 0.8
retainRatio: 0.16
maxTokens: 8192
核心功能¶
dsh-compaction-pro 的核心能力集中在“摘要質量”的提升上:
- 高保真:強制保留精確數值、路徑、命令、標識符,絕不改寫。
- 雙語支持:摘要語言跟隨會話語言(
auto模式),支持中文輸出。 - 遞歸分塊:對於大段內容,先分塊壓縮再合併,避免因
maxTokens限制導致的信息截斷。 - 決策還原:不僅保留關鍵決策,還包含決策理由及被否決的替代方案。
- 工具結果保留:單列“關鍵工具輸出”段,保留返回結構、重要返回值或文件片段。
- 自定義指令:通過
customInstruction參數可整段替換內置摘要提示詞。
配置參數¶
插件通過 YAML 配置文件控制行爲。主要參數包括:
| 配置項 | 類型 | 默認值 | 說明 |
|---|---|---|---|
faithful |
boolean | true |
開啓高保真模式,保留精確值。 |
summaryLanguage |
string | 'auto' |
摘要語言,支持 'en'、'zh' 或 'auto'(跟隨會話)。 |
recursive |
boolean | true |
開啓遞歸分塊,處理大段內容。 |
customInstruction |
string | — | 自定義摘要提示詞,完全覆蓋默認邏輯。 |
thresholdRatio |
number | 0.8 |
觸發壓縮的上下文窗口比例。 |
retainRatio |
number | 0.16 |
保留近期尾部的上下文比例。 |
maxTokens |
number | 8192 |
摘要生成的 token 上限。 |
summarizationProvider / summarizationModel |
string | — | 指定摘要使用的模型,留空則複用會話路由模型。 |
注意事項¶
- 服務衝突:本插件與內置的
dsh-compaction-basic共享同一個ctx.compaction服務接口,不能同時啓用。必須顯式在配置文件中禁用compaction-basic。 - 早期開發階段:插件處於
dsh v0.1.0-rc.6開發階段,上游 API 可能存在破壞性變更,建議關注版本更新。 - 類型定義:由於官方未導出部分內部類型,本插件的類型定義鏡像了官方內部類型,若上游契約變更,插件可能失效或崩潰。
總結¶
dsh-compaction-pro 通過改進摘要提示詞,解決了 DSH 默認壓縮後丟失精確值和語言割裂的問題。它通過繼承官方策略,實現了“壓得動”且“壓不歪”的效果。
- 插件主頁:https://github.com/helibeiqi/dsh-compaction-pro
- 目錄頁:https://www.skillhub.cn/plugins/helibeiqi/dsh-compaction-pro