DeepSeek Harness plugin

dsh-better-api

增强的模型设置页插件:为自定义模型提供每模型推理强度(reasoningEfforts)编辑,OpenAI 兼容网关可直接勾选 low/medium/high 等档位;聊天模型选择器随之显示 Effort 菜单。

Jump to install

Source facts

Repository
131CDA1/dsh-better-api
Latest update
Aug 18, 2026
Category
Tools & Capabilities
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/131CDA1/dsh-better-api
Plugin: dsh-better-api
Author: 131CDA1

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

English | 中文

dsh-better-api

An enhanced Models settings plugin for the DSH Web GUI: per-model reasoning strength (reasoningEfforts) editing for your custom models.

The official models settings page ships no reasoning-effort control. This plugin adds it to the official model-catalog editor:

  • Each model row gains a Reasoning strength checkbox group: off / minimal / low / medium / high / xhigh / max
  • Checked levels are written into the model's reasoningEfforts (levels are sent under their own name; off is special-cased to "send no parameter")
  • Unchecking everything removes the declaration, so the model falls back to "no reasoning" and no misleading control is shown
  • Hand-declared custom models (OpenAI-compatible gateways, etc.) now get an Effort menu in the conversation model picker (provider default + the declared levels); picking one persists it as the session default

Forked from the official @deepseek-ai/dsh-client-ui-settings-models (MIT) with only this editing capability added; everything else behaves like the official plugin.

<p align="center"><img src="./assets/preview.png" alt="dsh-better-api preview"></p>

Features

  • Settings → Models → any provider → model catalog → expand a model row → check reasoning levels
  • Also available while creating a new custom provider
  • Full en/zh UI copy
  • Writes land in the settings document (e.g. ~/.dsh/settings.yaml) on save — no restart required

Install

cd ~/.dsh/profiles/web
npm i github:131CDA1/dsh-better-api
# merge the repo-root cordis.patch.yml into this profile's cordis.patch.yml

or directly:

dsh plugin --profile web add github:131CDA1/dsh-better-api

Why must the official models settings page be disabled?

This plugin and the official one share the same settings.section#models slot; enabling both throws a duplicate-registration error. This plugin is an enhanced replacement for the official models settings page — the bundled patch disables the official row (ui-settings-models / @deepseek-ai/dsh-client-ui-settings-models) automatically; if you install manually, disable that row in the plugin inventory first.

Does it conflict with other plugins?

No conflict with API proxy / relay / usage plugins.

Usage

1. Open Settings → Models, expand your provider card (e.g. custom gpt). 2. In Models, expand a model row (advanced area) and check the reasoning levels you want. 3. Click Apply. 4. Back in a conversation, select that model — the Effort menu now shows the declared levels.

Config reference (settings.yaml)

reasoningEfforts declares a model's selectable thinking levels: each key is a level selectors offer, its value the spelling dispatch sends on the wire (low: low passes the canonical name through; max: ultra renames it for a gateway with its own vocabulary). Keys come from the level set off / minimal / low / medium / high / xhigh / max; a level not declared is not offered.

llm-pi-ai:
  providers:
    gpt:
      apiKeyEnv: GPT_API_KEY
      api: openai-completions
      baseURL: https://api.example.com
      models:
        - id: gpt-5.6-sol
          name: GPT-5.6 Sol
          reasoningEfforts:
            low: low
            medium: medium
            high: high
  • off is the one three-state key: declared with no value (off:) offers Off and sends no parameter when selected; declared with a value (off: none) sends that value.
  • Once declared, the declaration is the whole offer — restate every level you want to keep.
  • For gateways with their own vocabulary, change the value (e.g. max: ultra) — no UI change needed.

License

MIT. Fork of @deepseek-ai/dsh-client-ui-settings-models; upstream copyright retained.