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.

Agent Capabilities ★ 4 updated 2026-09-19 ⚠️ needs adapt
View on GitHub ↗

Install

dsh plugin --profile web add @snowamberx/dsh-role-router

npm 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

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

More plugins in Agent Capabilities

Browse more in Agent Capabilities

Guides for Agent Capabilities plugins