SnowAmberX/dsh-role-router
Role-based model routing plugin for DeepSeek Harness: planner/subagent roles plus a settings card and composer
Automates model routing by role: type /plan and requests route automatically to the configured planner model; leaving plan mode switches back to the default model. Roles (default/planner/subagent) are configured independently — planner is triggered automatically by plan mode, default always tracks the official session model selection. Adds a Multi-role model routing settings card with three model pickers (same live catalog as /model) plus a composer-adjacent model summary pill.
Install
dsh plugin --profile web add @snowamberx/dsh-role-routernpm package @snowamberx/dsh-role-router 0.2.2 (registry-verified 2026-08-25). dsh plugin --profile web add @snowamberx/dsh-role-router (local link: install also documented). After install the bundle inserts the model-router row with no config — all three roles start unset and pass through. Configure via Settings → plugin configuration → Multi-role model routing (writes role-router namespace to settings.yaml, applies next request without restart) or cordis.patch.yml.
Compatibility
DeepSeek Harness web profile. Three independent roles — default / planner / subagent — each { provider, model, reasoningEffort? }; unconfigured roles pass through and follow the official session model selection. Settings-page values win over the composition layer.
Details
- Repo: SnowAmberX/dsh-role-router
- Category: Agent Capabilities
- Stars: 4
- Version: npm @snowamberx/dsh-role-router 0.2.2 (registry-verified 2026-08-25)
- Last push: 2026-09-19
- First seen: 2026-08-14
Recent updates
v0.2.2: role routing (default/planner/subagent), settings-page card with live model catalog, two-level config (cordis.yml composition + role-router user namespace, user wins), plan-mode enter/exit model snapshot/restore.
FAQ
- How does the planner role get triggered?
- Typing /plan (and friends) enters plan mode, which automatically routes requests to the configured planner model; exiting plan mode restores the prior official selection (snapshot taken on entry).
- What if a role is not configured?
- Requests pass through and the official layered session selection applies — the plugin does not force a model for unconfigured roles.
- Where do I configure it?
- Settings → Multi-role model routing card (writes role-router into settings.yaml, no restart) or the cordis.patch.yml composition layer; the user settings layer wins.
Alternatives
BruceLanLan/dsh-tier-router · Asher-2000/dsh-expert-mode · JuneLearn/dsh-reasoning-settings