dsh-workflow-isolate: QuickJS/WASM-isolated workflows for DeepSeek Harness rc.7 #2928
Linxiushen
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I built
dsh-workflow-isolate, an experimentalWorkflowEngineprovider for DeepSeek Harness0.1.0-rc.7.DeepSeek Harness's stock worker-thread engine uses
node:vmto shape the model-facing workflow API, and its documentation explicitly notes thatnode:vmis not a security boundary. This project explores the same engine extension seam with a fresh QuickJS/WASM runtime for every workflow run.我沿着 DeepSeek Harness 的
WorkflowEngine扩展点实现了一个独立引擎:不改变模型看到的 workflow 工具,而是将模型生成的编排脚本放进每次运行新建的 QuickJS/WASM runtime 中。What it provides / 主要能力
process,require, module loader, filesystem, network, or timers / Guest 不主动获得 Node 全局对象、模块加载、文件系统、网络或定时器agent,parallel,pipeline,phase,log,args, structured outputs, and lifecycle eventsThe goal is to stop model-written orchestration JavaScript from automatically inheriting Node.js authority simply because the Harness host runs on Node.
Security scope / 安全边界
QuickJS/WASM is a stronger language-runtime boundary than
node:vm, not a perfect or OS-level sandbox. The host-side subagent provider remains trusted and retains its configured model, tool, network, and credential access. Runtime vulnerabilities, dependencies, side channels, supply-chain risk, and host denial of service remain in scope.The project has not received an independent security audit. High-risk or mutually hostile multi-tenant deployments should still add process/container isolation, OS quotas, and network policy. The repository includes a dedicated security model and threat model so these assumptions are explicit.
Compatibility and install / 兼容与安装
v0.1.0deliberately targets the DSH0.1.0-rc.7workflow packages. QuickJS is not V8, so workflow bodies must use portable JavaScript and cannot rely on Node APIs, dynamic imports, ambient timers, or V8-specific behavior.The package is not published to npm yet. Install the release tarball:
The first release has 41 automated tests. Production-bundle and downloaded-release smoke tests pass, and CI is green on Ubuntu/Windows with Node.js 22.19 and 24. The repository also includes architecture and compatibility documents, a reproducible benchmark harness, examples, contribution guidance, and a security policy.
Feedback on real-world QuickJS compatibility, resource-policy defaults, cancellation behavior, and which upcoming DSH workflow API changes to track first would be especially useful.
All reactions