dsh-stage-gate:DeepSeek Harness 的階段驗收門插件

前言

在 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_open
  • gate_check
  • gate_list
  • gate_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
羽毛球分组比赛记分
小程序二维码

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

小夜