A rundown of the three-part dsh-routing-suite install — runtime injector, thinking-mode router presets, and the graded task protocol — straight from the project's README, with no first-hand testing added yet.
8 min read
The DeepSeek Harness router presets (Router Standard and Router Spec) come from the community dsh-routing-suite, which bundles them with a runtime injector and an optional graded task protocol, and you install it with dsh plugin --profile web add github:yjh051108/dsh-routing-suite or the repo's install.ps1. The most common failure is presets missing after restart, because DSH scans only one directory level, so copy router-standard and router-spec as sibling folders under ~/.dsh/.agent-presets rather than nesting the whole preset/ folder.
ShopperCove's first live version of this URL read like a README paste — including a raw Sources dump with unrendered markdown. This rewrite is the CMS-clean operator guide: what the suite is, how install is supposed to work, which pitfalls the upstream docs warn about, and what we are not claiming yet.
Related links:
Honesty bar (30 Sep 2026 IST): This post is compiled from the public dsh-routing-suite README and component docs. ShopperCove has not completed a first-hand install + graded task battery on our lab box for this suite. Upstream "P1–P23" lifts are their measurements — cite, do not claim as ours. Affiliates: 0.
DeepSeek Harness "graded mode" (via the community suite) adds a session-level task protocol on top of routing presets. To evaluate it properly, install the injector and presets, run the same tasks under at least two presets/modes, and compare completion quality, latency, and API cost from your sessions — not upstream marketing tables alone. That bake-off is planned, not published here.
From the upstream English README:
| Component | Role (upstream) |
|---|---|
| injector | Runtime injector; dev_* tools (inject / hot-reload / uninject / staging / route self-heal) |
| preset | Reasoning-mode routing presets (router-standard, router-spec) — copied flat under ~/.dsh/.agent-presets/ |
| graded | Session-level task protocol (brainstorm quiz → plan → check-in → close-out → final check; redteam gate + audit) |
This is community tooling around DeepSeek Harness, not a claim that DeepSeek Inc. endorses every number in the suite README.
Upstream pins a DSH target range of roughly >=0.1.0-rc.6 <0.2.0 and warns that DSH is in developer preview with breaking changes expected. Check your DSH version against the suite changelog (preset/CHANGELOG.md per upstream) before filing bugs against the suite.
Commands below are from the project docs (mostly Windows / PowerShell). Adapt if you run DSH via npx on another OS. We have not stamped a ShopperCove exit-code log for these steps yet.
Upstream says injector, preset, and graded pieces are flattened into the repo, so this assembles the bundle.
Upstream describes install.ps1 as assembling the injector, copying preset directories, running a layout self-check, and prompting a DSH restart.
DSH only scans one level of subdirectories under .agent-presets. Copying the whole preset/ folder as a nested parent hides the presets.
After restart, a new session should offer Router Standard / Router Spec (experimental) (wording per README). Upstream does not publish a single universal "restart" CLI string — use whatever you normally use to start DSH.
Upstream lists graded release artifacts such as graded/dsh-graded-mode-3.2.0.tgz (and an external RC package). Install with dsh plugin --profile web add against the artifact path when you need the protocol. A measurement helper also ships:
Upstream frames that as desensitized numeric metrics anyone can recompute from their own session JSONL — useful later, not a substitute for a published ShopperCove table.
Upstream's own check: start a new DSH session and confirm the router presets appear as selectable options. There is no single expected stdout string in the README.
If you install graded mode, compare measure.mjs output against tables in graded/docs/DATA.md — those are suite-author numbers unless you replace them with yours.
ShopperCove status: presets-in-menu and graded metrics not yet verified on our lab. Do not treat this post as a green install report.
preset/ under .agent-presets. Fix: copy router-standard and router-spec as sibling directories under .agent-presets.dsh not found — Use npx '@deepseek-ai/dsh' … for the injector add.Draft scaffolding we will not pretend is measured:
| Arm | What you select |
|---|---|
| A | Official Standard / baseline without the suite |
| B | Router Standard |
| C | Router Spec and/or Graded protocol on |
Fixed task battery idea (stable wording, same toy repo commit for every arm):
| ID | Type |
|---|---|
| T1 | Inspect / diagnose from failing test output |
| T2 | Small pure function + tests |
| T3 | Deliberately underspecified README improvement |
| T4 | Multi-file change with an explicit final checklist |
Metrics to publish only after Aditya's runs: task success rubric, steps/tool calls, wall latency (IST), API cost (model + price-sheet date), graded check-in compliance.
| Arm | T1–T4 success | Median latency | Est. cost / battery |
|---|---|---|---|
| Standard | — not measured — | — | — |
| Router Standard | — not measured — | — | — |
| Router Spec / Graded | — not measured — | — | — |
Do not launder upstream P1–P23 lifts into this table.
| Reader | Reasonable next step |
|---|---|
| Already on DSH daily | Install carefully; keep a version pin; decide from your sessions |
| Evaluating Harness for a team | Treat this suite as a protocol + routing experiment, not a product endorsement |
| Looking for a ShopperCove bake-off | Wait for a measured follow-up — or run the battery yourself and share evidence |
Related AI-tooling post (different product class — governed coworker computer vs Harness routing):
Three pieces: an injector (dev_* tools for inject, hot-reload, uninject and route self-heal), router presets (router-standard and router-spec), and graded mode, a session-level task protocol with a redteam gate and audit.
You probably nested preset/ inside .agent-presets. DSH only scans one level of subdirectories, so router-standard and router-spec must be direct children of .agent-presets.
No. Upstream separates routing presets (working style / persona routing) from graded (session task protocol + audit).
Treat them as research notes from the suite authors. ShopperCove only endorses numbers from our own battery — and that battery is not published yet.
Upstream highlights install.ps1. CLI users on other OSes follow manual plugin + flat preset copy. Document what you run.
A multi-arm × multi-task × replicate bake-off will. Cap spend before you start; record actual USD.
Different layer. Link for cluster discovery; do not merge topics.
Useful as an install map and honesty repair — not as a ShopperCove performance claim. The suite's three pieces (injector × presets × graded) are clear from upstream docs; the #1 footgun is nested preset copies. Until we pin DSH + suite SHAs and fill a quality / latency / cost table from our sessions, treat every performance number as upstream or unknown.
Affiliates: 0. Model/API spend, when you run it, is a cost disclosure — not an affiliate pitch.
Explore the product
Untested by us. Check the live price, monthly cost and refund terms before you buy.
Both cut a string at a separator, but they fail in different ways. We ran them on Python 3.13.5 to show where partition() is safer and where split() is the right tool.
Summary2 Nov 20263 min read
What changes when you swap sort() for toSorted(), with a real 1-million-item Node.js benchmark and the support table.
Summary1 Nov 20263 min read
Dragging videos is the official way to change a playlist's order. Here are the steps from YouTube Help, where to find them in YouTube Studio, and the cases where reordering will not work.
Summary31 Oct 20263 min read