Introduction

DeepSeek Harness (DSH) uses a plugin architecture and can expand its features to support different model providers. Manually adding routes and credentials in configuration files is often cumbersome and error-prone. This plugin simplifies the process of adding a provider to “select, paste Key, enable” through UI cards and CLI tools.

Plugin Overview

  • Name: dddmuc/dsh-provider-hub
  • Owner: DDDMUC
  • Category: Model Inference
  • License: MIT
  • Description: DSH plugin: add a provider by pasting an API Key with one click, includes 50+ built-in presets and multi-application compatibility (OpenAI/Anthropic compatible).

Installation

Install it through the DSH plugin manager:

dsh plugin --profile web add dsh-provider-hub

After installation, restart dsh web and open Settings → Models. A “Provider Presets” card will appear at the bottom of the page.

Core Features

  • One-click route and credential writing: The plugin writes the llm-pi-ai route and credentials through the official service. There is no need to manually edit settings.yaml or restart the service.
  • 50+ built-in provider presets: Covers international providers such as OpenAI, Anthropic, Google, and DeepSeek, as well as subscription and standard APIs from Chinese channels such as Alibaba Cloud Bailian, Zhipu, and Volcano Ark.
  • Custom provider support: Supports connecting to any OpenAI-compatible or Anthropic Messages endpoint.
  • Multi-application compatibility:
    • WorkBuddy: Writes to ~/.workbuddy/models.json. It writes only the definitions, and the Key is filled in within the application.
    • OpenCode: Writes the configuration, and the Key is stored in auth.json.
    • cc-switch: Writes to ~/.cc-switch/config.json.
  • Environment variable Key reuse: Supports referencing the Key through environment variables.
  • ChatGPT Desktop patch: Adds a “Sign in with a third party” entry to the ChatGPT Desktop login page.

Usage

Basic Usage (DSH Web)

  1. In the “Provider Presets” card at the bottom of the settings page, click “Get Key” on the right side of the preset row.
  2. After obtaining the Key, paste it into the input box and click “Enable”.
  3. The status badge will display Running or Written.
  4. Models from the new provider will immediately appear in the model selector of the chat input box.

WorkBuddy Compatibility

Use the node tools/workbuddy.mjs tool to operate on the local model file ~/.workbuddy/models.json.

node tools/workbuddy.mjs list
node tools/workbuddy.mjs add-all
node tools/workbuddy.mjs add volcengine-agent-plan
node tools/workbuddy.mjs add stepfun-step-plan --key-from-dsh STEPFUN_API_KEY
node tools/workbuddy.mjs unset-key volcengine-agent-plan

Note: You need to restart the WorkBuddy application after writing.

OpenCode Compatibility

Use the node tools/opencode.mjs tool to operate on the configuration file.

provider-hub-opencode list
provider-hub-opencode add volcengine-agent-plan
provider-hub-opencode add longcat --key sk-...
provider-hub-opencode add-all
provider-hub-opencode migrate-key
provider-hub-opencode remove volcengine-agent-plan

Note: You need to restart OpenCode after the configuration is written.

cc-switch Compatibility

Use the node tools/cc-switch.mjs tool to operate on ~/.cc-switch/config.json.

provider-hub-cc-switch list
provider-hub-cc-switch add volcengine-agent-plan --key-from-dsh ARK_API_KEY
provider-hub-cc-switch add-all
provider-hub-cc-switch unset-key <presetId>

Connection Wizard

Automatically detect and write to multiple applications through an interactive command:

provider-hub-connect

Or use pipe input:

echo -e "3\nsk-ant-xxx\ny" | provider-hub-connect

Notes

  • DeepSeek built-in: DSH includes the official DeepSeek adapter. The presets provided by this plugin are collapsed by default and are not displayed repeatedly.
  • ChatGPT Desktop: The patch needs to be reapplied after each ChatGPT application update.
  • macOS signing: The ad-hoc signature for the ChatGPT patch will lose notarization, but local execution is unaffected.
  • Restart requirement: WorkBuddy and OpenCode require an application restart after configuration writing to take effect.
  • No-overwrite logic: Write operations without a Key will not overwrite an existing Key.