前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在模型推理過程中,長對話上下文容易導致上下文溢出或壓縮效果不佳,影響推理穩定性。原生壓縮機制在特定場景下可能失效。
dsh-compact-saviour 插件旨在解決這一問題。它通過獨立的壓縮模型和救援機制,爲 DSH 提供更可靠的上下文壓縮能力。該插件由 aa2246740 維護,遵循 MIT 許可證,當前適配 DSH 版本爲 0.2.0-rc.2(要求 peer 依賴 >=0.2.0-rc.1 <0.2.1)。
核心功能¶
該插件提供以下核心能力:
* 獨立模型自動壓縮:使用配置的獨立模型進行摘要,不執行歷史中的工具、文檔指令或嵌入提示。
* 長按壓縮:在上下文圓環處長按 650 毫秒即可觸發壓縮。
* 一鍵手動壓縮:在設置面板中配置模型後,可直接點擊按鈕執行壓縮。
* 失敗兩次後救援模式:當官方壓縮連續兩次失敗後,插件會靜默切換到配置的獨立模型進行救援。
* 分塊壓縮:根據模型上下文容量動態分塊,不再固定八塊或限制每塊 32K,支持多語言保守估算。
* 保留原始日誌:摘要是有損壓縮,可能漏掉細節,但原始會話日誌始終保留。
安裝與啓用¶
安裝前請確保已安裝 DeepSeek Harness >=0.2.0-rc.1 <0.2.1。插件運行不依賴 dshx、Creator Mode、Harness 源碼或本地構建。
桌面應用¶
- 打開 DeepSeek Harness 或 DSH Studio,進入 插件 頁面,點擊 添加插件。
- 在 包名或地址 中填入以下內容,按官方安裝嚮導操作:
dsh-compact-saviour@0.2.8
- 安裝完成後,打開 設置 → Compact Saviour,選擇壓縮模型及 reasoning level 並保存。
Web Host(CLI)¶
使用官方 dsh CLI 時:
dsh plugin --profile web add dsh-compact-saviour@0.2.8
若未全局安裝 dsh 命令,使用 npx:
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-compact-saviour@0.2.8
Release 安裝包¶
從 v0.2.8 Release 下載 .tgz 文件,在官方插件管理器中選擇該安裝包即可。
典型用法¶
安裝並配置完成後,可以通過以下方式使用:
- 配置:進入設置,選擇一個獨立的壓縮模型(如小參數模型)和推理等級,保存。
- 長按壓縮:在對話輸入欄的上下文圓環處長按 650 毫秒,系統會立即啓動壓縮。圓環位置會顯示
Open Bot Motion #7 satellite小機器人動畫,按鈕內文案會每 6 秒輪換(如“正在壓縮”、“給下一輪對話騰點空間”)。 - 手動壓縮:點擊圓環打開原 popup,在其中點擊 手動壓縮 按鈕。
自動救援邏輯¶
插件默認採用“官方連續失敗兩次後救援”模式。即先由官方處理,連續兩次符合條件的失敗後,插件靜默使用配置模型接管。手動壓縮和長按操作始終直接使用配置模型,不經過官方失敗檢查。
實現細節與限制¶
壓縮策略¶
插件通過包裝官方的 BasicCompactionEngine 和 TokenMeter 實例,不修改原型或核心源碼。
* 分塊邏輯:根據模型上下文容量估算,扣除輸出預留、提示詞封裝及 15% 安全餘量後計算分塊數。能整段容納則只調用一次,否則最多同時請求兩塊再合併。
* 預算計算:結合目標會話模型、固定提示及工具計算摘要預算。輸入長度爲多語言保守估算(當前 DSH 未提供逐模型 tokenizer)。
* 錯誤處理:遇到 CONTEXT_WINDOW_EXCEEDED 時縮小超限部分並繼續。每條分支最多縮小四次。
性能與邊界¶
- 超時限制:單次請求最多 2 分鐘,整個救援流程最多 10 分鐘。
- 日誌保留:摘要僅替換模型下次看到的會話表面,原始會話日誌保留。
- 有損壓縮:摘要是有損操作,可能漏掉細節。
適用場景¶
- 上下文窗口受限,需要更激進的壓縮策略。
- 希望通過獨立模型(而非當前會話模型)進行壓縮,以節省會話額度。
- 需要可靠的救援機制以防止壓縮失敗導致對話中斷。
注意事項¶
- 摘要質量依賴模型能力及預算估算,不能將聲明窗口視爲質量保證。
- 插件通過可選公共服務
compactionRoutes與其他插件協作。 - 卸載插件後,會恢復原生壓縮邏輯,但已壓縮的會話狀態不變。
結語¶
dsh-compact-saviour 通過提供獨立的壓縮模型、分塊策略以及失敗救援機制,增強了 DeepSeek Harness 在長對話場景下的穩定性。對於追求可控壓縮流程的開發者,這是一個實用的補充工具。