PerryLink/dsh-autotier

Automatic model-tier routing for DeepSeek Harness: complex intent is planned on the strong tier and implemented on the cheap tier, with no manual model switching.

Automatic model-tier routing for DeepSeek Harness: each user instruction is classified and routed to a strong or cheap tier with no manual model switching. A deterministic intent gate (message text, tool names, image presence, conversation length) decides most turns on a zero-token rule layer, and only low-confidence turns call a cheap judge model. Complex intent (architecture, planning, debugging, multi-step engineering) is planned on the strong tier and implemented on the cheap tier, while simple intent runs entirely on the cheap tier. While the cheap tier executes, a deterministic guard denies high-risk tool calls (rm -rf, sudo, mkfs, git push --force, credential-file writes) and returns a corrective message telling the model to escalate instead. Repeated failures (optionally same-signature) raise the tier for a TTL and can walk a configured fallback chain. It provides /tier auto|strong|cheap|off|status, tier_status and tier_route tools, a ctx.autotier service, and the autotier/route (veto) and autotier/tier-changed events.

Workflow & Automation ★ 1
View on GitHub ↗

Install

dsh plugin --profile web add dsh-autotier

Copied verbatim from the README's 'Quick start' and 'Install & uninstall' (npm channel). The README states the npm package is 'dsh-autotier' (bare, unscoped), and the same line appears in both sections; no placeholder is used. The README also documents two alternative channels: the 1024 store (npm i -g dsh1024 then dsh1024 plugin --profile web add dsh-autotier) and a git channel (dsh plugin --profile web add "github:PerryLink/dsh-autotier#main", or clone + pnpm install && pnpm run build then dsh plugin --profile web add .). After install, restart the harness; the row is appended to the profile's cordis.patch.yml and routing starts on the next turn.

Compatibility

Node ^22.19.0 || >=24.0.0 (README badge). DeepSeek Harness 0.1.7-rc.2 is marked 'required', with a declared peer band of >=0.1.6-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0 (peer baseline: @deepseek-ai/cordis ^4.0.3, @deepseek-ai/cosmokit ^1.8.4, @deepseek-ai/schemastery ^3.18.3); the README also states it is verified against dsh-v0.2.1-alpha.1 and requires >=0.1.7-alpha.1 <0.2.0. Installed into a profile (e.g. --profile web) as a standard bundle whose cordis.patch.yml inserts one loader row; it is host-plane only (no agent preset of its own) and exposes a /tier command, tier_status/tier_route tools, the ctx.autotier service and autotier/route + autotier/tier-changed events.

Details

FAQ

Does the router need an agent preset?
No. The README (Compatibility) states the plugin is host-plane only and needs no agent preset of its own: the host row applies to every session. A one-line prompt section in your own preset is optional and only makes the router's decisions visible to the model.
Can I stop routing for a session that must keep its own model?
Yes. The README states that setting routingMode: delegated (or /tier off) stops routing for a session that must keep its own model, and that /tier off disables routing entirely, so the harness behaves exactly as it did before the plugin was installed.
Is the high-risk guard a sandbox?
No. The README (Security boundaries) calls the guard defence in depth, not a sandbox: it denies the patterns it knows on the cheap tier and never weakens dsh-defend, the approval service or the sandbox policy, which should stay enabled. It protects only the tiers listed in guard.tiers (cheap by default).

Alternatives

Letter2025/dsh-model-failover · QlzqQlzq/dsh-dual-agent-presets · 940842546/dsh-permissions

More plugins in Workflow & Automation

Browse more in Workflow & Automation

Guides for Workflow & Automation plugins