Introduction

In DeepSeek Harness (DSH), integrating Claude typically involves using a generic Custom Provider with the protocol set to anthropic-messages. This path allows sending requests, but the configuration experience is incomplete: the model list often needs manual entry, reasoning effort settings must be manually referenced from documentation and added to settings.yaml, and the reasoning effort tiers supported by different Claude models vary.

Starting from DeepSeek Harness 0.1.1-rc.1, the core has natively supported Claude’s reasoning-effort parameter, but it still requires manual maintenance in settings.yaml. @mofeng2223/dsh-claude-provider (maintained by MoFeng2223, 38 stars on GitHub, categorized as Model Inference) addresses this gap by providing an independent Claude Provider type, frontend forms, and model discovery, writing the corresponding configuration into DSH’s native settings upon saving, rather than intercepting or rewriting requests at runtime.

Below, we introduce this plugin’s positioning, capabilities, and installation usage.

What This Is

@mofeng2223/dsh-claude-provider is a Claude Provider extension plugin for DeepSeek Harness, currently at npm version 0.3.1 under the MIT license. In one sentence: It adds a dedicated Claude Provider configuration entry, Anthropic model discovery, and reasoning-related native setting configuration per model to DSH.

Compared to “using the same anthropic-messages address in a generic Custom Provider,” this plugin consolidates Claude-specific capabilities into an independent Provider type. Upon saving, it writes to settings.yaml, so users don’t need to manually edit YAML, while also preserving model discovery and known model default value population not yet covered by the DSH core.

Core Features

Independent Claude Provider Type

The Models settings page will gain a Claude Provider entry. Multiple Provider IDs can be created under this type, managed separately from the generic Custom Provider. Selecting Add Claude Provider opens a dedicated Anthropic Messages form, with fields aligned to the Claude integration scenario.

Per-Model Reasoning Effort Configuration

Each model can be bound to one of three effort modes:

  • Five-tier: Low, Medium, High, XHigh, Max
  • Four-tier: Low, Medium, High, Max
  • Toggle: On or Off

New models default to five-tier; the Claude Provider’s default reasoning is High. For adaptive thinking models, the plugin writes the selected effort level into DSH’s native configuration (such as reasoningEfforts, default reasoning, compat.forceAdaptiveThinking, etc.) upon user saving, without performing runtime transformations in the request chain.

Anthropic Native Model Discovery

DSH’s generic Custom Provider cannot list models for the anthropic-messages protocol. For configurations explicitly created as Claude Provider, this plugin fetches the model list via the Provider’s Anthropic-compatible GET /v1/models endpoint and supports cursor-based pagination.

Auto-Population of Known Claude Defaults Post-Discovery

If a discovered model ID matches a known Claude model recorded in the plugin, it will automatically populate the context window, maximum output length, and reasoning effort tiers. Manually entered models remain fully editable and are not overwritten by lookup results.

Does Not Affect Other Providers

Model discovery, defaults, and reasoning controls only apply to the Claude Provider type. DSH’s built-in Providers and standard Custom Providers (even if the protocol is anthropic-messages or the model ID resembles claude-*) retain their original behavior.

Installation and Enabling

The plugin is installed via the DSH official CLI, selecting the profile based on the usage scenario. After installation, the corresponding DSH process needs to be restarted.

For the Web interface scenario:

npx @deepseek-ai/dsh plugin --profile web add @mofeng2223/dsh-claude-provider

For Headless scenarios without a Web interface:

npx @deepseek-ai/dsh plugin --profile headless add @mofeng2223/dsh-claude-provider

When building from source, Node.js >= 22.19 is required. After cloning the repository, run npm install and npm run build, then use npm pack to generate the tgz and install it to the corresponding profile using the local package path:

npx @deepseek-ai/dsh plugin --profile web add ./dist/mofeng2223-dsh-claude-provider-*.tgz

Uninstallation commands (execute once for each installed profile):

npx @deepseek-ai/dsh plugin --profile web remove @mofeng2223/dsh-claude-provider
npx @deepseek-ai/dsh plugin --profile headless remove @mofeng2223/dsh-claude-provider

Uninstallation does not delete ~/.dsh/settings.yaml or stored credentials; existing Claude Providers degrade to standard anthropic-messages routing, and native reasoning configurations remain usable, but the dedicated add/remove UI, model discovery, and recorded defaults will disappear.

Typical Usage

  1. Install the plugin using the above commands and restart DSH.
  2. Open Models settings, select Add Claude Provider, and fill in the required Anthropic Messages fields like Provider ID, API Base, API Key, etc.
  3. Trigger model discovery within the form, or manually add models; for known Claude models, the context window, output limit, and reasoning effort tiers will be automatically populated and can be adjusted as needed.
  4. Select the reasoning effort mode and defaults for each model, then save the Provider. The plugin will write the corresponding items to DSH’s native fields in settings.yaml.
  5. Select models under this Provider in an Agent or session; the reasoning tier is switched via the DSH frontend selector, and the core sends requests based on the written configuration.

Use Cases and Notes

Who is it for: Developers who need stable integration of Claude in DSH, prefer managing reasoning effort via forms rather than manual YAML edits, and rely on the Provider-side model list.

Permissions and Security: The plugin runs with the current DSH process’s permissions, reading/writing local settings.yaml and communicating with the Provider’s API. Before installation, you should review the GitHub repository source code and MIT license to ensure API key storage and network egress policies meet your environment requirements.

Relationship with the Core: Reasoning parameters are natively supported by DSH since 0.1.1-rc.1; this plugin’s value is concentrated in configuration UX, model discovery, and Claude model defaults, rather than request interception. Community directories like SkillHub are independent sites, not officially affiliated with DeepSeek /幻方, and plugin listings are for reference only.

Conclusion

@mofeng2223/dsh-claude-provider consolidates Claude integration from “generic Custom Provider + manual YAML editing” into a dedicated type: frontend saving writes to native configuration, with model discovery and known model defaults included. If you use Claude long-term in DSH, you can first install the plugin by profile, then create a Claude Provider on the Models page to verify if discovery and reasoning effort tiers meet your expectations.