前言¶
在 DeepSeek Harness(DSH)裏跑長對話或長任務時,上下文會一路漲。DSH 默認在大約 80% 窗口用量時才觸發一次「大壓縮」:要再調模型、十幾秒量級、還要計費;壓完注意力容易飄,窗口很快又堆滿,1M 上下文也扛不住反覆壓。社區插件 dsh-live-compact(維護者 MerkyorLynn,GitHub MerkyorLynn/dsh-live-compact)走另一條路:Live Compact,邊做邊壓——在任務還在跑的時候就地切掉剛結束的一輪,不爲此單獨調模型,切點前面的原文不動,前綴緩存命中水平儘量保持原樣,從而把上下文長期壓在較低位置,官方大壓縮能拖則拖。
這是什麼¶
dsh-live-compact 是 DSH 社區目錄中的「模型推理」類插件(SkillHub 目錄頁:merkyorlynn/dsh-live-compact)。一句話:In-place newest-turn compaction——對剛結束的一輪做就地壓縮,任務進行中持續生效,並儘量保留前綴緩存。
與「等到 80% 再壓」不同:超過約 2 萬 token 就對剛結束的這一輪切一刀,不調用模型;切點之前的原文不動。官方配置裏的 0.8 只管 DSH 自帶的大壓縮,不管這一刀;想改小切起點,只能在啓動前設置環境變量 SPINE_MIN_TOKENS(README 未給出默認值以外的示例,以文檔爲準)。
核心功能¶
邊做邊壓(Spine cut)¶
- 上下文超過約 2 萬 token 時觸發小切,對象是剛結束的一輪,不調模型。
- 日誌裏出現
spine cut …ms表示這一刀生效。 - 被切掉的原文寫入本機
~/.dsh/compaction-spine/shadow(僅本機可讀,只增不刪);備份目錄超過 64MB 時這一刀不再切,舊文件不自動刪,需自行清理。本機路徑不發給模型。
摘要規則(1.0.3 / 1.0.4)¶
1.0.3 起:摘錄只留正文;用戶與助手句子按規則保留並標註說話者;思考與工具結果不進摘要(原文進本地備份並帶來源)。去掉「已確認」;摘要開頭說明是舊內容摘錄,不是新指令或授權。若這一刀做不出合格摘要,整段留下、不調模型。
1.0.4 起:較短工具結果可留在摘要裏,標爲工具輸出、不標已確認——不超過 12 行且不超過 512 字則整段留下;更長則只留一行說明字數與「正文已省略」,省略原文在 shadow 目錄,文件名含短編號;需要時再讀,不默認讀回。思考仍不進摘要。
與預設壓縮的關係¶
headless 可直接切。網頁與 Desktop 安裝對應版本後,四個預設在加載時會嘗試把組裏的原版壓縮換成此包;換不上則落回原版,預設仍能啓動(見 GitHub issue #5)。DSH-TUI 換不掉預設裏的原版壓縮,README 明確建議先不要裝。
測評數據(README 原文,兩場分開)¶
README 提供了兩場測評,不混在一張表裏;均爲 1.0.2 之前測得,1.0.2 未重跑 150 題,也未在真實超過 2 萬 token 的會話裏切過一刀。
150 道編程短題(Aider polyglot-benchmark 7e0611e,Python / Go / JavaScript / Rust / Java 各 30 題,串在同一次對話):原版與 Live Compact 均 150/150 通過;Live Compact 費用約 \(1.15**(原版 **\)1.50),緩存命中 244.3M(原版 335.0M),上下文峯值 589K(原版 679K),壓縮側爲 145 刀、2.2 秒(原版 1 次、12.8 秒)。國內鏡像說明頁:live-compact.html。
WebUniverse 長鏈路 20 題:插件側 20 刀、74 毫秒,題末平均上下文比原版低約 40.8%,結束上下文低約 25.4%;採樣命中率與原版同量級(README 表格與說明見倉庫)。
以上數字均來自倉庫 README,使用前請自行對照當前版本是否重測。
安裝與啓用¶
依賴:DSH >=0.2.0-rc.2 <0.3.0;Node ^22.19 || >=24(見 package.json)。當前 README 安裝包版本爲 1.0.4;1.0.0–1.0.3 舊包仍在原鏈接,1.0.4 使用新安裝地址。
headless:
dsh plugin --profile headless add https://download.merkyorlynn.com/downloads/plugins/dsh-live-compact-1.0.4.tgz
網頁(Desktop 用對應 profile,包地址相同):
dsh plugin --profile web add https://download.merkyorlynn.com/downloads/plugins/dsh-live-compact-1.0.4.tgz
也可先裝到本機覈對版本:
npm install -g --force "https://download.merkyorlynn.com/downloads/plugins/dsh-live-compact-1.0.4.tgz"
dsh-live-compact --version
裝上後跑長任務,在日誌中確認 spine cut …ms。插件通過 cordis.patch.yml 以 bundle patch 方式接入 DSH,與 @deepseek-ai/dsh-compaction 等 peer 包同版本線配合使用。
典型用法¶
README 未給出單獨的業務配置 YAML 示例;典型路徑是:按 profile 安裝 1.0.4 包 → 用 headless / web / Desktop 跑長對話或長任務 → 觀察日誌中的 spine cut → 必要時用 shadow 目錄找回被省略原文。若需調整小切起點,在啓動 DSH 之前設置 SPINE_MIN_TOKENS。
適用場景與注意¶
適合:單次會話裏 token 持續增長的開發或評測任務;希望減少對大壓縮的依賴、壓低上下文峯值與部分緩存/費用壓力的場景(具體收益隨任務而異,以 README 測評爲參考而非保證)。
注意:
- TUI 暫不支持替換預設壓縮,勿裝。
- shadow 目錄 64MB 上限後停止切刀,需自行清理。
- 插件以當前 DSH 進程權限運行;安裝前請閱讀 GitHub 源碼與 MIT 許可證,自行評估備份與摘要策略是否符合環境要求。
- SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以目錄與 GitHub 頁面爲準(README 抓取時 GitHub 23 stars)。
結尾¶
dsh-live-compact 把壓縮從「窗口快滿再調模型」改成「超閾值就地對剛結束一輪下刀」,前綴不動、大壓縮往後拖。需要安裝命令與版本說明時,以 README 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/MerkyorLynn/dsh-live-compact
- GitHub:https://github.com/MerkyorLynn/dsh-live-compact
- 說明與測評鏡像:https://download.merkyorlynn.com/live-compact.html