Introduction

In a Windows + WSL environment using DeepSeek Harness (DSH), the browser may be able to access HTTPS normally, while the agent process inside WSL cannot connect. This is usually caused by proxy configuration or Node.js 24 behavior: proxy software such as Clash / V2Ray runs on Windows, while Node 24 fetch ignores environment variables by default unless NODE_USE_ENV_PROXY=1 is explicitly set. The plugin dsh-wsl-net is intended to diagnose these network issues and return a copyable repair script.

Plugin Scope

dsh-wsl-net is a network diagnostic tool plugin for DeepSeek Harness. It is part of the dsh-wsl-kit suite and works together with dsh-wsl-env.

Core Features

This plugin mainly addresses network reachability issues in WSL, including the following capabilities:

  1. Environment Variable Report: Reads and displays variables such as HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, and NO_PROXY, with user information (such as username/password) masked.
  2. Process Environment Comparison: Checks the environment variables of the current dsh web process (dshWeb) to distinguish proxy configuration differences between the tool process and the host process.
  3. Port Detection: Performs TCP detection on the configured proxy port (proxyListen) to confirm whether the port is listening.
  4. Service Reachability Detection: Probes connectivity to the DeepSeek API and npm registry (an HTTP status code below 500, including 401, is considered reachable).
  5. Repair Script Generation: Returns diagnostic recommendations and repair steps/scripts. If a proxy is currently configured, the script reuses it; otherwise, it returns a default template (such as 127.0.0.1:7890) for manual editing.
  6. Child Process Proxy Injection: Optionally injects NODE_USE_ENV_PROXY=1 and the lowercase http_proxy alias into bash/npm child processes.

Installation and Enabling

The installation command is as follows:

dsh plugin --profile web add github:173787247/dsh-wsl-net

After installation, restart dsh web. In a new session, the net_doctor tool will appear in the Tools list.

Typical Usage

You can trigger diagnostics by asking directly in the chat box:

“Check whether DeepSeek API and npm are reachable.”

If the “child process proxy injection” feature is enabled, you can verify whether the environment variables have been injected with the following command:

node -e "console.log(process.env.NODE_USE_ENV_PROXY, process.env.http_proxy || process.env.HTTP_PROXY)"

When the child process is wrapped correctly, the expected output is 1 and your proxy URL.

Configuration and Parameters

The plugin supports adjusting its behavior via a configuration file. In the DSH configuration, you can add the following:

- id: dsh-wsl-net
  name: dsh-wsl-net
  config:
    timeoutMs: 20000
    probeTimeoutMs: 5000
    injectChildProxy: true
Parameter Default Description
timeoutMs 20000 Tool execution timeout
probeTimeoutMs 5000 Timeout for a single probe
injectChildProxy true Whether to inject proxy environment variables into child processes

The tool’s execution parameter target specifies the check scope:

  • all: Default; checks everything.
  • env: Checks environment variables only.
  • deepseek: Checks the DeepSeek API only.
  • npm: Checks the npm registry only.

Notes

Before use, be aware of the plugin’s limitations:

  • Does not fix in-process web_fetch: The plugin mainly handles process-level and child process-level network issues. If the issue is in the DSH main process’s internal web_fetch (for example, when using the dsh-wsl-fetch plugin), this plugin cannot solve it.
  • Does not print API keys: For security reasons, the plugin does not output any API keys.
  • Does not change Clash ports: The plugin does not automatically modify Clash or V2Ray port configuration.
  • Does not invent proxy URLs: If no proxy is currently configured, the plugin does not generate a proxy URL out of thin air; it only returns a template or recommendation.

Conclusion

dsh-wsl-net is a practical tool for resolving network connectivity issues in WSL environments. It helps developers quickly identify conflicts between proxy configuration and Node.js 24 behavior and obtain repair scripts. It is recommended to use it together with other components in dsh-wsl-kit.