dsh-live-compact:邊做邊壓,保留前綴緩存

前言

在 DeepSeek Harness(DSH)裏跑長任務時,對話日誌、命令輸出和工具返回值會一層層疊在上下文裏。上下文越長,下一輪請求的輸入 token 越多;若走雲端 API,還會影響前綴緩存命中和計費。不少團隊的做法是等上下文快滿再讓模型做一次大摘要,或者手動刪減歷史。這兩種方式要麼打斷節奏,要麼容易誤刪仍被後續推理依賴的內容。

dsh-live-compact(社區名 tranquillitatis-lab/dsh-live-compact)由 Tranquillitatis-Lab 維護,歸類爲模型推理相關插件。它在每一輪對話收尾時,在本機檢查是否有可安全收短的長輸出,能壓則壓;不額外請求模型。壓縮只替換選中的片段,切點之前的正文保持不動,從而儘量保留已建立的前綴緩存。整理前會備份原文,備份失敗則保留原內容。

這是什麼

插件全稱對應 npm 包 dsh-live-compact,當前資料中的版本爲 1.1.4,許可證 MIT。README 的一句話定位是:邊做邊壓 Live Compact——Compress the finished turn in place and keep the prefix cache.

它掛在 DSH 的插件體系上運行(engines.dsh 要求 >=0.2.0-rc.2 <0.3.0),依賴 Node ^22.19 || >=24,並與 @deepseek-ai/dsh-compaction 等配套包協同。社區目錄頁:https://www.skillhub.cn/plugins/Tranquillitatis-Lab/dsh-live-compact;源碼與說明:https://github.com/Tranquillitatis-Lab/dsh-live-compact。

核心功能

輪次內就地壓縮

每輪結束時插件檢查上下文。默認在累計約 2 萬 token 後纔開始評估是否值得壓縮;是否真動刀還取決於本輪讀入內容與下一輪預期長度。接近窗口上限時,DSH 仍可走官方大摘要路徑,與插件的小切互補。

壓縮在本機完成,不經模型重寫整段歷史。失敗工具結果會保留退出碼、錯誤類型和標準錯誤/標準輸出中的關鍵原因;過長時保留原因與首尾,避免把失敗卡片寫成「正常完成」。

前綴與記賬

1.1.0 起把「最新一張卡片」當作切點地板,避免切點走到已有卡片左側導致前綴緩存被打掉。一次收尾可連切多刀;rewrite 統計改爲一次收尾只記一筆(第一刀之後的前綴減去後續幾刀省下的),明細落在 shadow 目錄的 spine-cuts.jsonl(僅序號、token、切點,不含消息原文)。

備份與安全

替換前備份選中片段。Windows 上對備份目錄使用固定 PowerShell 流程寫 DACL,僅允許當前用戶、SYSTEM、Administrators 完全控制;權限失敗則本進程後續備份熔斷,壓縮仍可進行。Unix 側爲目錄 0700、文件 0600。插件以當前 DSH 進程權限讀寫備份與影子文件,安裝前宜自行查看源碼與 LICENSE。

可選與配置

平常默認參數即可。實驗性模型摘要模式 SPINE_THUNDER 默認關閉,本地或內網模型建議保持關閉;試用時設爲 1。常用壓縮參數可在 DSH 插件設置中修改,並保留環境變量用法。雲端大壓縮三項可通過 SPINE_THRESHOLD_RATIO、SPINE_HEADROOM_TOKENS、SPINE_RETAIN_TOKENS 等環境變量覆蓋(雲端默認仍爲 0.8、65536、8192);也可改 cordis.patch.yml 中對應字段。

安裝與啓用

下面命令來自項目 README,請按你使用的 DSH profile 擇一執行。

headless:

dsh plugin --profile headless add dsh-live-compact@1.1.4

網頁端:

dsh plugin --profile web add dsh-live-compact@1.1.4

若只想在本機查看 CLI 版本:

npm install -g dsh-live-compact
dsh-live-compact --version

安裝後無需單獨改配置即可參與輪次收尾壓縮;要調閾值或實驗模式再改插件設置或環境變量。

典型用法與如何看效果

雲端 API(DeepSeek、GLM 等)

按上一節安裝插件後正常完成任務。README 建議先看答案是否正確,再結合緩存命中、未命中輸入 token 與實際費用評估。命中率百分比不是費用本身;輸入變少時要連同 token 數一起比較。

資料中的 1.1.1 測評示例(DS V4.1 Flash,10 組 31 輪填日誌):填日誌 230/230;首步緩存約 98.64%;spine-cuts.jsonl 合計壓縮節省 65 180 token;任務牆鍾 36 分 18 秒。圖中「含切割輪次牆鍾」含模型、工具與網絡等待,小切本身爲毫秒級。

本機或內網模型

同樣用上述 dsh plugin add 命令。優先看答案是否正確、當前上下文是否下降、實際少掉多少 token。界面顯示「上下文 2 萬多」表示仍保留的內容量,並不等價於「未壓縮」。本地側重上下文與複用,不設雲端那套固定命中率門檻;同一任務前後可對比複用量與預填充耗時。

可用 dsh-live-compact stats 查看運行統計(含 rewrite 等字段)。

適用場景與注意

適合:長時間編碼、查庫、讀大文件的 DSH 會話;既用雲端 API 又在意前綴緩存與輸入 token,或用本地模型且上下文經常頂到窗口。

注意:

  1. 插件與 DSH 同進程權限運行,會寫備份與 shadow 元數據;共享備份目錄、多會話併發時需遵守 README 中的目錄獨佔與 ACL 規則。
  2. 默認 2 萬 token 起才檢查壓縮,短會話可能全程不觸發小切,屬預期行爲。
  3. 社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標、fork 等以 GitHub 公開頁爲準(資料線索:約 161 stars、12 forks)。
  4. 維護方在 README 中提供離線門禁 npm run test:gate;連模型長測爲 npm run test:live-gate,供貢獻者與發版驗證,終端用戶一般只需通過 DSH 安裝啓用。

結尾

dsh-live-compact 把「收短已完成輪次裏的長輸出」做成每輪收尾的本地步驟,在儘量不動前綴的前提下控制上下文增長。若你在 DSH 長會話裏被日誌和工具輸出撐滿窗口,可按 README 版本安裝試用,並用題目正確性、token 與緩存指標對照評估。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜