DSH Hub

drscrewdriver/dsh-thinking-levels

dsh-thinking-levels

UIWeb UI1 GitHub stars· updated 2026-08-22

dsh-thinking-levels is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-thinking-levels

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-thinking-levels DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-thinking-levels.svg)](https://dshhub.dev/plugins/dsh-thinking-levels)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from drscrewdriver/dsh-thinking-levels, cleaned of badges and images.

dsh-thinking-levels

Per-round thinking-level (reasoning_effort) control for DeepSeek Harness (dsh): pick Auto (a mask) in the session model selector and the plugin schedules low / high / max from the recent tool-call history before submitting the API effort — or fix a wire level (off / low / high / max) manually. Cheap tool rounds stay cheap; heavy work never starves.

中文文档 · English

In a multi-step tool chain, the model re-thinks before every tool call — and that thinking dominates the wall-clock time (a 50-step agent task can spend minutes reasoning between tools). dsh-thinking-levels plugs into the agent/request waterfall that dsh re-resolves for every step (registered with prepend so the session model-selection assembly cannot overwrite its decision) and injects a thinking level into the next model request.

Levels

LevelMeaningWhere
offthinking disabled (manual only — never auto-picked)model selector / default level
lowmanual pick for simple chat tasks (cheap rounds stay cheap)model selector / default level
highthe official default effortmodel selector / default level
maxheavy workmodel selector / default level
automask: schedule per step from the recent tool-call history, resolved to a wire level before submissionmodel selector (injected by the plugin) / default level

Wire-level facts (verified against the official DeepSeek docs and dsh's llm-deepseek adapter): low maps 1:1 on deepseek-v4-flash / v4-pro, while medium / xhigh collapse onto high. The adapter accepts off | low | high | max and rejects anything else with UNSUPPORTED_REASONING_EFFORTauto is the plugin's mask layer, never sent to the API, always resolved to a concrete wire level before injection.

Model-selector Auto

The session model selector (next to the model) now offers Auto after Off / Low / High / Max (injected into the model-directory metadata by the plugin):

Model-selector pickBehavior
Autoplugin schedules via tool history + the upgrade/downgrade toggles, resolves to low / high / max before submission
off / low / high / maxmanual choice wins — plugin does not intervene
unsetthe plugin's default level applies (below)

Auto scheduler

The hub is high (the official default). auto schedules between low / high / max; it never picks off.

Recent tool callsLevel
none (fresh prompt, pure chat)low
≥75% simple tools, small args, downgrades allowedlow
mixed / heavy toolshigh
very heavy payloads, upgrades allowedmax

The scheduling policy is the same source as dsh-tool-turbo (same simple-tool whitelist / payload thresholds / 75% ratio rule).

Install

# 1. install the plugin into a profile from npm (web shown; any profile works)
#    (the web profile is a pnpm workspace root, so -w is required)
dsh plugin --profile web add dsh-thinking-levels -w
#    GitHub alternative (drscrewdriver fork):
#    dsh plugin --profile web add github:drscrewdriver/dsh-thinking-levels#master
#    local-path alternative (no network needed):
#    dsh plugin --profile web add /absolute/path/to/dsh-thinking-levels

# 2. restart dsh web

…

Related plugins