在 DeepSeek Harness (DSH) 中,每一輪對話都會重發整個歷史記錄。當對話長度增加,輸入令牌成本會迅速上升,成爲主要的開銷。dsh-squeeze-command 旨在解決這個問題。它提供手動、預算導向的上下文壓縮:對話模型選擇範圍,廉價的高速模型(閃存級)負責寫入摘要。
是什麼¶
這是一個 DSH 插件,用於按需壓縮會話上下文。它由 hardes11 維護。它通過讓對話模型選擇範圍,並由廉價的高速模型編寫摘要,從而減少輸入令牌成本,同時保留原始會話日誌。
核心功能¶
- 切割重發內容:通過一個命令即可將對話壓入預算範圍內,且摘要由配置的廉價路由生成,而非昂貴的對話模型。
- 無丟棄內容:每次壓縮都會在表面留下檢查點,原始消息保留在追加式會話日誌中;
/squeeze map可用於瀏覽它們。 - 抵抗壓縮後困惑:每個檢查點摘要都帶有明確的狀態行,並計算來自未壓縮尾部的可信摘要,防止模型在摘要描述的工作未完成時重新進入該工作。
- 僅在你詢問時觸發:沒有閾值,沒有自動觸發,且拒絕在代理回合進行時運行。
- 無需調度代理:摘要委託已內置,你只需運行一個命令,其餘一切都在其中發生。
安裝與啓用¶
1、克隆插件到 DSH 命令目錄:
git clone https://github.com/hardes11/dsh-squeeze-command.git ~/.dsh/commands/dsh-squeeze-command
2、在預設的 agent.cordis.yml 中掛載並配置。需要指定目標令牌預算和摘要模型:
- id: command-squeeze
name: 'dsh-squeeze-command'
config:
contextBudgetTokens: 100000
summarizerProvider: <your-provider>
summarizerModel: <your-flash-model>
命令用法¶
1、/squeeze:壓縮到配置的 contextBudgetTokens(預設配置)。
2、/squeeze 60k:一次性指定壓縮目標(例如 60000 tokens)。
3、/squeeze status:查看當前會話的 token 估算、預算和摘要器狀態。
4、/squeeze map:生成 HTML 交互地圖,查看壓縮前後的對比和保留比例。
5、/squeeze help:查看完整使用指南。
注意事項¶
- 僅手動模式:插件拒絕在代理回合進行中運行。
- 緩存失效:壓縮會重寫上下文前綴,從而使提示緩存失效;建議在緩存已過期或不需要緩存時運行。
- 模型要求:摘要路由應配置爲廉價、快速模型(推薦閃存級),因爲摘要任務不需要高推理強度。
- 必要配置:運行前需配置
contextBudgetTokens、summarizerProvider和summarizerModel。
總結¶
dsh-squeeze-command 是 DeepSeek Harness 中用於控制上下文成本的實用工具。它通過手動觸發和閃存級摘要模型,在保持上下文完整性的同時減少令牌消耗,適合需要長時間運行、對輸入成本敏感的會話場景。