Linxiushen/dsh-workflow-isolate

基于QuickJS/WASM隔离的工作流引擎,用于DeepSeek Harness,具备有界资源控制。

Project Overview项目介绍

dsh-workflow-isolate is a drop-in WorkflowEngine for DeepSeek Harness that runs model-written orchestration scripts in QuickJS/WASM. It preserves DSH workflow hooks and lifecycle events while bounding guest memory, stack, interrupt fuel, wall time, worker termination, and child-agent budgets. Use it when workflow scripts are not fully trusted. Caveat: QuickJS/WASM is not perfect isolation; the host subagent provider remains trusted, so review the security model before cross-trust deployment.

dsh-workflow-isolate 是 DSH 的可替换 WorkflowEngine,用 QuickJS/WASM 运行模型编写的编排脚本,保留 workflow 钩子与生命周期,并限制内存、栈、中断燃料、截止时间、worker 终止和子代理预算。适合运行不完全可信的工作流脚本。注意:它不是完美沙箱,宿主子代理提供方仍受信,跨信任边界部署前需读安全模型。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:Linxiushen/dsh-workflow-isolate

把 Linxiushen/dsh-workflow-isolate 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-workflow-isolate

CI

简体中文 | Architecture | Security model | Compatibility

dsh-workflow-isolate is a drop-in WorkflowEngine for DeepSeek Harness that runs model-written orchestration scripts in QuickJS/WASM. It preserves the DSH workflow hooks and lifecycle events while adding an independent JavaScript runtime, bounded guest memory and stack, interrupt fuel, a host wall deadline, forced worker termination, and child-agent budgets.

DeepSeek Harness's official worker-thread engine deliberately uses node:vm as an API-shaping mechanism. Its documentation states that it is not a security boundary and calls for a different engine when scripts are not trusted. This project explores that engine seam without changing the model-facing workflow tool.

[!IMPORTANT] QuickJS/WASM is a stronger language boundary than node:vm, not a claim of perfect isolation. The host-side subagent provider remains trusted and can use its configured model, tools, network, and credentials. Runtime vulnerabilities, side channels, supply-chain compromise, and host denial of service remain relevant. Read the security model before deploying it across trust boundaries.

Why this exists

Model-written workflow code sits in an unusual middle ground: it needs enough JavaScript to coordinate many agents, but it should not inherit Node.js authority merely because the harness is written in Node. dsh-workflow-isolate narrows that gap:

  • A fresh QuickJS runtime and realm are created for every workflow run.
  • The guest receives only args, agent, parallel, pipeline, phase, and log; no process, require, Node module loader, filesystem, network, or timers are injected.
  • Only a plain-JSON projection crosses the guest boundary. Functions and symbols cannot cross; cycles, sparse arrays, non-finite numbers, and exotic prototypes are rejected.
  • QuickJS heap, stack, and interrupt-fuel limits constrain script computation. A host wall deadline and worker termination cover code that does not cooperate with cancellation.
  • Concurrency, total-agent, and per-combinator item caps bound orchestration fan-out.
  • Child agents stay on the host and are reached only through a narrow RPC bridge to the configured DSH subagent provider.
  • The engine preserves WorkflowRun, never-rejecting results, bounded disposal, and paired workflow/* lifecycle events expected by DSH consumers.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-odoo-sdd 下一个 Next dhs-tuicode →