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:
- Multi-proxy failover: Tries multiple proxies in order; the first healthy proxy wins, and failed ones are skipped automatically.
- Health cache: Cached for 5 minutes based on each proxy’s success/failure results to avoid repeatedly testing unhealthy proxies.
- File fetching: Supports fetching raw files, blobs, gists, and JSON data from
api.github.com. - File downloading: Supports downloading release assets, repository archives, and gists locally.
- Command-line acceleration: Generates proxy URLs for use with
git clone,curl, orwget. - Built-in diagnostics: Tests the health of each proxy via a command.
- Zero runtime dependencies: Uses only Node.js built-in
fetch,fs, andstream.
Usage¶
The plugin registers the following tools:
-
File fetching
Usesevastopol36_ghproxy_fetchto read raw / text / JSON. If the text is too large or binary, it will be automatically written to disk. -
File downloading
Usesevastopol36_ghproxy_downloadto download raw files, release assets, archives, and gists locally. -
Generate URL
Usesevastopol36_ghproxy_proxy_urlto generate a proxy URL. -
Diagnosis
Usesevastopol36_ghproxy_probeto test each proxy and provide a recommendedproxyBasesconfiguration. -
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