dsh-step-governor:DSH 步數熔斷插件

前言

DeepSeek Harness(DSH)的插件生態裏,長任務往往會出現「步數膨脹」:模型在十幾步內反覆重推同一結論,或者對同一目標反覆換路徑嘗試。這類空轉會消耗大量 token,且模型往往「知道自己在空轉卻停不下來」。

插件 dsh-step-governor 在步驟層面提供硬熔斷能力:不依賴提示詞勸導,而是通過機械計算判據剝奪繼續空轉的執行權。

插件定位

  • 類型:DSH 插件(admin-security 分類)
  • 維護者:JiewiW
  • 版本:0.1.4
  • 許可證:MIT

它是對 dsh-cot-anchor 的姊妹插件:cot-anchor 在單次生成內做軟切,step-governor 在跨步驟做硬熔斷。長任務賬單的大頭是「步數 × 每步膨脹的上下文重讀」,步數治理正是針對這個槓桿。

兩個熔斷點

熔斷 宿主鉤子 動作
G1 步級 agent/pre-step {kind:"reject"},終止當前回合
G2 支線 tools/pre-execute {kind:"deny"},跳過工具調用並回填錯誤文本

G1-A 滑窗失速

近 8 步滑窗內出現連續 4 步無文本交付、無文件變更,且窗內成功工具佔比 ≤ 0.25、reasoning 總量 < 160 字。後兩個條件用來排除「安靜幹活」的正常步驟。

G1-B 指紋重現

同一段推理結論的指紋跨 6 步重現且其間無文件變更。專抓「每步都讀到新東西、卻在重推同一結論」。

G1-C 硬頂

單回合 60 步安全網。

G2-A 同一目標調用過載

同一調用目標(歸一化後的文件 / URL / 命令 / 參數)嘗試超過 3 次。

G2-B 連續失敗

同一目標連續失敗 2 次,與「同命令失敗最多重試 2 次」紀律對齊。

目標鍵歸一化(G2 用)

不同工具的鍵體組成如下:

  • read:文件路徑 + offset/limit
  • grep:pattern + path
  • edit / write:文件路徑 + 變更語料哈希
  • pwsh / bash / sh:管道首段全部參數 + 後續段哈希
  • 其他工具:依次取 file_path/path/url/command/pattern/script/query/name
  • 兜底:上述字段均取不到時,回退到全參數規範化 JSON 的哈希

工作模式

五檔,灰度順序 shadow → g2b → g2 → g1g2:

模式 行爲
off 完全透傳,不觀測
shadow 觀測並寫結構化日誌,永不攔截(默認)
g2b 僅 G2-B(連續失敗)強制攔截
g2 G2-A + G2-B 攔截,G1 仍只觀測
g1g2 G1 + G2 全部攔截(實驗檔,標記爲 experimental)

安裝與配置

安裝命令:

dsh plugin --profile <你的profile> add github:JiewiW/dsh-step-governor#v0.1.3

加載成功時 stderr 會打印一行:

[dsh-step-governor] {"mode":"shadow","at":"loaded","thresholds":{...}}

配置項

插件加載後在 DSH 設置頁出現「步數治理」卡片,14 項配置可直接改並持久化。也可用 GET/POST /plugins/step-governor/settings 讀寫(GET 返回完整 schema)。

環境變量

環境變量作爲啓動初始值,優先級最高(顯式設置的鍵,設置頁保存不會覆蓋):

環境變量 對應配置 默認
DSH_GOVERNOR_MODE mode shadow
DSH_GOVERNOR_G1A_N g1aZeroSteps 4
DSH_GOVERNOR_G1B_K g1bFingerprintSteps 6
DSH_GOVERNOR_G1C_MAX g1cMaxStepsPerTurn 60
DSH_GOVERNOR_G2A_M g2aSameTargetCalls 3
DSH_GOVERNOR_G2B_F g2bConsecutiveFailures 2

能力邊界

  • G2 的目標鍵歸一化識別不了「換一種方法追同一個目的」(直連 → token → cookie → 本地緩存),那需要理解每步意圖。
  • 「每步都成功、內容不重複、但整體在偏離任務」屬於語義級空轉,本插件不覆蓋。
  • 熔斷只讓模型更早帶着已有證據停手,不保證已交付內容正確。
  • 與 goal 自動續跑驅動並存時,pre-step 鉤子的註冊順序仍屬待覈實項。

測試

項目提供純邏輯斷言 + 僞內核鉤子集成斷言,共 21+ 用例。shadow / g2b / g1g2 三檔真實啓動冒煙結果見 SMOKE-REPORT.md。

適用場景與注意

適合需要在長任務中控制步數膨脹、減少無效重算的場景。插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證(MIT)。

實驗期間建議用獨立 profile + 獨立端口運行,不要直接在日常 profile 開啓強制檔。

結語

dsh-step-governor 提供了步驟層面的硬熔斷能力,通過滑窗、指紋、調用計數等機械判據,在長任務中攔截空轉步數。其默認 shadow 模式保證零誤殺,通過環境變量或設置頁可逐步灰度到攔截檔位。

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

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

小夜