前言¶
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/limitgrep:pattern + pathedit/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