The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” A common pain point during use is that calling the most expensive model for simple chit-chat wastes resources, while using only a cheap model may be unable to solve complex architecture problems. dsh-effort-router solves this by using an automatic routing mechanism: before each request, it determines difficulty based on the text content and switches to the corresponding model and thinking intensity.
What is dsh-effort-router¶
This is a DeepSeek Harness plugin, with the package name dsh-effort-router. DSH plugins are ordinary npm packages that declare themselves to the host via the dsh field in package.json. It hooks into the agent/request request pipeline and decides which provider / model / thinking intensity to use for each round before each actual model call.
Core Capabilities¶
- Zero-token rule-based judgment: Automatically distinguishes four levels: simple, standard, hard, and visual.
- Gray-zone judgment: A small model is called only when the classification is uncertain.
- Visual-tier intensity: The thinking intensity (low/high/max) for the visual tier scales up or down with difficulty.
- Seat synchronization: Before sending, the plan is written into the input box, and the seat displays the actual model.
- HTTP API support: Supports invocation via scripts.
Installation and Enablement¶
Installation requires a tarball path or a source code directory. Run the following in your terminal:
dsh plugin --profile web add /path/to/dsh-effort-router-0.3.0.tgz
After installation, the Host side requires restarting the host, while the Client side only requires refreshing the page.
Usage Examples¶
After installation, you can use it in the following ways:
# 查看当前状态
curl -s localhost:3080/api/model-router/state
# 预判难度
curl -s -X POST localhost:3080/api/model-router/preview \
-H 'content-type: application/json' \
-d '{"text":"这个报错怎么解决","imageCount":1}'
Notes¶
- Judgment frequency: Judgment occurs only once per round, and will not be repeated within the same round.
- Context scope: Only the current round’s text is considered; history is not read.
- Image handling: Automatically switching models when images are present is disabled by default.
- Restart requirement: The plugin consists of two halves; the Host side requires a restart, while the Client side only requires a page refresh.
- Seat synchronization: Seat synchronization causes the seat to move according to each round’s plan.
Ecosystem Information¶
- Maintainer: wanghaixu-hai
- License: MIT
- Catalog: https://www.skillhub.cn/plugins/wanghaixu-hai/dsh-effort-router
- Repository: https://github.com/wanghaixu-hai/dsh-effort-router