Introduction¶
During the development and debugging of DeepSeek Harness (DSH), it is often necessary to configure independent model routing and reasoning strategies for specific tasks (such as code review or quick summaries). Manually creating a new context for each request is not only cumbersome but also hard to reuse. The dsh-subagent plugin solves this problem by turning named configurations into callable tools.
What This Is¶
dsh-subagent is a community-maintained DeepSeek Harness plugin authored by xie-tj and licensed under MIT. It turns named subagent configurations into agent tools visible to the model, allowing the Root Agent to delegate specific tasks through tool calls (such as subagent_<name>).
Core Features¶
This plugin provides the following core capabilities:
- Configuration management: Supports creating, editing, and deleting subagent configurations from the settings page.
- Context mode: Choose between
spawn(independent sub-context) andfork(inherit a completed parent conversation). - Routing policy: Follow the current conversation’s Provider/Model, or pin a custom model routing configuration.
- Reasoning configuration: Follow the current reasoning level, or pin a custom reasoning effort.
- Dynamic refresh: Refresh custom options from the Host’s model catalog.
- Hot updates: Apply configuration updates without restarting the Host. Existing continuable subagents retain the routing policy used at creation.
- Tool interface: In addition to the UI, provides the
custom_subagenttool for models to manage configurations. - Default agent: Supports marking one configuration as the “default subagent”, guiding the model via the system prompt to use the corresponding tool.
Installation and Activation¶
Before installing, ensure that your DeepSeek Harness version is compatible (the 0.1.1-rc.2 compatibility package is required) and that the target Profile loads the Web UI (for example, the web profile).
Installation Command¶
Run the following command in a terminal to install the plugin into the Web profile:
dsh plugin --profile web add github:xie-tj/dsh-subagent
Verify Installation¶
After installation, you can verify that dependencies are loaded correctly by running the following command:
dsh plugin --profile web why
Look for dsh-subagent-related entries in the output and confirm that the cordis.patch.yml layer has been merged.
Typical Usage¶
After installing and restarting the Web Profile, you can use it as follows:
-
Configuration side:
Open Settings → Subagents. On this page, you can create or edit configurations and set the backend mode (spawn/fork), model routing, and reasoning level. -
Runtime side:
Each active Root Agent automatically receives asubagent_<name>tool (for example,subagent_fast). The Agent can call these tools directly to execute predefined task strategies. It can also manage configurations through thecustom_subagenttool.
Use Cases and Notes¶
- Target users: Developers who need to reuse specific model combinations and reasoning strategies across multiple conversations.
- State management: The plugin itself does not maintain local disk state. Configuration data is stored in DSH’s settings provider, Profile dependency manifest, and composition layer.
- Profile dependency: Because it requires the Web UI and specific tool exposure, installation must specify a Profile that loads the Web runtime. If installing into a non-Web Profile, you must also ensure that the Profile loads
@deepseek-ai/dsh-client-ui-settingsto render the settings page.
Conclusion¶
dsh-subagent lowers the barrier to building multi-model, multi-strategy subagent systems in DSH through standardized configuration and tool mapping. You can view the source code on GitHub or learn more details on SkillHub.