前言¶
在 DeepSeek Harness(DSH)裏跑多階段任務時,如果只在提示詞里約定“先做 X,再做 Y”,檢查點仍然依賴模型自覺遵守。dsh-stage-gate 把階段驗收做成模型可調用的工具:模型可以打開一個 stage gate、提交驗收項、查看當前會話裏所有 gate,並在必要時關閉 gate。
下面介紹這個插件的定位、能力、安裝方式和注意事項。
這是什麼¶
changingwang/dsh-stage-gate 是一個面向 DeepSeek Harness 的 stage-gate 治理插件,由 changingwang 維護,許可證爲 MIT。
它註冊四個模型可調用工具到 ctx.tools:
gate_opengate_checkgate_listgate_close
這些工具用於在同一 agent session 內做驗收檢查。狀態保存在內存中,作用範圍是當前 agent session;harness 重啓後狀態會重置。
核心能力¶
創建驗收門¶
gate_open(gateId, title, stage?, items) 創建一個 stage gate,並帶上驗收清單,初始狀態爲 open。
檢查驗收項¶
gate_check(gateId, items) 對指定 gate 做驗收檢查。每個驗收項可以使用 met、unmet 或 n/a,也可以附帶 evidence。
查看當前會話裏的 gate¶
gate_list() 列出當前 session 中的所有 gate,以及它們的生命週期狀態。
關閉 gate¶
gate_close(gateId, reason?) 關閉指定 gate。關閉後,默認情況下再調用 gate_check 會被拒絕,除非設置了 allowReopen。
安裝與啓用¶
該插件要求:
- DeepSeek Harness
>=0.1.0-rc.5 - 模型 keys 已配置
- DeepSeek provider 已配置
- 僅用於 Web profile,因爲這些工具是面向模型可見的
安裝並啓用步驟如下:
dsh plugin --profile web add dsh-stage-gate
dsh web
安裝後,gate_open、gate_check、gate_list、gate_close 會作爲工具暴露給模型。
典型用法¶
先創建 gate,再檢查驗收項,最後關閉 gate。工具簽名如下:
gate_open(gateId, title, stage?, items)
gate_check(gateId, items)
gate_list()
gate_close(gateId, reason?)
gate_check 的 items 中每一項需要表達驗收結果,可使用 met、unmet 或 n/a,也可以提供 evidence。
如果需要禁止關閉後的 gate 再次被 gate_check,可以在 profile 的 cordis.patch.yml 中覆蓋配置:
- id: tool-stage-gate
config:
allowReopen: false
allowReopen 默認是 true。當設置爲 false 時,對 closed gate 調用 gate_check 會拋出:
Error: gate "<id>" is closed
適用場景與注意¶
適合這些情況:
- 使用 DeepSeek Harness 的 Web profile
- 需要模型在多階段工作中顯式創建和檢查驗收門
- 只關心當前 session 內的驗收狀態
- 接受 gate 狀態在 harness 重啓後重置
需要注意:
- Gate 狀態是 in-memory 的,按 agent session 作用域管理
- 該包故意不寫自定義 session events
- 僅適用於 Web profile,工具是模型可見的
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證
- 許可證爲 MIT © 2026 changingwang
資源¶
- 社區目錄頁:https://www.skillhub.cn/plugins/changingwang/dsh-stage-gate
- GitHub:https://github.com/changingwang/dsh-stage-gate