Linxiushen/dsh-workflow-isolate ↗★ 2

dsh-workflow-isolate

QuickJS/WASM-isolated WorkflowEngine for running model-written DeepSeek Harness orchestration with bounded resource controls. 适合需隔离执行模型编排且控制资源的用户,需指定 Node 与 DSH 版本。

패키지
dsh-workflow-isolate
호환성
미검증
Harness peer 범위
0.1.0-rc.7
Cordis peer 범위
>=4.0.1-rc.1 <5
버전
0.1.0
라이선스
MIT
최근 업데이트
2026. 9. 11.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Linxiushen/dsh-workflow-isolate

Configuration

The bundle ships with a conservative deployment profile:

- id: workflow-worker-thread
  disabled: true

- insert:
    - id: workflow-isolate
      name: dsh-workflow-isolate
      config:
        provider: spawn
        memoryLimitBytes: 67108864
        maxInterruptTicks: 250000
        maxAgentRequestBytes: 1048576
        maxWallTimeMs: 600000
        maxConcurrentAgents: 0
        maxTotalAgents: 1000
        maxItemsPerCall: 4096
        disposeGraceMs: 3000

maxConcurrentAgents: 0 asks the engine to derive a bounded value from available CPU parallelism. A profile's own cordis.patch.yml is applied after bundle layers and can replace this row's config. Cordis row configs replace rather than deep-merge, so restate every value you need when overriding it.

Resource limits are deployment policy, not script options. Lower them for exposed or multi-user deployments, and remember that child-agent cost is primarily controlled by maxConcurrentAgents and maxTotalAgents, not QuickJS memory.

Millisecond timer settings are capped at Node.js's maximum single-delay value (2,147,483,647) so oversized values cannot be clamped to an immediate timeout.

All engine defaults are listed below. The bundle patch relies on static defaults for values it does not restate.

KeyDefaultPurpose
providerspawnHost-side subagent provider
memoryLimitBytes64 MiBQuickJS guest heap ceiling
maxStackBytes1 MiBQuickJS interpreter stack ceiling
maxInterruptTicks250,000QuickJS interrupt-fuel budget per run
maxScriptBytes256 KiBUTF-8 workflow body ceiling
maxResultBytes1 MiBUTF-8 serialized final-result ceiling
maxAgentRequestBytes1 MiBUTF-8 JSON ceiling for one prompt and its agent options
maxWallTimeMs600,000Host-observed run deadline, including child waits
workerMemoryLimitMb128 MiBV8 old-generation ceiling for the worker bridge
maxConcurrentAgents0Auto-resolves to min(16, max(1, availableParallelism() - 2))
maxTotalAgents1,000Accepted agent() calls per run
maxItemsPerCall4,096Items per parallel() or pipeline() call
disposeGraceMs3,000Cleanup grace before forced worker termination