Introduction

When deploying large models locally, the context window for a single conversation is often short due to VRAM or hardware constraints, making it difficult to directly process long documents or complex long-running tasks. DeepSeek Harness (DSH) provides plugin-based extensibility. dsh-plugin-task-runner is one of its workflow plugins. It implements a “task decomposition mode” where the main agent decomposes tasks, subagents execute them in parallel, and results are synthesized, thereby bypassing the context limitations of local models.

What It Is

This is the “task decomposition mode” agent preset for DeepSeek Harness. It is maintained by weixshaw and belongs to the workflow category. Its core value lies in breaking a large task into independent subtasks, having subagents execute them in parallel within fresh short contexts, and allowing the main agent to only aggregate results.

Core Features

  • Task decomposition and parallel execution: The main agent decomposes large tasks, and subagents work in parallel in isolated contexts.
  • Context isolation: Subagents have fresh short contexts, completely isolated from the parent session context, preventing information leakage or interference.
  • Custom parameters: Supports customizing concurrency count, worker model, fallback model, timeout, and other parameters.
  • External memory: Supports persisting long-term state to the workspace .task-runner/ directory in a structured way.
  • Budget control: Supports configuring worker context budgets and result return bandwidth budgets to prevent main context bloat.

Installation and Activation

Use DSH’s command-line tool to install:

dsh plugin --profile web add dsh-plugin-task-runner

After installation, restart web (or refresh the page), and select “Task Decomposition Mode” in the mode selector to enable it. During plugin installation, the preset is automatically copied to the ~/.dsh/.agent-presets/task-runner/ directory.

Configuration

The configuration file is located at ~/.dsh/.agent-presets/task-runner/config.json, and you can also place task-runner.config.json in the project root for project-level overrides. The following are the core configuration items:

{
  "maxConcurrentWorkers": 1,
  "worker": {
    "provider": "omlx",
    "model": "root4k/Huihui-Qwen3.8-27B-abliterated-oQ4e-mtp"
  },
  "fallback": {
    "provider": "deepseek-official",
    "model": "deepseek-v4-flash"
  },
  "maxWorkerContextTokens": 40000,
  "maxReplanRounds": 2,
  "workerTimeoutMinutes": 30,
  "maxWorkerResultTokens": 2000
}
  • maxConcurrentWorkers: The maximum number of subagents running simultaneously. For machines with limited memory, it is recommended to set this to 1.
  • worker: The default local model configuration used to execute subtasks.
  • fallback: The cloud fallback model used when a subtask exceeds local capabilities.
  • maxWorkerContextTokens: The context budget for the local worker.
  • maxWorkerResultTokens: The upper limit for the summary bandwidth returned by each worker to the main agent, preventing the main context from expanding linearly with the number of workers.

Dependencies and Prerequisites

This plugin depends on the dsh-plugin-subagent-director plugin. If this dependency is not installed, workers cannot be routed to local models and can only use cloud models.

Additionally, you need to configure the local model endpoint in DSH’s settings.yaml (such as the OpenAI-compatible interface deployed via omlx) so that workers can call it.

External Memory

The plugin creates a .task-runner/ directory in the workspace to store long-term state:
* state.json: The current phase, goal, todo items, and decisions.
* tasks.json: The task list (ID, status, worker, summary path).
* findings/: Key findings categorized by topic.
* artifacts/: The full output from workers.
* summary.md: The handoff summary at task completion.

Notes

  • When configuration takes effect: After modifying configuration, it takes effect at the start of the next session.
  • Fully local mode: After enabling the “Fully Local Mode” toggle, you still need to manually switch to a local model in the model selector before the main agent truly uses local models.
  • Session restart: Some configuration changes or dependency issues may require restarting the application or refreshing the page to be resolved.

Short Closing

dsh-plugin-task-runner resolves the challenge of processing long context with local large models through decomposition and isolation mechanisms. Combined with external memory and flexible configuration, it is suitable for complex, long-chain development or analysis tasks.

Repository: https://github.com/weixshaw/dsh-plugin-task-runner