dsh-subagent-model-picker
Separate per-session model and reasoning effort controls for DeepSeek Harness subagents.
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 7, 2026
- Updated
- Sep 7, 2026
Introduction
DSH Subagent Model Picker
Choose a different model and reasoning effort for new subagents without changing the main conversation's model.

- Separate Sub: picker beside the normal model picker.
- Per-conversation settings, with Inherited as the default.
- Existing subagents keep their model, including after continuation or restart.
- Immediate saves and a read-only picker on child conversations.
Version: 0.1.0 · License: MIT
Quick start
Requires DSH Web 0.1.2-rc.1, Node 22.19+ in the 22.x line or 24+, and npm/pnpm on PATH. The clone option also requires Git. Run this on the machine where DSH runs, using its usual account and environment.
- From a directory where you want to keep the plugin, run in a Linux/macOS shell:
git clone --branch v0.1.0 --depth 1 https://github.com/chr003/dsh-subagent-model-picker.git &&
cd dsh-subagent-model-picker &&
npm run setup &&
npm run check &&
dsh plugin --profile web add "link:$PWD"
- Once active work finishes, restart your existing DSH instance and refresh its Web page. Look for Sub: beside the main model picker.
This installs the tested v0.1.0 release. Keep the plugin directory in place because DSH links to it. If your Web profile isn't named web, substitute its name in the command.
Without Git: Download the v0.1.0 source ZIP, extract it into a permanent directory, and open a terminal there. Run the commands above starting at npm run setup, then restart as described.
Need PowerShell, a custom runtime path, or help? See the installation guide.
Usage
Open Sub: and choose a provider, model and supported reasoning effort. Changes save immediately and affect new subagents only. Inherited keeps DSH's normal selection—usually the parent model, but explicit model/provider options from a spawning tool still apply. An explicit Sub: selection overrides those options.
Children with successfully saved bindings keep their captured model and effort across continuation and restart. Newly created descendants use the owning root conversation's latest explicit policy, or DSH's normal selection when it is Inherited. Children created before installation remain unmanaged.
Ordinary conversation forks have independent settings. Child conversation views are read-only. Save and validation failures are shown rather than silently switching managed children to another model.
Known limitation: If a new child's initial binding save fails, restarting DSH can leave that child unmanaged and using DSH's normal model choice instead. Fix storage and create a new child; see recovery guidance.
Compatibility
Tested on Linux with Node 22.22.3 / 24.19.0 and DSH 0.1.2-rc.1. All 61 automated tests pass, including a real archive roundtrip. Setup checks the qualified native libraries rather than installing another DSH/Cordis copy. macOS and Windows are not yet independently qualified.
This plugin controls standard in-process DSH subagents, not separate Codex or Claude CLI products. Cross-model vision support needs separate qualification. See architecture and limitations.
Documentation
- Installation, updates, removal and troubleshooting
- Privacy and stored data
- Architecture and lifecycle
- Development and contributing
- Security reporting
- Changelog
The package identity is dsh-subagent-model-policy. No npm release is available from this project; do not install an unrelated similarly named package. The package's private flag prevents accidental npm publication, not GitHub visibility.
Support
Community project: Maintained in spare time. Support and updates are provided on a best-effort basis. Bug reports and contributions are welcome, but response times and compatibility with future DSH releases aren’t guaranteed.