Introduction¶
The command-line launch path of DeepSeek Harness (DSH) calls installProxyFromEnvironment() to convert proxy environment variables into process-level routing policies. The DSH desktop launch path lacks this step, so the web_fetch tool built into the desktop agent always connects directly. When the network environment requires access through a proxy, direct connections can cause requests to fail (for example, the error URL hostname resolves to a non-public IP address). The dsh-local-proxy plugin fills this gap, allowing network requests from the desktop agent to use the local HTTP proxy.
Plugin Purpose¶
dsh-local-proxy is a DSH plugin maintained by WoodSettler. It is intended to resolve the issue where the DSH desktop version cannot use the system proxy, enabling agent network traffic to use the local HTTP proxy on the machine.
Core Features¶
This plugin does only two things:
1. Discover the proxy: It first reads proxy environment variables (HTTPS_PROXY, HTTP_PROXY, ALL_PROXY). If they are not set, it reads the Windows system proxy registry (HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings). Only loopback addresses are accepted.
2. Use the proxy: It installs an in-process dispatcher via DSH’s installProxyFromEnvironment and publishes the proxy variables to child processes. In Node.js environments, it also sets NODE_USE_ENV_PROXY=1.
Installation and Enablement¶
Installing the plugin requires the --profile desktop parameter. After installation, the plugin automatically adds itself to dsh.profile.bundles. After installation completes, restart DSH.
dsh plugin --profile desktop add github:woodsettler/dsh-local-proxy
Typical Usage¶
Three installation methods are provided:
* Install from a Git repository:
dsh plugin --profile desktop add github:woodsettler/dsh-local-proxy
- Install from npm:
dsh plugin --profile desktop add dsh-local-proxy
- Install from a local checkout (run inside the directory):
dsh plugin --profile desktop add .
Applicable Scenarios and Notes¶
- Applicable scenario: Using the DSH desktop version on Windows and needing to access network resources through an HTTP proxy.
- Notes:
- Windows only; it is not available on non-Windows systems.
- The plugin does not detect whether the proxy is available or whether the node is alive. If the proxy configuration is incorrect, you need to fix it yourself.
- The plugin does not handle TUN mode, PAC parsing, or port scanning.
- If an error occurs at any step, the plugin only writes logs; it does not break an otherwise working direct connection.
- Log location:
<DSH_HOME>/dsh-local-proxy(DSH_HOMEdefaults to~/.dsh).
Conclusion¶
This plugin resolves the issue where the DSH desktop agent connects directly in proxy environments, allowing developers to work normally in such environments. For more details, refer to the plugin directory or GitHub repository.