dsh-local-proxy: Route the DSH Desktop Agent Through a Local Proxy

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_HOME defaults 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.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye