Introduction¶
In DeepSeek Harness (DSH), planning, architecture, and review require stronger models, while daily implementation can use cheaper models. dsh-tier-router provides tiered model routing for DSH: the strong tier handles planning, architecture, and review, the cheap tier handles daily implementation, and it supports fallback chains, automatic failure escalation, advisor/review, high-impact gating, and subagent tiering.
Plugin Positioning¶
The repository is identified as BruceLanLan/dsh-tier-router with an MIT license. It splits model selection into strong/cheap tiers: the strong tier is for planning, architecture, and review, while the cheap tier is for daily implementation.
Routing remains agent-plane: tools, slash commands, prompt snippets, and routing listeners are only mounted when the session uses tiered.
Core Capabilities¶
Automatic Tier Routing¶
In auto mode, planning uses the strong tier, and execution uses the cheap tier.
The global default routing mode is auto.
Session Scope¶
The following command only affects the current session:
/tier strong|cheap|auto|delegated|off
Other sessions maintain their own tier. The off mode does not escalate automatically.
Advisor and Review¶
On-demand advisors can be used:
/advisor <question>
The corresponding tool is tier_advisor, which forwards the question to the strong tier and returns suggestions, evidence, risks, and acceptance criteria.
Reviews can be used:
/tier review <focus>
The corresponding tool is tier_review, which returns an APPROVE / NEEDS-CHANGES / BLOCKED conclusion from the strong tier.
Automatic Failure Escalation¶
When repeated step errors occur within a window, the session temporarily escalates to the strong tier. The default is 2 errors / 60s, with a TTL of 180s.
The off mode does not escalate.
Fallback Chains¶
Each tier supports an ordered fallback chain. Routing switches based on request error boundaries and returns to the primary model after TTL.
Fallback status is maintained per agent and tier, with a default TTL of 5 minutes; during plan switching, it does not switch from the cheap chain to the strong chain.
Reasoning Intensity¶
The cheap tier defaults to medium, which can be elevated to high/max due to retry errors, high-impact guard rejections, or tier_escalate_effort.
It can also be set manually:
/tier effort <medium|high|max>
High-Impact Gating¶
During cheap tier execution, tools/pre-execute rejects high-impact operations such as rm -rf, sudo, and sensitive paths.
High-impact guard rules are pure logic and unit-tested.
Subagent Tiering¶
tier_worker dispatches subagent tasks based on the selected tier, supporting outputSchema, toolFilter, maxDepth, persona, and background.
Subagent routing can also be selected with the following command:
/tier subagent <inherit|cheap|strong>
Prompt Escalation Rules¶
When unresolved ambiguities, architecture/security/data integrity issues, two failures, or high-risk completions occur, the system prompt guides calling tier_advisor / tier_review.
Installation and Activation¶
First, confirm the Node engine requirements:
node: ^22.19 || >=24
Then install to the web profile:
dsh plugin --profile web add dsh-tier-router
After the above steps, the profile bundle will sync the packaged tiered preset to the DSH discovery root on DSH startup.
Typical Usage¶
The following set of commands covers common switching and configuration paths:
/tier strong|cheap|auto|delegated|off
/advisor <question>
/tier review <focus>
/tier set <strong|cheap> <provider> <model> [effort]
/tier effort <medium|high|max>
/tier subagent <inherit|cheap|strong>
Tool interfaces include:
tier_advisor
tier_review
tier_configure
tier_worker
tier_escalate_effort
The README’s sequence diagram example is:
/tier planenters plan mode.- After approving the plan, switch to cheap.
- Hard decisions use
tier_advisor. - Final review uses
tier_review.
Configuration and Runtime Boundaries¶
Persistent configuration can be used:
/tier set <strong|cheap> <provider> <model> [effort]
Alternatively, use the tier_configure tool. Configuration is saved persistently by default and stored in the tier-router namespace. For temporary changes only, use sessionOnly: true.
The WebUI settings page allows configuration of providers, models, reasoning effort, follow-session, fallback chains, routing mode, and subagent policy.
Use Cases and Considerations¶
Suitable for DSH sessions that need to separate planning, architecture, review, and daily implementation:
- Planning, architecture, and review assigned to the strong tier.
- Daily implementation assigned to the cheap tier.
- Requires automatic failure escalation, fallback chains, subagent tiering, or high-impact operation gating.
Considerations:
- The plugin runs with the current
dshprocess permissions; review the source code and license before installation. - Routing mounting depends on whether the session uses
tiered; sessions not using this mode will not see the corresponding tools, commands, and listeners. /tierswitching only affects the current session; the global default isauto.- The
offmode does not escalate automatically.
Conclusion¶
Overall, the value of dsh-tier-router lies in transforming DSH’s model selection into a tiered routing strategy based on tasks: the strong tier handles planning, architecture, and review, the cheap tier handles daily implementation, and exceptions and high-risk operations have clear escalation, fallback, and gating paths.