Introduction

DeepSeek Harness (DSH) supports connecting custom models through the llm-pi-ai provider. In the Web interface, the official default settings usually make it difficult to directly manage reasoning levels (reasoningEfforts) in a fine-grained way for each model, which typically requires manually editing the configuration file.

dsh-thinking-levels-settings is an official-style client plugin that adds a new page to DSH Web’s “Settings → Thinking Levels”. It allows you to configure reasoning levels for each model of a custom provider and persist the configuration to a local file through the official Settings channel.

Core Features

This plugin mainly provides the following capabilities:

  • Per-model reasoning level configuration: The plugin discovers the available level vocabulary (such as off / minimal / low / medium / high / xhigh / max) from DSH’s settings schema. If discovery fails, it falls back to seven built-in levels. New levels added by DSH in the future can be followed without upgrading the plugin.
  • Three reasoning modes:
    • Inherit catalog: Omit the configuration field and follow the provider catalog’s capability declaration for that model.
    • Non-reasoning: Write reasoningEfforts: false, and no levels are provided in the model menu.
    • Enable levels: Declare protocol values level by level (at least one level is required besides Off, enforced by DSH).
  • Input capability checkboxes: Support checking text or image. If neither is checked, it is equivalent to inheriting the catalog; this is mainly an assertion against the endpoint, and the provider rejects unsupported input.
  • Preset level protocols: Provides preset mappings for DeepSeek / OpenAI / Grok protocols (subset based on current available levels).
  • Two-level collapsible interface: Provider groups and model rows are collapsible at two levels. In the collapsed state, level summaries and input capability badges are still displayed, and the collapsed state is recorded in browser local storage.
  • Search and filtering: Supports searching by model name, ID, or provider. Provides quick filters (All / Supports images) and more filter options (Configured / Not configured / Non-reasoning / Unsaved); filtering only expands the matched groups.
  • Real-time preview and saving: The expanded area previews in real time the levels that the model menu will provide. Click “Save All” to write all unsaved changes. Each save clones the entire array to ensure data safety and uses expectedRevision to detect conflicts.
  • Export and import: Supports exporting the current configuration or draft as a JSON file. When importing, it is only used to confirm the draft and does not write directly to the configuration file.

Installation and Activation

Installing this plugin requires a DSH CLI environment and a Web profile.

1. Install the Plugin

Install it using the official CLI (Method A):

dsh plugin --profile web add -w github:blackteaYES/dsh-thinking-levels-settings#master

Note: The -w parameter is required when pnpm version is lower than 10.5.0, but it is harmless to keep it in newer versions. The master branch is automatically maintained by CI as prebuilt artifacts, so no local build is required.

2. Upgrade Check

If your DSH version is 2.0 or lower, you need to clean a polluted profile before upgrading (legacy dependencies will cause errors such as Cannot read properties of undefined (reading 'parse')). Please run the removal command first and check whether any @deepseek-ai related directories remain in the ~/.dsh/profiles/web directory.

3. Enable

After installation, restart dsh, perform a hard refresh in the browser (Ctrl+Shift+R), and go to “Settings → Thinking Levels” to see the newly added management page.

Usage

In the “Thinking Levels” page, the plugin automatically detects and displays the list of configured llm-pi-ai providers.

  1. Select a provider and expand the list of models under it.
  2. Click the edit icon next to a model to configure the reasoning mode, enabled levels, and input capabilities.
  3. Use the search box at the top to filter models, or use the quick filter buttons to view the status quickly.
  4. After configuring, click the “Save All” button in the toolbar.
  5. To back up or migrate the configuration, click “More ▾” and select export/import JSON.

Notes

  • Prerequisites: A custom llm-pi-ai provider must be configured in the profile; otherwise, the page will show that there are no providers to edit.
  • Persistence path: The configuration is written to ~/.dsh/settings.yaml and remains after restart.
  • Write strategy: The settings channel does not support array index operations, so the plugin adopts a strategy of cloning the array and writing it in bulk to avoid data corruption.
  • Internationalization: The plugin integrates with DSH’s built-in locale service and supports switching between Chinese and English.

Summary

dsh-thinking-levels-settings solves the pain point of fine-grained management of custom model inference capabilities in the DSH Web interface. By providing a friendly GUI and preset protocols, it lowers the barrier to manually maintaining YAML configuration, making it suitable for scenarios that require uniform or differentiated reasoning intensity settings across multiple models.

View Plugin Directory
View Source Code