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 做验收检查。每个验收项可以使用 metunmetn/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_opengate_checkgate_listgate_close 会作为工具暴露给模型。

典型用法

先创建 gate,再检查验收项,最后关闭 gate。工具签名如下:

gate_open(gateId, title, stage?, items)
gate_check(gateId, items)
gate_list()
gate_close(gateId, reason?)

gate_checkitems 中每一项需要表达验收结果,可使用 metunmetn/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
羽毛球分组比赛记分
小程序二维码

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

小夜