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.

Root Planner Preset — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
R

dsh-root-planner-preset

Root Planner Preset

DSH agent preset: a context-conserving root agent that delegates reading to strictly read-only subagents and owns every file mutation.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:XiaoOu2024/dsh-root-planner-preset#ba99323383edebaa18fbe3ec84c54642ae5d0d14
READMECompatibilityVersions

Compatibility and provenance

Root Planner Preset is published as dsh-root-planner-preset and currently resolves to version 1.0.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/16/2026

Versions

1.0.0stable
10/16/2026

Related plugins

Loading related plugins…

Latest
1.0.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/16/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.

Headless@deepseek-ai/dsh-headlessThe dsh one-shot bundle: a direct core Agent/Session runner over dsh-base with no Host, HTTP, or browser layerExperimental Agent Team Profile@deepseek-ai/dsh-experimental-agent-team-profileAgent Teams collaboration, tools, and Web UI in one experimental bundleExperimental Ralph Bundle@deepseek-ai/dsh-experimental-ralph-bundleRun explicitly requested repeated work with fresh agents.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).

README

dsh-root-planner-preset

一个面向 DeepSeek Harness(DSH)的 agent 预设:把「读书」和「决策」分开。

根 agent 的上下文只装任务分析、规划与决策;文件阅读、信息查询交给子代理,子代理只回摘要。而创建、修改、删除文件只能由根 agent 执行——子代理连工具都没有。

一句话:让整棵树里只有一个 agent 有手,其余都只有眼睛。

安装步骤 | 维护者文档

它解决什么问题

用 coding agent 干长任务,上下文很快被原始文件内容塞满,于是忘了目标、丢了计划、开始重复劳动。常见对策是「让 agent 多派子代理」,但光靠提示词约束不住——子代理照样会顺手改文件,任务也会被无限往下转派。

这个预设把两件事做成了结构约束,而不是靠自觉:

要求机制强度
子代理不能创建/修改/删除文件两个委派工具上的 toolFilter.allow 白名单,不含 write、edit、ops_replace结构性:工具不存在,调不到
子代理没有 shell 可绕过同一白名单,不含 ops_bash、pwsh结构性
任务不会被无限转派运行时深度上限(subagent.maxDepth)结构性:超过上限直接抛 SubagentDepthError
根 agent 独揽所有修改人设规则(白名单只作用于子级)提示词级
根 agent 默认委派阅读人设规则提示词级

白名单是 allow 而非 deny:将来某个插件新增的工具,对子代理默认不可见。

工作方式

根 agent (depth 0)          ← 只有它有 write / edit / shell
├── 子代理 (depth 1)        ← 只读;可以再派一层
│   └── 孙代理 (depth 2)    ← 只读;叶子
└── 子代理 (depth 1)
  • 根 agent:先立计划(目标、成功判据、约束、任务清单),把阅读/搜索/定位默认派出去,自己只在「单个已知文件、一小段范围、或核实子代理的某个断言」时才亲自读。
  • 子代理:只读、只定位、只总结。发现需要改文件时不动手,而是回报精确的改动方案——目标路径、位置(file:line)、当前内容、建议替换、理由。
  • 根 agent 收到方案后决策,然后亲自落盘。

子代理怎么知道自己是子代理?DSH 会在每个子代理的提示词里强制插入一句 You are a delegated subagent: …,运行时注入、无法移除,而预设人设没有 {{role}} 这类变量可用。所以人设里写的是一条判定指令:读自己的提示词里有没有那句话。这让人设只需要一份,父与子读到的是同一份文本,因此不会出现「父以为子被这么约束、子其实没读到」的漂移。

快速开始

dsh plugin --profile web add github:XiaoOu2024/dsh-root-planner-preset

装完必须再做一步:设置 → 子智能体 → 深度上限 = 2。(这是 Host 的 subagent 设置节,全局生效、不属于 bundle;设成 0 会禁掉全部委派,设计就废了。)

然后开新会话,在预设选择器里选 Root Planner。完整步骤与故障排查见 INSTALL.md。

适合 / 不适合

适合:需要跨很多文件调研的长任务、逆向分析、代码审查,以及任何「读得多、改得少」或「改动必须被仔细决策」的工作。

不适合:

  • 只想快速改一个文件——多一层委派是纯粹的开销;
  • 需要子代理并行写代码——这是本预设故意禁止的,请改用 standard 预设;
  • 环境缺少 DSH 的工具基础(见 INSTALL.md 的前置条件)。

仓库内容

文件说明
cordis.patch.yml预设声明(由脚本生成,不要手改)
persona.txt人设正文,要改就改这个
build-patch.mjs从 persona.txt 生成 cordis.patch.yml
verify-patch.mjs校验补丁结构、工具白名单,并断言人设逐字节一致
verify-depth-override.mjs校验深度覆盖是否落到合成配置
lib-yaml.mjs从本地 DSH 安装里解析 YAML,因此本包零依赖
docs/DEVELOPMENT.md维护者文档:设计取舍、机制细节、已验证/未验证边界

已验证 / 未验证

已验证:补丁可被 loader 解析;解析出的人设与 persona.txt 逐字节相同;两个委派工具的白名单排除了所有写入入口、且只包含本机实际注册的工具名;干净检出后校验通过(.gitattributes 已钉死 LF,否则 Windows 克隆会破坏逐字节校验);深度覆盖已落到合成配置。

未验证:尚未在 root-planner 预设下真正派出过一个子代理。 白名单里的工具名是按作者环境的实际工具清单交叉核对出来的,不是运行时实测。若你的环境缺少其中某个全局工具名,子代理创建会失败并报 tools.restrict() names unknown global tool …。详见 INSTALL.md 的故障排查。

许可

MIT