阶段门治理工具:模型可直接调用的 gate_open / gate_check / gate_list / gate_close,为多阶段工作提供内存态、按会话隔离的验收核对与通过/阻塞结论。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:changingwang/dsh-stage-gate
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
为 DeepSeek Harness 提供的阶段门(Stage Gate)治理工具。
模型可直接调用的阶段门:创建验收清单、带证据核对、输出清晰的 通过 / 阻塞 结论——为运行多阶段工作的 Agent 提供治理层。状态保存在内存中,按会话隔离。
中文 | English
功能
在 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 "<id>" 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
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 31680
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3995
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1130
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 499
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 477
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 443
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。