Smart subagent routing and evolution: bind roles to any provider/model registered in DSH, including models supplied by Codex and Claude Code provider plugins, with workspace learning.
Install
# from npm (prebuilt)
dsh plugin --profile web add evo-subagent
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:ZekaiShi/evo-subagent
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README

Downloads
Cumulative npm download data since the first release, refreshed automatically every day. DSH Market ranks plugins using npm downloads, so this is the closest public adoption signal; it cannot distinguish marketplace installs from direct npm installs.
evo-subagent is a DeepSeek Harness plugin for predictable subagent routing and project-scoped evolution.
It maps stable agent roles to registered provider/model pairs, remembers verified commands and lessons for each role, and keeps every project's agent knowledge isolated.
Features
- Route each
agent_keythrough a same-named Markdown binding. - Validate the exact provider/model pair before creating a child agent.
- Maintain per-agent
prefercmd.mdandmemory.mdknowledge files. - Isolate bindings and evolution data by project workspace.
- Support fresh
spawnchildren and context-awareforkchildren. - Fall back to DSH's native model inheritance when no binding exists.
- Store no API keys, endpoints, credentials, or provider definitions.
Installation
Requires DeepSeek Harness 0.1.5-rc.3 or newer and Node.js >=24.2.0.
dsh plugin add evo-subagent
Quick start

- Open Settings → Plugins and expand evo-subagent.
- Select a workspace and add a built-in role, or place a custom binding in its
agents/directory. - Choose a registered provider/model pair for each custom binding.
- Expand an agent to review its
prefercmd.mdandmemory.mdevolution files.
Changelog
New entries are added at the top for every maintained release.
0.7.0 — 2026-09-27
- Refreshed the development validation baseline to DeepSeek Harness
0.1.5-rc.3. - Bundled three DSH Agent Skills for route diagnosis, memory review, and delegation guidance. They appear in the DSH skill catalog when the skill service is available.
- Confirmed the subagent routing seam remains unchanged.
0.6.1 — 2026-09-19
- Refreshed the development validation baseline to DeepSeek Harness
0.1.5-rc.2. - Rechecked routing, workspace evolution, and settings tests without changing plugin behavior.
0.6.0 — 2026-09-12
- Added compatibility with DeepSeek Harness
0.1.5-rc.1and Cordis4.0.2. - Raised the required Node.js runtime to
>=24.2.0for the updated DSH CLI. - Revalidated routing, workspace evolution, and settings behavior on the new runtime.
Agent bindings
Create an agents/ directory in the project and add one Markdown file per role. The filename stem becomes the agent_key.
project/
├─ agents/
│ ├─ code-reviewer.md
│ └─ researcher.md
└─ .evo_subagent/
└─ evolution/
Each binding begins with a strict front matter block:
---
provider: deepseek-official
model: deepseek-v4-flash
---
# Code reviewer
Optional role notes may follow.
The provider and model must already be registered. Matching is exact and case-sensitive.
Call the plugin tool with the corresponding key:
{
"agent_key": "code-reviewer",
"description": "Review the implementation",
"prompt": "Report correctness, security, and test coverage issues.",
"run_in_background": false
}
Built-in roles
Three templates are included:
agent_key |
Role |
|---|---|
code-reviewer |
Severity-ranked code review |
researcher |
Evidence-backed investigation |
wps-worker |
Office document production |
A project binding with the same agent_key overrides its built-in template.
Bundled Agent Skills
Installing this plugin also registers three optional DSH-compatible skills in the DSH skill catalog. They guide the parent agent; they are not additional subagent roles.
| Skill | Purpose |
|---|---|
/evo-route-doctor |
Diagnose an unexpected route or invalid registered provider/model pair. |
/evo-memory-review |
Review a role's prefercmd.md and memory.md for stale or conflicting knowledge. |
/evo-delegation-guide |
Choose an existing role and prepare a scoped subagent task. |
DSH needs its skill registry and skill tool enabled for these entries to appear. A project-specific skill with the same name can override a bundled entry. The skill files are also included in the npm package under skills/.
Evolution
Each project stores role-specific knowledge under:
.evo_subagent/evolution/<agent_key>/prefercmd.md
.evo_subagent/evolution/<agent_key>/memory.md
prefercmd.mdrecords commands that have been verified to work.memory.mdrecords reusable lessons and failures to avoid.
Foreground subagents receive a bounded knowledge block. They can return new entries with:
[[EVOLUTION]]
prefercmd:
- pnpm test
memory:
- Do not use --force in CI.
[[/EVOLUTION]]
Entries are deduplicated and bounded. Prefix an entry with ! to keep it at highest priority, or ? to make it compressible when the context budget is tight.
Legacy .smart_subagent/evolution data remains a read-only fallback and is copied to the new location on the next save.
Workspace management
The plugin settings card groups agents by project and lets users:
- view or collapse workspace agent lists;
- edit a custom binding's registered provider/model route;
- add a built-in role to a workspace by copying its template;
- bind one workspace-root
AGENTS.mdas the Main agent; - inspect and edit each agent's evolution files.
Main-agent evolution is stored under .evo_subagent/evolution/main/. Binding and unbinding only changes the plugin-managed instruction block in AGENTS.md.
Tool fields
| Field | Required | Description |
|---|---|---|
agent_key |
Yes | Binding filename without .md. |
description |
Yes | Short task label. |
prompt |
Yes | Complete task for the child agent. |
run_in_background |
No | Defaults to true; use false to collect evolution output. |
Routing behavior
- Resolve
<agent_key>.mdsafely. - Parse its fenced
providerandmodelfields. - Verify both values against the live model registry.
- Start the child through the selected
spawnorforkprovider.
Invalid bindings fail before a child is created. Missing bindings preserve native DSH inheritance unless a built-in template matches.
Development
Requires Node.js 24.2 or newer.
npm test
npm run check
npm pack --dry-run
License
Links
More in this category
V1ki/dsh-plugin-subscriptions★ 436
Use ChatGPT (Codex), Claude, and Grok subscriptions as DeepSeek Harness LLM providers, with Settings login, model catalogs, usage, plus image_generate, video_generate, and x_search tools.
Mars-Sea/dsh-commandcode-provider★ 374
Unofficial Command Code LLM provider: registers a `commandcode` route with a live model catalog and reasoning-effort support.
corrinehu/dsh-workbuddy-connect★ 353
Brings the models in the WorkBuddy desktop app straight into DeepSeek Harness — zero configuration in the DSH chat.
cv-superding/dsh-deepseek-web-login★ 245
Adds a deepseek-web provider that uses chat.deepseek.com web models in DSH, with browser login capture, PoW request signing, SSE streaming, and prompting-based tool calls.
FishBottle7/opencode2dsh★ 161
Exposes OpenCode Zen free models to DeepSeek Harness, with no API key.
WSL043/dsh-codex-subscription★ 153
ChatGPT OAuth provider for Codex models with subscription web search, quota and safe reset, image tools, Fast mode, and model-aware context; no API key or Codex CLI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.