DeepSeek Harness Hub
← 返回列表

阶段门治理changingwang/dsh-stage-gate

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

为多阶段 Agent 创建验收清单并核对证据,输出通过或阻塞结论

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/18 · 已提供中文文档
综合分
27.7
GitHub 分
27.7
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add changingwang/dsh-stage-gate
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-user-questions
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-stage-gate

为 DeepSeek Harness 提供的阶段门(Stage Gate)治理工具。

模型可直接调用的阶段门:创建验收清单、带证据核对、输出清晰的 通过 / 阻塞 结论——为运行多阶段工作的 Agent 提供治理层。状态保存在内存中,按会话隔离。

功能

在 ctx.tools 注册四个工具:

| 工具 | 用途 |
|------|------|
| gate_open(gateId, title, stage?, items) | 创建阶段门,含完整验收清单(状态 open)。 |
| gate_check(gateId, items) | 核对阶段门:每次提交整份验收项(整体替换);每项 met/unmet/n/a + 可选 evidence。任一 unmet 则阻塞,全部 met/n/a 则通过。 |
| gate_list() | 列出会话中所有阶段门及其生命周期状态。 |
| gate_close(gateId, reason?) | 关闭阶段门(closed)。关闭后拒绝再次 gate_check,除非设置 allowReopen。 |

生命周期

open → in_review → passed   (全部项 met/n/a)
│                  │
│                  └── blocked   (存在 unmet) → (allowReopen) → open
└────────────────────────────→ closed (gate_close)

- 门的 status 是生命周期状态机。
- 最近一次 gate/check 的 conclusion 记录最近一次核对结果。

安装

dsh plugin --profile web add dsh-stage-gate
dsh web

工具即对模型可见。需已配置模型密钥与 DeepSeek provider(参见 DeepSeek Harness Web UI 指南)。

配置

allowReopen(默认 true):是否允许对 closed 的 gate 再次 gate_check。为 false 时,核对已关闭的 gate 会抛出 Error: gate "" is closed。

在 profile 的 cordis.patch.yml 覆盖:

- id: tool-stage-gate
config:
allowReopen: false

工作原理

架构图

gate 状态保存在内存中,按 Agent 会话隔离(gate_open / gate_check / gate_close 操作以"会话 + gate id"为键的内存 Map)。

本插件刻意不写自定义会话事件(gate/*)。DeepSeek Harness 的会话持久化拒绝重载含"白名单之外事件类型"的日志(除非事件带 ignorable 标记),而 Session.append 无 API 设置该标记——自定义插件事件会导致会话重启后无法加载。详见 docs/BUG-2026-08-17-session-log-pollution.md。

取舍:gate 状态在 harness 重启后重置。这是外部插件在官方开放"下游插件事件注册面"之前的正确代价。

开发

pnpm install
pnpm test       # vitest(14 个测试)
pnpm typecheck  # 严格 tsc
pnpm build      # 产出 lib/

兼容性

- 需要 DeepSeek Harness >=0.1.0-rc.5。
- 仅 Web profile(工具面向模型)。
- gate 状态为内存态,harness 重启后重置(见"工作原理")。

许可

MIT © 2026 changingwang

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群