Overview
dsh-tier-router
smart model classifies each request by difficulty (hard / normal / easy) and by vision need, then delegates it to the models you already configured. 三级难度 + 视觉自动路由,虚拟 smart 模型零配置接入。README / EN
Package documentation
Registry summary
smart model classifies each request by difficulty (hard / normal / easy) and by vision need, then delegates it to the models you already configured. 三级难度 + 视觉自动路由,虚拟 smart 模型零配置接入。dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
Worth knowing before you rely on it: - **The vision sidecar is cached, not free.** Every request whose history contains an image calls (or reuses a cached call to) the vision model. Evidence is cached per attachment for `visionCacheTtl` seconds (default 1h); after that the same historical image is analysed again on the next request. Set `visionCacheTtl: 0` to disable the cache. - **An image anywhere in the history keeps the request image-bearing.** That is deliberate (a text-only tier model would otherwise reject the whole history), and in `replace` mode the difficulty tiers still produce the answer — the vision model only supplies evidence. But a long session that once had a screenshot keeps paying for vision evidence until that turn leaves the conversation. - **The heuristic is conservative.** A hard verdict needs a score of 3 or more; two hard keywords alone land at `normal`. Retarget the tiers, or switch `classifier` to `llm` or `jev`. - **This router only acts when you select it.** It routes requests made *through* the `smart` model, so it is opt-in per session. - **Do not run it together with a plugin that force-overrides the model** on the `agent/request` waterfall (role-based routers that stamp planner/executor models after `await next()`). Such a plugin outranks the model selector, so Tier Router would never receive a request. Pick one. - **Dependencies are peers.** `@deepseek-ai/dsh-llm`, `dsh-settings` and `cordis` come from the DSH installation; the only bundled dependency is `@deepseek-ai/schemastery`.
