DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Task Splitter — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
T

dsh-task-splitter

Task Splitter

DSH host plugin: detect long tasks (long-output and multi-step kinds) and auto-split them for small-context local models — scaffolds a parts skeleton or a PLAN.md ledger and injects the execution rules.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Passenger-Qin/dsh-task-splitter#70049a08baea49cca95860725ef52d2a89b78bee
READMECompatibilityVersions

Compatibility and provenance

Task Splitter is published as dsh-task-splitter and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/11/2026

Versions

0.1.0stable
10/11/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/11/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in agents-orchestration.

Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Ds Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsDSCODE Desktop@toddzheng024/dscode-desktopCoding collaboration, memory, browser workflows and task management for Harness Desktop.Headless@deepseek-ai/dsh-headlessThe dsh one-shot bundle: a direct core Agent/Session runner over dsh-base with no Host, HTTP, or browser layer

README

dsh-task-splitter

A DSH host plugin that notices long tasks and splits them before they fail — built for small-context local models.

中文说明见下方

Small local models (llama.cpp / Ollama, e.g. Qwen3 27B at IQ2 with maxTokens: 8192) fail long tasks in two completely different ways. This plugin detects both on the host side and hands the model an executable procedure, instead of hoping the model judges its own limits.

Lane A — long outputLane B — long workflow
Example"write a 3000-word industry report, 4 sections""pick me a stock likely to rise tomorrow"
Prompt shapeusually explicitoften tiny ("pick me a…")
Real bottleneckthe per-request output budget (maxTokens)step count and context: tool output floods the window, a small model drifts, intermediate results get lost
What this plugin doesscaffolds tasks/<slug>/parts/NN-*.md + MANIFEST.json; one part per reply, then assemblescaffolds tasks/<slug>/PLAN.md + notes/; plan first, one step per reply, results on disk

How it decides

Scoring runs in the host (no model cooperation needed):

  • Lane A signals — explicit word/char count, explicit part count, numbered section list (used as part titles), long-document keywords + a writing verb, very long prompt, multi-deliverable phrasing.
  • Lane B signals — decision/research verbs (pick / recommend / evaluate / compare / analyse / predict / research / screen) plus a data-dependent domain noun (stocks, funds, housing, flights, insurance, papers, competitors, laptop…), explicit multi-step phrasing, or "needs current external data".
  • Single-lookup requests ("what's the weather tomorrow") are deliberately clamped below the threshold.

Examples:

PromptResult
what's the weatherno split
look up tomorrow's weather for meno split (single lookup)
recommend me a movieno split (score 2 < 3)
pick me a stock likely to rise tomorrowLane B → PLAN.md + notes/, "plan first, one step per reply"
compare these three laptops and pick oneLane B
write a 3000-word industry report, 4 partsLane A → 4-part skeleton
a prompt with a 1./2./3. section listLane A (part titles taken from the list)

The procedure is injected with agent/pre-step prepended to the very same request (no extra round trip), and only for steps that start from a human message.

Install

dsh plugin --profile <your-profile> add dsh-task-splitter

Restart DSH afterwards. To build from source: npm pack then dsh plugin --profile <your-profile> add file:./dsh-task-splitter-0.1.0.tgz.

Requires a DSH host that exposes agent/pre-step, ctx.agents and ctx.sessions (@deepseek-ai/dsh-agent / dsh-session ^0.1.1-rc.2 || ^0.2.0-rc.1).

Configuration

# in your profile cordis patch (or a home patch)
- id: task-splitter
  config:
    enabled: true
    providers: [qwen-local]   # empty array = every provider
    lanes: [parts, plan]      # drop one to disable that lane
    minScore: 3               # Lane A threshold
    workflowScore: 3          # Lane B threshold (raise to 4 to be more conservative)
    maxParts: 8               # Lane A: at most this many parts
    wordsPerPart: 900         # Lane A: target chars per part
    tasksDir: tasks           # relative to the session working directory
    toolPath: ''              # CLI used in the injected rules; defaults to the bundled one

Bundled CLI

dsh-task-parts (also exported as dsh-task-splitter/task-parts) drives Lane A outside the model:

node bin/task-parts.mjs init <taskDir> --title "T" --parts "one|two|three"
node bin/task-parts.mjs status <taskDir>     # ✅/⬜ per part, exits 2 while incomplete
node bin/task-parts.mjs next <taskDir>       # the next part to write
node bin/task-parts.mjs assemble <taskDir>   # concatenates into final.md

Limitations (please read)

  • Lane B guarantees process and honesty (plan, evidence on disk, sources, uncertainty, "do not fabricate data"), not the correctness of the answer. A local model with no market/financial data source cannot honestly predict tomorrow's stock move — the procedure makes it say so instead of inventing numbers.
  • Detection is heuristic. workflowScore / minScore are the knobs; the plugin never blocks a turn — worst case it adds one short instruction message.
  • Tested against a Windows DSH 0.2.0-rc.2 host with llama.cpp-served Qwen3; 27 offline simulation cases ship in test-sim.mjs (not included in the npm tarball).

License

MIT


中文说明

DSH 宿主插件:在长任务失败之前识别它并拆开 —— 为小上下文本地模型而做。

本地小模型(llama.cpp / Ollama,例如 maxTokens: 8192 的 Qwen3-27B IQ2)会在两类完全不同的长任务上翻车, 本插件在宿主侧把两类都识别出来,并交给模型一套可执行的规程,而不是指望模型自己判断极限。

车道 A:产出型车道 B:流程型
例子"写一篇 3000 字的行业报告,分 4 部分""帮我选一只明天大概率会涨的股票"
提示词通常明确可能极短
真正瓶颈单次输出预算(maxTokens)步骤数与上下文:工具结果塞满窗口、小模型多步跑偏、中间结果丢失
插件动作建 tasks/<slug>/parts/NN-*.md + MANIFEST.json;每轮只写一段,最后 assemble建 tasks/<slug>/PLAN.md + notes/;先立计划、每轮一步、结果落盘

判定在宿主侧打分(不依赖模型自觉):车道 A 看字数/分段/分节列表/长文关键词/超长提示词; 车道 B 看决策研究类动词 + 依赖数据的领域名词、显式多步措辞、是否需要实时外部信息; 单次查询类("帮我查一下天气")会被压到阈值以下。

规程通过 agent/pre-step 前置到同一次请求里(不额外耗一轮),且只处理以人类消息开始的那一步。

安装:

dsh plugin --profile <你的profile> add dsh-task-splitter

装完重启 DSH。配置项同上(lanes / minScore / workflowScore / maxParts / wordsPerPart / tasksDir / toolPath)。

局限:车道 B 保证的是过程与诚实性(计划、证据落盘、来源、不确定性、禁止编造数据),不保证答案正确; 本地没有行情/财务数据源时,它就该说"给不出可靠结论",而不是编数字。检测是启发式的, workflowScore / minScore 可调;最坏情况只是多注入一条很短的指令,不会阻塞任何一轮。

MIT 许可。