Introduction¶
The core philosophy of DeepSeek Harness is “everything is a plugin.” When building complex agent workflows, manually managing task dependencies (DAG) is often tedious and error-prone. This plugin addresses this issue by introducing a declarative task orchestration approach, allowing models to directly define task topology through tool calls and automatically validate and execute it.
Plugin Positioning¶
This plugin is maintained by community developer apheli0os and is a declarative task DAG orchestration tool for DeepSeek Harness. It is open source under the MIT license and is not an official DeepSeek component.
Core Features¶
- Registering model tools: The plugin registers a tool named
orchestrate_taskswith the model for model invocation. - Graph validation: Before executing any tasks, the plugin first validates that the task graph is a bounded directed acyclic graph (DAG), preventing infinite loops or invalid dependencies.
- Deterministic execution: Tasks are executed via the host-provided
ctx.workflowEngine, using a deterministic topological layering strategy. - Secure data passing: Only JSON-formatted data is passed, and no JavaScript source-code interpolation is performed, avoiding potential security risks.
Installation and Activation¶
The installation command is as follows:
dsh plugin --profile web add dsh-tool-orchestrate
Replace web with the actual configuration file name you are using. The plugin declares a DSH bundle manifest, and after installation its tool-orchestrate Cordis line is automatically added.
Before installation, ensure that the host deployment provides the following components:
- ctx.tools
- ctx.systemPrompt
- ctx.workflowEngine (typically provided by @deepseek-ai/dsh-workflow-worker-thread)
- a subagent provider selected by the workflow engine
For custom compositions, you may need to add the configuration manually:
- id: tool-orchestrate
name: 'dsh-tool-orchestrate'
Typical Usage¶
The model invokes the orchestrate_tasks tool by passing meta and tasks parameters. tasks must be a non-empty array, and each task object contains the following fields:
id: a lowercase kebab-case string.title: the task title.prompt: the task prompt.- Optional configuration:
dependsOn(an array of dependent task IDs),provider,model,outputSchema.
After execution completes, the returned result preserves the order of the original task array and contains the text or structured value for each task. If a subtask fails, the parent task status becomes { status: 'failed', error: 'subagent_failed' }; if skipped due to a failed dependency, the status is skipped.
Use Cases and Notes¶
Use Cases:
- Building complex workflows with multiple steps and explicit dependencies is required.
- Orchestrating tasks with declarative configuration rather than writing JavaScript code.
Notes:
- This is an independent community plugin, not an official DeepSeek package.
- The host environment must have ctx.workflowEngine configured.
- Direct installation from a GitHub repository is not supported; installation must be done via npm.
- The plugin does not own or store API keys and uses the credentials from the host deployment.
- API keys must not be placed in prompts, cordis.yml, source code, or GitHub Actions logs under any circumstances.
Summary¶
This plugin simplifies the development process for DeepSeek Harness workflows through declarative configuration and deterministic execution. For more details, refer to the Plugin Catalog or the GitHub Repository.