DeepSeek Harness (DSH) adopts a plugin-based architecture, aiming to meet diverse needs through extensions. In development or testing environments, you may sometimes need to access GitHub through a proxy, but not want to keep the system configuration modified long-term. wjt0321/dsh-git-proxy provides a Web UI switch that lets users configure Git and SSH proxies on demand and restore direct connections after the download is complete.
Core Features¶
This plugin mainly addresses proxy configuration for GitHub access. Its capabilities include:
- One-click proxy switch: Turn Git and SSH proxying on and off from the Web UI.
- Save proxy address: Enter and save a proxy address. It is stored locally per profile.
- Connectivity test before download: Verify connectivity between the proxy port and the GitHub tunnel before downloading.
- Automatic configuration:
- Configure the HTTPS proxy for
git. - Configure
ProxyCommandforssh.
- Configure the HTTPS proxy for
- Address validation and removal: Validate the proxy address format and remove the configuration when switching off.
Installation and Enablement¶
Install from the plugin marketplace, or use the command line:
dsh plugin --profile web add github:wjt0321/dsh-git-proxy
After restarting the Web UI, open Settings → Git Proxy.
Typical Usage¶
- Enter the proxy address: Enter a proxy address in the interface (for example,
127.0.0.1:10808) and click Save. - Enable the proxy: Click Enable Proxy. The plugin performs the following configuration:
- Git (HTTPS): Runs
git config --global http.https://github.com.proxy http://<address>. - SSH: Writes
ProxyCommandto theHost github.comblock in~/.ssh/config(using theconnecttool bundled with Git for Windows).
- Git (HTTPS): Runs
- Verify connectivity: Click Test Connectivity to verify whether the tunnels through the proxy to
github.com:443/github.com:22are reachable. - Perform the download: Run a Git pull or clone operation.
- Disable the proxy: After the download is complete, click Disable Proxy. Both configurations are removed immediately, restoring direct connections.
Notes and Limitations¶
- Environment dependency: The SSH proxy feature depends on the
connecttool bundled with Git for Windows. If it is missing, the SSH portion will be marked as unavailable. - Proxy requirements: Authenticated proxies (username/password) and IPv6 proxy addresses are not supported. The proxy software must be running; otherwise, enabling the proxy can cause Git operations to fail.
- Scope of impact: Only Git operations for
github.com(HTTPS and SSH) are affected. npm/pnpm package downloads are not affected. - Configuration conflicts: If a
ProxyCommandline already exists in the user’s~/.ssh/config, the plugin inserts its line before it and ensures the plugin line takes precedence. If aMatchsection or multiple-hostgithub.comlines exist, the plugin issues a notice and leaves the configuration unchanged. - Format handling: Editing the SSH config normalizes line endings to LF.
Ecosystem Context¶
DSH’s philosophy is “everything is a plugin”. This plugin is maintained by community developers. It is recommended to review the source code and license before installation.