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 ProxyCommand for ssh.
  • 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

  1. Enter the proxy address: Enter a proxy address in the interface (for example, 127.0.0.1:10808) and click Save.
  2. 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 ProxyCommand to the Host github.com block in ~/.ssh/config (using the connect tool bundled with Git for Windows).
  3. Verify connectivity: Click Test Connectivity to verify whether the tunnels through the proxy to github.com:443 / github.com:22 are reachable.
  4. Perform the download: Run a Git pull or clone operation.
  5. 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 connect tool 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 ProxyCommand line already exists in the user’s ~/.ssh/config, the plugin inserts its line before it and ensures the plugin line takes precedence. If a Match section or multiple-host github.com lines 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.