dsh-compact-tuner:在 Composer 裏按對話調節上下文壓縮

前言

DeepSeek Harness(DSH)在長對話裏會通過 @deepseek-ai/dsh-compaction-basic 做自動上下文壓縮。觸發時機和壓縮後保留多少尾部,由 preset 裏的 thresholdRatio 與 retainTokens 決定:前者決定測得的 totalTokens 何時越過閾值觸發壓縮,後者決定壓縮時原樣保留的尾部 token 預算。這兩項在 preset 裏是全局的——改一次通常要重啓,且對所有對話同一套策略。長任務和短問答往往需求不同:有人希望晚點壓、保住單輪完整性,有人希望早點壓、省窗口;保留尾部多少,又直接影響接下來幾步還能不能接上上下文。社區裏已有插件只調閾值,或能覆蓋閾值和保留量但需改 preset、換 compaction 後端且無界面。下面介紹 dsh-compact-tuner:兩個參數都能在會話裏調,不換後端。

這是什麼

dsh-compact-tuner 由維護者 YumoFinn 發佈,分類爲模型推理。它在輸入框上方提供壓縮參數面板,對當前對話覆蓋 thresholdRatio(觸發比例)和 retainTokens(保留量),改動下一步生效,新對話回到默認值。數據寫在本地 ~/.dsh/storages/compact-ratio.json,不上傳。

核心功能

觸發比例(thresholdRatio)

與 preset 中含義一致:thresholdTokens = min(窗口 × 比例, 窗口 − 輸出預留 − headroom),測得的 totalTokens 越過該值即觸發壓縮(在壓力觸發路徑下;見下文「注意」)。

面板頁籤可選:20%、25%、35%、自定義 5%–95%、跟隨默認。

保留量(retainTokens)

壓縮時原樣保留的尾部 token 預算。resolveCompactSpec 要求其嚴格小於閾值,否則後端會拋錯。

面板頁籤可選:8k、20k、40k、自定義 1k–200k token、跟隨默認。

實現要點(便於理解邊界)

插件裝飾壓縮引擎的 compactIfNeeded:調用前換入帶覆蓋的配置副本,在引擎同步前綴結束後還原。根層 ctx.compaction 直接裝飾;preset 使用 isolate: { compaction: true } 時,在每個 agent 的第一步通過 agentPresets.serviceFor(agent, 'compaction') 取得引擎並按實例去重,切 preset 不會重複包裝。無覆蓋、非壓力觸發或引擎不可用時,走原方法。

安裝與啓用

在 desktop profile 下安裝:

dsh plugin --profile desktop add dsh-compact-tuner

安裝後重啓 DSH。也可在側欄「插件」頁搜索安裝。不需要改 preset;上述 isolate 場景下插件會在 agent 第一步取出壓縮引擎一併裝飾,開箱即用。

package.json 標明運行要求:Node >=22,DSH >=0.2.1-rc.3 <0.3.0;當前插件版本爲 0.1.1,許可 MIT。

典型用法

  1. 點擊輸入框上方的「壓縮 xx%」打開面板,在兩個頁籤裏分別選觸發比例與保留量。
  2. 或用命令查看與設置當前對話的比例:
/compact-ratio            查看當前對話的比例
/compact-ratio 0.25       設爲 25%
/compact-ratio default    清除覆蓋
頁籤 取值 對應配置
觸發比例 20% / 25% / 35% / 自定義 5%–95% / 跟隨默認 thresholdRatio
保留量 8k / 20k / 40k / 自定義 1k–200k token / 跟隨默認 retainTokens

適用場景與注意

適合誰: 需要在同一條 DSH 進程裏,對不同對話臨時切換「何時壓、壓後留多少尾」,又不想改 preset、重啓或替換 compaction 後端的開發者。

務必知曉:

  • 插件以當前 DSH 進程的權限運行;安裝前應自行查看 GitHub 倉庫 源碼與 MIT 許可證。
  • 只作用於壓力觸發的壓縮;上下文溢出後的恢復不保留尾部,屬後端行爲。
  • 若保留量 ≥ 閾值,後端會拋 retainTokens must be less than threshold;插件捕獲後回退到按比例計算的默認尾部,並在 compact-ratio.health.json 記一條,日誌有 warn。
  • 模型級 modelPolicies 裏顯式寫的保留策略優先於面板設置。

DSH 生態強調「一切皆插件」;社區目錄站點與 DeepSeek / 幻方無官方從屬關係,本文安裝命令與行爲以倉庫 README 爲準。

結尾

經過上面的步驟,dsh-compact-tuner 把全局 preset 裏的壓縮觸發比例與保留量,收斂成「當前對話、Composer 裏可改、下一步生效」的工作流,與只調閾值或需改 preset 的同類插件形成互補。

  • 目錄頁:https://www.skillhub.cn/plugins/YumoFinn/dsh-compact-tuner
  • GitHub:https://github.com/YumoFinn/dsh-compact-tuner
羽毛球分组比赛记分
小程序二维码

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

小夜