dsh-proxy: DeepSeek Harness Proxy Plugin

Introduction

DeepSeek Harness (DSH) developers often need to control network traffic routing when debugging or deploying agents, such as accessing specific LLM providers through a proxy or connecting directly to internal network addresses. The dsh-proxy plugin provides a centralized network proxy configuration solution, supporting global proxies and per-provider routing.

Core Features

  • Global proxy configuration: Supports configuring an HTTP(S) global proxy and allows specifying hosts that bypass the proxy via a noProxy list.
  • Per-provider routing: Allows setting proxy or direct mode individually for a single model provider (e.g., deepseek-official, anthropic, openai).
  • Immediate effect: After changing and saving settings, they are applied without restarting DSH and take effect for the next round of requests.
  • Priority logic: Follows the priority order provider setting > global proxy > launch environment.
  • System proxy detection: Supports automatic proxy detection from environment variables (e.g., HTTP_PROXY) or system settings.

Installation

Run the following command in the terminal to install the plugin:

dsh plugin --profile web add @copylee/dsh-proxy

After installation, restart dsh web. You can find the Network proxy page in Settings.

Usage

Go to Settings → Network proxy:

  1. Global proxy: Check Enabled and enter the proxy URL (e.g., http://127.0.0.1:7890). In Hosts that bypass the proxy, enter host names (subdomain matching is supported). localhost and 127.0.0.1 bypass the proxy by default.
  2. Per-provider proxy: In the list, check the required provider IDs (e.g., deepseek-official, anthropic) and select Use proxy or Direct.
  3. Save: Click the save button. The settings take effect for the next request.

Configuration File

The plugin configuration is stored in the Web Profile’s cordis.patch.yml file, typically located at $DSH_HOME/profiles/web/cordis.patch.yml.

- id: dsh-proxy
  config:
    global:
      enabled: true
      url: http://127.0.0.1:7890
      noProxy: [internal.example.com]
    providers:
      anthropic:
        enabled: true
        mode: proxy
        url: http://127.0.0.1:7890
      deepseek-official:
        mode: direct

Field descriptions:
* global.enabled: Enables the global proxy.
* global.url: The global proxy URL.
* global.noProxy: The list of hosts that bypass the global proxy.
* providers.<id>.enabled: Enables the independent configuration for this provider.
* providers.<id>.mode: proxy (use proxy) or direct (direct connection).
* providers.<id>.url: The proxy URL for this provider.

Notes

  • Protocol limitations: Only HTTP(S) proxies are supported; SOCKS5 is not supported. The HTTP port of tools such as Clash (e.g., 7890) can be used.
  • Scope: Please use the @copylee/ scope. An unscoped package with the same name belongs to someone else.
  • Credential security: The username and password are stored in plain text in cordis.patch.yml.
  • Routing scope: Per-provider proxy settings only affect model requests and model discovery. Network requests such as Web search and Web Fetch still use global routing.
  • Telemetry remains direct: The plugin’s telemetry traffic remains direct and does not go through a proxy.

Ecosystem Context

The DSH philosophy is “everything is a plugin.” This plugin is maintained by community developer copylee711, hosted on GitHub, and licensed under the MIT license.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye