Plugin directory / Developer / dsh-thinking-effort
dsh-thinking-effort
Verified · install-tested on dsh hytime
What it does
Configurable reasoning levels for hand-declared DSH llm-pi-ai models, with bilingual settings and subagent defaults.
Works — verified, early-stage project
Configurable reasoning levels for hand-declared DSH llm-pi-ai models, with bilingual settings and subagent defaults. It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-thinking-effort
A DSH (DeepSeek Harness) plugin that adds configurable reasoning effort levels to hand-declared llm-pi-ai models and sets a default reasoning effort for subagents.
- 中文 README
- 日本語 README
- 한국어 README
- Installation guide
- 中文安装指南
- 日本語インストールガイド
- 한국어 설치 안내
- Changelog
- 日本語 changelog
- 한국어 changelog
Compatibility note: Version
0.1.8includes Japanese (ja) and Korean (ko) dictionaries and selector entries, but the current official DSH releases expose onlyzhandenthroughLocaleRuntime. On stock DSH, selectingjaorkofails withlocale "<id>" is not registered. These languages will work after official DSH adds the locale IDs. Advanced users can use a DSH fork that updatespackages/client/locale/src/locale-settings.ts(LOCALE_IDS) andpackages/client/locale/src/client/index.ts(LOCALESlabels), together with the corresponding core dictionaries and tests, then rebuild and run the forked DSH. Changing this plugin alone cannot extend DSH's global locale list.
Why use it?
The llm-pi-ai adapter supports hand-declared third-party models, but those entries often do not declare reasoningEfforts. As a result, Composer does not show a reasoning effort selector, and gateway-specific values such as ultra cannot be mapped to DSH's standard levels.
This plugin provides the configuration layer needed to:
- Add default
off,high, andmaxoptions to models without a declaration; - Configure reasoning levels per model from the DSH settings page;
- Map a DSH level such as
highto a gateway value such asultra; - Set a default reasoning effort for subagents while preserving explicit request values;
- Keep existing user-defined model declarations unchanged.
The plugin is usually unnecessary when you only use built-in DSH models and their reasoning controls already work.
Identifiers
These identifiers have different responsibilities:
| Identifier | Purpose |
|---|---|
@hytime/dsh-thinking-effort |
npm package, browser bundle path, loader ID, and host/client runtime ID |
thinking-effort |
Cordis composition entry ID and settings Slot ID |
Features
| Feature | Description |
|---|---|
| Default levels | Adds off, high, and max without overwriting custom values |
| Per-model editor | Select levels and configure their gateway values from Settings |
| Gateway mapping | Send ultra when the user selects DSH high |
| Subagent default | Apply a default effort only when a subagent request has no explicit value |
| Multilingual settings | Includes Chinese, English, Japanese, and Korean dictionaries; Japanese/Korean switching requires DSH core locale support |
| Version watermark | Show the installed plugin version in the bottom-right corner |
Install, upgrade, and remove
Use the official DSH CLI to manage the plugin profile. A plain npm install does not register a DSH profile bundle.
# Install the latest version
dsh plugin --profile <profile> add @hytime/dsh-thinking-effort
# Install a specific version
dsh plugin --profile <profile> add @hytime/[email protected]
# Upgrade
dsh plugin --profile <profile> update @hytime/dsh-thinking-effort
# Remove
dsh plugin --profile <profile> remove @hytime/dsh-thinking-effort
rm -f "${DSH_HOME:-$HOME/.dsh}/thinking-effort-loaded.json"
See INSTALL.md for profile discovery, migration, validation, and troubleshooting.
Quick use
Open DSH Settings → Model capabilities and effort.
On stock DSH, use the Page language selector at the top to choose
中文orEnglish. The日本語and한국어entries require the DSH core locale changes described above. DSH uses the persisted locale first, then the browser language, then Chinese as the fallback.Choose a subagent default from the Subagent default effort card, then click Apply.
Use Quick settings to apply the official DeepSeek or generic preset to all models, or expand a provider and model for detailed configuration.
Use the search field to filter models by name or ID. Model rows show text/image input capability badges, a context-window badge when declared, and a settings button for per-model editing.
Select a reasoning level and enter the exact gateway value. For example:
DSH level Gateway value offLeave empty to omit the parameter highultramaxmaxReturn to Composer and select the model to use its reasoning selector.
The settings page shows the installed version as a small watermark such as v0.1.8 in the bottom-right corner.
Settings page layout
The page header contains the language selector. Below it, the Subagent default effort card controls the default for requests without an explicit effort. The Quick settings controls apply a preset across models. Provider sections can be expanded or collapsed; each model row exposes input capabilities, context length, and a settings control for reasoning levels and gateway values.

How it works
- Host: Scans
llm-pi-aimodelsandmodelOverrideson startup and settings changes, adding defaults only wherereasoningEffortsis missing. - Client: Registers a settings page through the standard DSH settings API and the official DSH locale service. Chinese, English, Japanese, and Korean dictionaries are maintained separately in
src/locales/zh.json,src/locales/en.json,src/locales/ja.json, andsrc/locales/ko.json, then generated into the client bundle before publishing. - Subagents: Stores the default in the
llm-pi-aiuser layer assubagentEffort. Theagent/requestwaterfall only fills requests that do not already specify an effort. - No configured default: The plugin does not automatically choose
off,high, ormax; the request omitsreasoningand the gateway decides its own default behavior.
Limitations
llm-pi-aiexposes seven standard levels:off,minimal,low,medium,high,xhigh, andmax.- Non-
offlevels require a gateway value. An emptyoffvalue means that the parameter is omitted. - The selected subagent level must be supported by the target model, or the gateway may return
UNSUPPORTED_REASONING_EFFORT. offand an unset effort may both omitreasoning; whether this disables thinking depends on the gateway protocol.- Host changes require a DSH restart. Settings and locale changes are applied in the browser, with a refresh available when needed.
License
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-thinking-effort for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:hytime/dsh-thinking-effort Headless (CLI) profile:
dsh plugin --profile headless add github:hytime/dsh-thinking-effort Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.