DeepSeek Harness (DSH) 的核心設計理念之一是插件化。在使用過程中,會話壓縮是保持上下文長度可控的關鍵操作。默認情況下,DSH 在執行 /compact 或自動壓縮時,使用的是上一輪對話中回答問題的模型。如果你在 Web UI 中切換了模型,但隨後運行 /compact,系統仍會使用舊模型生成摘要。dsh-compact-selected-model 插件解決了這個問題,它讓壓縮操作使用當前選定的模型。
插件介紹¶
這是 DeepSeek Harness 的一個客戶端插件,用於在壓縮會話摘要時,使用當前選定的模型,而非上一輪的模型。該插件由 DenAbr 維護,採用 MIT 許可證。
安裝與兼容性¶
在安裝前,請確保你的 DeepSeek Harness 版本在 0.1.7-rc.2 到 0.2.x 之間。
1、運行安裝命令:
npx @deepseek-ai/dsh plugin --profile web add dsh-compact-selected-model
2、安裝完成後,重啓 dsh web 服務。
核心功能與原理¶
插件支持 /compact 命令以及自動壓縮功能。其工作邏輯如下:
- 模型選擇機制:在 Web UI 中選擇模型時,DSH 會向會話添加一個
model/selection事件。該選擇會一直保持待處理狀態,直到下一次請求使用它。 - 請求攔截:插件會監聽
llm/stream事件。當檢測到一個請求的purpose爲'compaction',且會話中有待處理的模型選擇時,插件會將該請求發送給選定的模型。 - 覆蓋策略:如果
compaction-basic中顯式設置了summarizationModel,插件將不會介入,保持原有行爲。
注意事項¶
在使用過程中需注意以下幾點:
- 日誌顯示差異:會話日誌中的
compaction/summary事件仍會顯示舊模型名稱,因爲記錄該事件的是compaction-basic組件。實際的請求去向可在主日誌中查看。 - 自動壓縮閾值:自動壓縮的閾值仍基於上一個模型的上下文窗口計算。
- 運行模式限制:該插件依賴會話控制器的
modelSelection投影,因此在無頭(headless)運行模式下不起作用。 - 失敗處理:如果選定的模型失敗(例如觸發了速率限制或上下文窗口不足),壓縮操作也會隨之失敗。此時需要切換回可用的模型並重新運行
/compact。
典型用法¶
在 Web UI 中切換模型後,直接運行 /compact 即可。插件會使用當前選定的模型來生成會話摘要。
總結¶
該插件爲 DSH 用戶提供了更靈活的會話壓縮控制能力,允許根據當前意圖選擇最合適的模型來處理摘要生成。
- GitHub 倉庫: https://github.com/DenAbr/dsh-compact-selected-model
- 插件目錄: https://www.skillhub.cn/plugins/DenAbr/dsh-compact-selected-model