Introduction

In DeepSeek Harness (DSH), using models behind CLIProxyAPI typically involves manually maintaining endpoints and model lists. dsh-cliproxyapi-provider simplifies this to local auto-discovery, dynamic model directory synchronization, and bringing models from CLIProxyAPI into DSH’s native model selector.

The following introduces its positioning, capabilities, installation methods, and a few typical usage steps.

What is it

dsh-cliproxyapi-provider is a DeepSeek Harness plugin maintained by ChadCSong, positioned as a CLIProxyAPI provider.

It mainly solves these types of problems:

  • Local CLIProxyAPI services need to be discovered by DSH;
  • The model directory returned by CPA needs to be synchronized to DSH;
  • Models under CPA need to be easily switched within DSH sessions;
  • When the main model only supports text, a vision model needs to be used to process images first.

This plugin is a standard DSH bundle, suitable for DSH Web, headless profiles, and DSH Desktop (not a Desktop-only extension). The license is MIT.

Core Capabilities

The capabilities provided by this plugin are quite specific:

  1. Local auto-discovery of CLIProxyAPI, probing 127.0.0.1:8317, localhost:8317, and [::1]:8317.
  2. Reading the model directory from /v1/models?client_version=pi, supporting standard data[].id fallback.
  3. Models appear in DSH’s native model selector as the CLIProxyAPI (auto) group, supporting native model switching.
  4. Prioritizing sorting by the latest version within the same model family.
  5. Support for selecting a vision model from the auto-loaded directory; when the main model is text-only, it calls the vision model to describe the image first, then sends the text to the main model.
  6. When CPA reports, synchronizing context/output limits, inference support, image input, and service levels.
  7. Auto-refresh after CPA account or model changes, without needing to reinstall the plugin.
  8. API keys are stored via the DSH credential service, not written to settings.yaml.
  9. Providing /cpa-status and /cpa-refresh commands.
  10. Default inference protocol is openai-completions, using CPA’s /v1/chat/completions route; optional openai-responses.

Version Requirements

Before using, confirm that the current environment meets the following conditions:

  • DeepSeek Harness 0.1.0-rc.7 or 0.1.0-rc.8
  • Node.js 22.19+ or 24+
  • A running CLIProxyAPI instance

This plugin is currently built against the DSH 0.1.0-rc.8 public contract, while maintaining runtime compatibility with DSH Desktop based on rc.7. You need to restart the corresponding DSH process once after installation.

Installation and Enablement

Below is an example of the official installation command, taking the web profile as an example:

dsh plugin --profile web add github:ChadCSong/dsh-cliproxyapi-provider

If you are installing from local code, you can execute the following steps:

git clone https://github.com/ChadCSong/dsh-cliproxyapi-provider.git
cd dsh-cliproxyapi-provider
pnpm install
pnpm build
dsh plugin --profile web add "$PWD"

After installation, restart the corresponding DSH process once.

Typical Usage

First, start CLIProxyAPI, then enable the plugin in DSH, and finally go back to the session to select a model.

  1. Start CLIProxyAPI. If it listens on the default port 8317, leave the URL blank.
  2. In DSH, open Settings → Plugins → CLIProxyAPI (auto discovery).
  3. If bearer authentication is enabled for CPA, enter the API key once.
  4. Once the URL and key are valid, select the vision model from the auto-loaded dropdown.
  5. Go back to the session and select any model under CLIProxyAPI (auto) in the DSH native selector.

If you just want to confirm the current connection status, you can use:

/cpa-status

/cpa-status is used to view the current endpoint and the number of synchronized models.

If you want to immediately re-probe CPA and refresh the DSH model directory, you can use:

/cpa-refresh

Visual Model Processing

The visual model selection and main model selection of this plugin are two separate things.

If the main model itself supports images, images can go directly into the main model.

If the main model only supports text, the plugin will first call the selected vision model to describe the image, then send the description text to the main model. This allows sessions containing images to continue using text-only CPA models without modifying DSH itself.

It is important to note that DSH’s built-in DeepSeek provider is not within the routing of this plugin. When a session already contains images, DSH will still refuse to switch to the built-in text-only model. The plugin will not modify, wrap, or relabel the built-in DSH DeepSeek models.

Configuration and Credentials

This plugin is quite clear regarding credential handling:

  • API keys are stored via the DSH credential service, not written to settings.yaml.
  • apiKeyEnv is a credential reference, not the key itself.
  • The default reference is CLIPROXYAPI_API_KEY.

Regarding endpoints, auto-discovery only connects to loopback addresses. Non-loopback services are only accessed if you explicitly configure a baseURL.

The inference protocol defaults to openai-completions, corresponding to CPA’s /v1/chat/completions route. If your CPA deployment exposes target models via the Responses API, you can choose openai-responses.

Applicable Scenarios and Notes

This plugin is suitable for developers running CLIProxyAPI locally and wishing for DSH to auto-discover the model directory and dynamically switch models.

It is recommended to check the source code, build artifacts, and license before installation. This plugin runs with the current DSH process permissions. When connecting to local model services, endpoints, API keys, and model directories are all included in the actual call chain, so you need to confirm the source is trustworthy yourself.

Additionally, please note:

  • Auto-discovery only connects to loopback addresses;
  • The plugin does not write plaintext API keys to settings, model cache, or logs;
  • DSH built-in DeepSeek models are still managed by DSH itself;
  • The settings namespace remains dsh-cliproxyapi to ensure compatibility with upgrades.

Links

GitHub:

https://github.com/ChadCSong/dsh-cliproxyapi-provider

The directory page provided by the plugin clue is:

https://www.skillhub.cn/plugins/ChadCSong/dsh-cliproxyapi-provider

This directory page URL has not been confirmed as a stable entry in the verified materials of this article, please verify it yourself before use.