Introduction

The core capabilities of DeepSeek Harness (DSH) rely on the plugin ecosystem. When the local network cannot directly access GitHub or api.github.com, developers need to bypass network restrictions. sevastopol36/dsh-plugin-ghproxy is a native Cordis plugin that forwards requests through public proxy mirrors to resolve direct connection timeout issues. The plugin does not depend on external runtime libraries and is implemented using Node.js built-in modules.

Installation

Install the plugin using the DSH command-line tool:

dsh plugin --profile web add github:sevastopol36/dsh-plugin-ghproxy

After installation, restart the profile (e.g., dsh web) to load the plugin.

Core Capabilities

The plugin provides the following capabilities:

  1. Multi-proxy failover: Tries multiple proxies in order; the first healthy proxy wins, and failed ones are skipped automatically.
  2. Health cache: Cached for 5 minutes based on each proxy’s success/failure results to avoid repeatedly testing unhealthy proxies.
  3. File fetching: Supports fetching raw files, blobs, gists, and JSON data from api.github.com.
  4. File downloading: Supports downloading release assets, repository archives, and gists locally.
  5. Command-line acceleration: Generates proxy URLs for use with git clone, curl, or wget.
  6. Built-in diagnostics: Tests the health of each proxy via a command.
  7. Zero runtime dependencies: Uses only Node.js built-in fetch, fs, and stream.

Usage

The plugin registers the following tools:

  • File fetching
    Use sevastopol36_ghproxy_fetch to read raw / text / JSON. If the text is too large or binary, it will be automatically written to disk.

  • File downloading
    Use sevastopol36_ghproxy_download to download raw files, release assets, archives, and gists locally.

  • Generate URL
    Use sevastopol36_ghproxy_proxy_url to generate a proxy URL.

  • Diagnosis
    Use sevastopol36_ghproxy_probe to test each proxy and provide a recommended proxyBases configuration.

  • Terminal usage
    Use proxy URLs directly:

    git clone https://gh-proxy.com/https://github.com/<owner>/<repo>.git
    curl -LO https://gh-proxy.com/https://github.com/<owner>/<repo>/releases/download/<tag>/<asset>

Configuration Example

The plugin supports YAML configuration. The default configuration is as follows:

- id: sevastopol36-ghproxy
  config:
    proxyBases:
      - 'https://gh-proxy.com'
      - 'https://sevastopol36-ghproxy.net'
      - 'https://ghfast.top'
      - 'https://gh.ddlc.top'
      - 'https://gh.jasonzeng.dev'
    downloadDir: 'downloads/github'
    timeoutMs: 60000
    retries: 1
    retryDelayMs: 800
    healthCacheMs: 300000
    maxTextBytes: 262144
    maxBytes: 209715200
    overwrite: false
    allowApi: true

Notes

  • Version changes: Version 0.1.0 hardcoded a single proxy, https://gh.jasonzeng.dev, which is no longer available and cannot fetch any content. Version 0.2.0 switched to a list of multiple proxies.
  • Runtime environment: Only supports Node.js >= 22.19.0.
  • Permissions: The plugin runs with the permissions of the current DSH process. Ensure that proxy services do not access sensitive information.

Ecosystem Background

This plugin is hosted in a community directory and has no affiliation with DeepSeek or High-Flyer.

  • Project homepage: https://github.com/sevastopol36/dsh-plugin-ghproxy
  • Community directory: https://www.skillhub.cn/plugins/sevastopol36/dsh-plugin-ghproxy