The DeepSeek Harness (DSH) plugin ecosystem supports extensibility. When developing multi-agent systems, handling routing logic and accumulating reusable commands (prefercmd) and lessons learned (memory) for specific roles is a common pain point. As a unified plugin, evo-subagent focuses on role-based sub-agent routing and project-scoped evolution. It ensures that recurring tasks start with validated commands, thereby saving tokens.
Installation and Prerequisites¶
Before installing, make sure your environment meets the following version requirements:
- DeepSeek Harness
0.1.5-rc.3or later - Node.js
>=24.2.0
The installation command is as follows:
dsh plugin add evo-subagent
Core Features¶
The plugin provides the following capabilities:
- Binding and routing: routes each
agent_keyto a same-named Markdown binding file. - Strict validation: validates that the provider (
provider) and model (model) pair is correct before creating a sub-agent. - Evolution files: maintains knowledge files for each agent:
prefercmd.md(validated commands) andmemory.md(lessons learned). - Workspace isolation: isolates bindings and evolution data by project workspace.
- Execution modes: supports
spawn(create a brand-new sub-agent) andfork(context-aware sub-agent). - Native fallback: falls back to DSH’s native model inheritance mechanism when no binding exists.
- Security isolation: the plugin itself does not store API keys, endpoints, credentials, or provider definitions.
Typical Usage¶
1. Configure Bindings¶
Create an agents/ directory in the project root and add a Markdown file for each role. The file name (excluding the extension) becomes the agent_key.
project/
├─ agents/
│ ├─ code-reviewer.md
│ └─ researcher.md
└─ .evo_subagent/
└─ evolution/
Each binding must begin with a strict frontmatter block that defines the provider and model. Matching is case-sensitive.
provider: deepseek-official
model: deepseek-v4-flash
2. Invoke a Sub-Agent¶
Use the plugin tool to call the corresponding key. description is used for the task label, and prompt contains the full task description.
{
"agent_key": "code-reviewer",
"description": "Review the implementation",
"prompt": "Report correctness, security, and test coverage issues.",
"run_in_background": false
}
Evolution Mechanism¶
The plugin maintains evolution data for each agent under the project directory:
prefercmd.md: records commands that have been validated as effective.memory.md: records reusable experience and failure cases.
A sub-agent can update these files by returning a specific tag:
[[EVOLUTION]]
prefercmd:
- pnpm test
memory:
- Do not use --force in CI.
[[/EVOLUTION]]
Built-in Roles and Skills¶
Built-in Roles¶
The plugin provides three built-in role templates. Same-named bindings in the project override the built-in templates:
code-reviewer: code reviewresearcher: evidence-backed investigationwps-worker: office document production
Bundled Skills¶
Installing the plugin registers three helper skills in the DSH skill directory. They are only visible after enabling the skill registry and tools in DSH:
/evo-route-doctor: diagnoses routing issues or invalid provider/model pairs./evo-memory-review: reviews stale or conflicting knowledge in role memory files./evo-delegation-guide: selects an existing role and prepares a scoped sub-agent task.
Notes¶
- The plugin runs with the permissions of the current DSH process. It is recommended to review the source code and license before installation.
- Evolution data is stored in the project-local
.evo_subagent/directory. - Make sure that the DSH skill registry and skill tools are enabled for the bundled skills to take effect.
Repository and License¶
- GitHub: https://github.com/ZekaiShi/evo-subagent
- License: MIT