用门禁卡住关键步骤,人工审批后才放行
27.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add TtTRz/dsh-gatedflow该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 82 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求packages/dsh-gatedflow/src/client.ts:98
const response = await fetch('/gatedflow/gates', { cache: 'no-store' }) - 发起网络请求packages/dsh-gatedflow/src/client.ts:120
await fetch('/gatedflow/decide', {
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-timer@deepseek-ai/dsh-fs@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-shell@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 关键步骤门禁拦截
- 人工审批后放行
- 人机协同工作流
为 DeepSeek Harness 打造的可控、持久的人机协同工作流引擎。
README
由 DeepSeek 最新模型翻译生成dsh-gatedflow
面向 DeepSeek Harness 的门禁式、可持久、人在环 工作流引擎——门禁即控制流:"务必验证 / 确认 / review" 的规则活在引擎里,而不是 prompt 里,任何 agent 都无法在高负载下绕过。
零突变 replan · 门禁即控制流 · 声明式 subflow。
引擎核心不含 LLM,也不依赖任何 orchestrator。
包结构
| 包 | 职责 | 依赖 |
| @gatedflow/engine | 框架无关的引擎核心:校验、展开、确定性条件、工作流状态机 | 无 |
| @gatedflow/dsh | DSH 适配层:gf_* 工具、门禁面板 UI、防绕过 guard、文件持久化 | @gatedflow/engine + DSH 服务 |
一张图看懂
用户任务 ──► agent 组合 atomics(Ref/Inline)──► gf_start │ 路① 单项 Ref ──────────────────┐ │ 路② 多项/含 inline ── pre_start_gate(人审计划) ▼ shell(command + expect)─ interrupt(面板人审门) handoff(交回 agent)── conditional(结构化字段判定) ▼ done(引擎自动追加)
展开完整文档(README 剩余 1 节)
dsh-gatedflow
面向 DeepSeek Harness 的门禁式、可持久、人在环 工作流引擎——门禁即控制流:"务必验证 / 确认 / review" 的规则活在引擎里,而不是 prompt 里,任何 agent 都无法在高负载下绕过。
零突变 replan · 门禁即控制流 · 声明式 subflow。
引擎核心不含 LLM,也不依赖任何 orchestrator。
包结构
| 包 | 职责 | 依赖 |
| @gatedflow/engine | 框架无关的引擎核心:校验、展开、确定性条件、工作流状态机 | 无 |
| @gatedflow/dsh | DSH 适配层:gf_* 工具、门禁面板 UI、防绕过 guard、文件持久化 | @gatedflow/engine + DSH 服务 |
一张图看懂
用户任务 ──► agent 组合 atomics(Ref/Inline)──► gf_start │ 路① 单项 Ref ──────────────────┐ │ 路② 多项/含 inline ── pre_start_gate(人审计划) ▼ shell(command + expect)─ interrupt(面板人审门) handoff(交回 agent)── conditional(结构化字段判定) ▼ done(引擎自动追加)
- 门禁是控制流。 interrupt 步骤暂停引擎;用户在会话中的面板卡片上批准/否决。模型 agent 没有任何 approve/reject 通道——gf_advance 拒绝它们(guard + schema 双保险),人审决定从面板直达引擎。
- 零突变。 agent 无权改写 workflow 状态、参数或路由。失败只有两条路:step 级失败且声明 pause_on_failure → 暂停 → 人修复 → retry (前置成果保留);否则 abort → 失败 → 人审 → 起新 workflow。
- 声明式 subflow。 workflow 是 JSON/YAML 数据,加载时结构校验、启动时快照——人批的计划就是执行的计划。
- 引擎不含 LLM。 语义判断在 agent 侧完成并返回结构化字段;引擎
只计算确定性算子(==、!=、>=、、<、contains、&&、||、!)。
快速开始
npm install
npm run check # build + typecheck + 单元测试
跑一个 workflow(DSH 用户视角)
适配层注册 7 个工具。agent 组合计划后:
gf_start({ atomics: [
{ name: 'gf-verify-demo', params: { note: 'hello' } },
{ type: 'shell', params: { command: 'echo done', expect: 'true' } },
]})
- 单项 Ref 确定性运行预设(不包门)。
- 多项 / 含 Inline 自动包 pre_start_gate:引擎暂停,计划以面板卡片出现在输入框上方。点 ✓ 批准 继续,点 ✕ 否决 中止。
- handoff 门暂停等 agent;agent 用
gf_advance(handoff_complete, result) 回传结构化结果。
- 声明了 pause_on_failure 的失败 step 会显示待续跑卡片;人修复环境后 gf_advance(decision: 'retry') 只重跑该 step。
写一个 subflow
把 JSON 文件放进 subflows 目录——会话工作区的 .gatedflow/subflows (自动扫描,同名优先)或共享根目录(默认 ~/.gatedflow/subflows,可用 GATEDFLOW_SUBFLOWS_DIR 覆盖)——然后调 gf_reload_subflows(热加载,无需重启):
{
"name": "release",
"description": "客观校验的构建 + 人审 + 发布",
"keywords": ["release", "build", "review"],
"params": { "branch": { "required": true } },
"steps": [
{ "id": "build", "type": "shell", "params": { "command": "npm run build", "expect": "test -f dist/index.js", "max_retries": 1, "pause_on_failure": true }, "on_success": "review", "on_failure": "abort" },
{ "id": "review", "type": "interrupt", "params": { "message": "发布 ${branch}?" }, "on_approve": "publish", "on_reject": "abort" }, { "id": "publish", "type": "shell", "params": { "command": "npm publish" }, "on_success": "next", "on_failure": "abort" } ] }
更多示例见 examples/subflows/。
架构
- docs/DESIGN.md —— 根约束、step 模型、routing、数据引用、门禁协议、持久化与反卡死设计,含决策记录。
- docs/INTEGRATION.md —— 在 DSH 组合中挂载适配层、环境变量、工具参考与 agent 技能引导。
开发
npm install
npm run test # 单元测试(vitest,engine + adapter)
npm run typecheck # 两个包的全量严格类型检查
npm run build # engine + dsh 的 tsc 产物
引擎包刻意零依赖、框架无关;DSH 适配层是对 harness 服务(fs/shell/tools/timer/subagents;gateway 行额外消费 webServer)的薄类型化接线层。
欢迎贡献——见 CONTRIBUTING.md。
现状
v0.1 交付引擎核心 + DSH 适配层:shell/interrupt/handoff/conditional/ agent_delegate/agent_resume 步骤、门禁面板、防绕过 guard、门禁超时、 /stop 安全的中断语义、热加载 subflow、有界尾部审计日志、按引用恢复的持久化(状态与审计落在工作区 .gatedflow/)。
路线图:更完善的 YAML 编写体验、把高频动态组合固化为具名预设的 solidify 流程。
License
MIT —— 见 LICENSE。
与 gatedflow 的关系
本项目是对 gatedflow 理念面向 DeepSeek Harness 的独立原生实现,沿用其词汇(atomics、subflow、pre_start_gate、零突变 replan、决策记录),但全部在 harness 原生原语上从零重新实现——引擎核心为 TypeScript 编写,无任何外部依赖。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
TtTRz/dsh-gatedflow
用门禁卡住关键步骤,人工审批后才放行
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 426,451已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,777已汉化MCP
71.8
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲一键通z91772524-ai/pojia-next
🌐 官网国内推荐从这里进:
★ 1,021已汉化DSH
71.6
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 656已汉化DSH
70.7
这是你的仓库?认领条目