Introduction

The plugin ecosystem of DeepSeek Harness (DSH) follows the principle of “Everything is a plugin”. Here it is necessary to distinguish: the community plugin directory is an independent site, with no official affiliation to DeepSeek or High-Flyer, nor is it an official app store.

For developers using custom providers, common issues include: the endpoint requiring a specific User-Agent or extra HTTP headers; whether the model accepts images; how reasoning levels are exposed; and how to handle compatibility when an OpenAI-compatible endpoint does not accept the developer role.

Below is an introduction to dsh-custom-provider-settings. It is maintained by supersealwqas, is MIT licensed, is loaded via the DSH plugin system, and does not modify Harness source files.

What is it

dsh-custom-provider-settings is a WebUI plugin that adds global model request headers to DeepSeek Harness and extends custom provider per-provider headers, image input declarations, reasoning level configuration, and DeepSeek system-role compatibility.

Its core boundaries are:

  • Global headers apply to all channels and models, including official DeepSeek, built-in third-party, and custom providers.
  • Per-provider headers, model capabilities, and compatibility controls only apply to providers tagged with Custom.

Core Capabilities

Global Request Headers

  • Configure global User-Agent and extra headers in the WebUI for every model request.
  • Clearing global headers restores Harness’s original request header behavior.
  • Both global and per-provider User-Agent fields provide common presets while retaining free input.

Custom Provider Request Headers

  • Configure User-Agent and extra HTTP request headers for providers tagged with Custom.
  • In fields with the same name, matching local values take precedence over global values.
  • Both normal model requests and Fetch available models use these request headers.
  • Fetch available models uses the header values filled in the current form, including unsaved values.

Model Input and Reasoning Configuration

  • Declare each custom model as text-only or text-and-image capable.
  • Configure the reasoning levels exposed by each model and map each level to the value sent to its API.
  • Set provider-level default reasoning level.
  • Configure the reasoning parameter format for openai-completions providers.

System-Role Compatibility

  • For compatible custom OpenAI providers, when the endpoint rejects developer messages, manage DSH’s native compat.supportsDeveloperRole switch.
  • This checkbox wraps the WebUI layer of the DSH native pi-ai compatibility setting, without intercepting or rewriting JSON request bodies.

Installation and Activation

Prerequisites

  • Node.js ^22.19.0 or >=24.0.0; Node.js 24 LTS is recommended.
  • DeepSeek Harness 0.1.1-rc.2 or a compatible version, with the web profile and native supportsDeveloperRole support.
  • Stop the running WebUI before installing, upgrading, or removing a plugin; restart the WebUI after the command completes.
  • The plugin is loaded via the DSH plugin system, and execution permissions depend on the process launching DSH. Please check the source code, MIT license, and your own environment before installing.

Installation Command

The following command installs the v0.5.0 release TGZ. This URL becomes available after the reviewed version is published as a GitHub Release.

npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add https://github.com/supersealwqas/dsh-custom-provider-settings/releases/download/v0.5.0/dsh-custom-provider-settings-0.5.0.tgz

After the command completes, restart the WebUI for the plugin to take effect.

Typical Usage

  1. Open Settings > Models.
  2. In the Global model request headers area at the top of the model list, enter User-Agent or other headers; leaving it empty preserves Harness defaults.
  3. Edit a provider already containing models with the Custom tag, or select Add provider > Add a custom provider and input its models.
  4. Configure the provider’s headers in the inserted per-provider Request headers area; matching local values in fields with the same name take precedence over global values.
  5. For compatible custom OpenAI providers, if the endpoint rejects the developer role, enable Use the system role.
  6. Under Model capabilities, select the input and reasoning capabilities for each model; select Text and images only only if both the API and the model support image input.
  7. Use the original Apply or Create provider button.
  8. Create a new session and select the model; global headers will be applied automatically.

User-Agent Presets

The User-Agent fields for both global and per-provider configurations include the following presets:

claude-cli/2.1.161 (external, cli)
claude-cli/2.1.161
claude-code/1.0.0
claude-code/0.1.0
Kilo-Code/1.0

Fields still allow manual input of other User-Agent strings.

Usage Notes

  • Global headers affect all channels and models; confirm before configuring that this will not change the behavior of official DeepSeek or built-in third-party providers.
  • Per-provider settings only apply to providers tagged with Custom.
  • Text and images only is merely a declaration of model capability to Harness; it cannot add vision support to APIs or models that do not support it.
  • System-role settings target the DSH native compatibility setting, not request body rewriting.
  • Global headers and provider extension fields saved in settings.yaml will not be automatically deleted.
  • Whether the v0.5.0 TGZ command is immediately usable depends on whether that version has been published as a GitHub Release.

Links

GitHub:

https://github.com/supersealwqas/dsh-custom-provider-settings

Plugin directory page (not independently verified):

https://www.skillhub.cn/plugins/supersealwqas/dsh-custom-provider-settings