dsh-model-switch
English | 中文
Use the right model for each stage of work in DeepSeek Harness.
The main conversation, subagents, and plan execution serve different purposes. dsh-model-switch lets each of them use a suitable model without changing the normal DSH workflow.
Why use it
- Match models to tasks — keep your preferred model in the main conversation and use another model for subagents or plan execution.
- Avoid repeated switching — save defaults once instead of changing models before every task.
- Confirm before execution — review or change the model directly in the plan approval panel.
- See what subagents use — display the model, context window, and reasoning effort, such as
GPT-5.6 Sol 1M Max. - Keep the main model unchanged — after plan execution, DSH restores the previous main-session model.
Preview
Configure model defaults
<img src="docs/settings.png" alt="Model switch settings" width="720" />
Choose the model for plan execution
<table> <tr> <td width="50%"><img src="docs/plan.png" alt="Plan awaiting review" /></td> <td width="50%"><img src="docs/plan-exec.png" alt="Plan execution model" /></td> </tr> </table>
See the model used by subagents
<table> <tr> <td width="50%"><img src="docs/subagent.png" alt="Subagent model overview" /></td> <td width="50%"><img src="docs/subagent-detail.png" alt="Subagent model details" /></td> </tr> </table>
Install
Use the GitHub spec. This plugin is not published as an npm package, so do not use @lincong1987/dsh-model-switch.
dsh plugin --profile web add github:lincong1987/dsh-model-switchReplace web with the profile DSH is actually running. DeepSeek Harness Desktop typically uses desktop.
Restart DSH after installation.
Update DSH
This plugin requires DeepSeek Harness 0.1.0-rc.8 or later. DSH has no dsh update command — install the version you want the same way you originally installed it.
1. Check the installed version and what npm currently publishes:
dsh --version
npm view @deepseek-ai/dsh dist-tagslatest can lag behind a pre-release. As of this writing, latest is 0.1.0-rc.7 and next is 0.1.0-rc.8. Pin the version by name (@0.1.0-rc.8 or @next); @latest alone will not pick up rc.8.
2. npx (Web):
npx --yes @deepseek-ai/dsh@0.1.0-rc.8 web3. Global npm install:
npm install -g @deepseek-ai/dsh@0.1.0-rc.8
dsh --versionThen restart dsh web. DSH needs Node.js ^22.19.0 or >=24.
4. Desktop: Fully Exit from the tray, then use Check for Updates in the app (or install a newer Desktop build). Desktop ships its own packaged dsh; updating npm or npx does not replace that copy. After Desktop finishes updating, restart it.
DSH is still a developer preview and may change on-disk formats between releases. Back up ~/.dsh (Windows: %USERPROFILE%\.dsh) before jumping versions.
After DSH is on a compatible version, reinstall this plugin as described below.
Reinstall / after a DSH update
Reinstall the plugin when this repository has a new release, or after you upgrade DeepSeek Harness. The plugin tracks a specific DSH version (currently 0.1.0-rc.8 or later), so a host upgrade should be followed by a plugin reinstall.
1. Update DSH first (see [Update DSH](#update-dsh); skip this step if only the plugin changed). 2. Reinstall with --force so DSH refreshes the GitHub source:
dsh plugin --profile web add --force github:lincong1987/dsh-model-switch3. Restart DSH.
On Desktop, run one plugin add at a time. Fully Exit from the tray (closing the window is not enough), wait until Desktop finishes starting, then reinstall, then Exit and reopen again. If install fails with another plugin install recovery transaction is pending, quit Desktop, wait, and retry once. If it is still pending, quit Desktop, delete %APPDATA%\DSH Desktop\plugin-install-recovery, reopen Desktop, then run a single add --force.
To bypass the Desktop wrapper, run the matching DSH CLI in a normal terminal:
npx --yes @deepseek-ai/dsh@0.1.0-rc.8 plugin --profile desktop add --force github:lincong1987/dsh-model-switchUse
1. Open Settings → Model switch. 2. Configure the Subagent model and Plan execution model: - Follow main model uses the current conversation model. - Custom lets you choose a model and reasoning effort. 3. When reviewing a plan, confirm or change the execution model before selecting Approve.
The model selected in the plan review panel takes priority over the saved plan-execution setting.
Compatibility
Requires DeepSeek Harness 0.1.0-rc.8 or later. Settings are stored in the host settings document through the plugin's registered model-switch namespace.
Subagent model switching applies to in-process subagents such as spawn and fork. External-process agents may manage their models independently.
Community
<img src="docs/wechat.jpg" alt="WeChat" width="160" />
Links
License
MIT