Introduction¶
Running DeepSeek Harness (DSH) on Windows, if a proxy is required, there are two common approaches: enabling TUN mode on the proxy software to take over the machine’s routing, or manually setting the HTTP_PROXY / HTTPS_PROXY environment variables before starting DSH. The former involves setting up a virtual network card and modifying routing, while the latter easily misses child processes and requires repeating configuration in every terminal.
The bozheng-li/dsh-system-proxy introduced below follows a third path: it reads the WinINET system proxy already configured by the current Windows user, allowing internal model requests, plugin installation, and development tools in DSH to share this network path, without requiring TUN mode, and without needing to manually enter IP addresses and ports.
What is it¶
dsh-system-proxy is a DSH plugin maintained by Bozheng-Li. It addresses a singular problem: allowing DSH running in Electron to directly reuse the Windows system proxy while keeping the system network from being taken over.
The current version of the plugin is 0.1.1, with 1 GitHub star, an MIT license, and the corresponding npm package dsh-system-proxy available in the directory. Its execution workflow can be summarized as:
Windows WinINET ──> System Proxy ──> DSH / undici / child processes
│
└── TUN: not required
In other words, when DSH starts, the plugin reads the current user’s WinINET settings and injects proxy rules into the Node.js/undici request path and DSH-derived child processes.
Core Capabilities¶
The capabilities listed in the README are three items, recorded here verbatim:
- Automatically reads the current user’s Windows HTTP proxy without needing to pre-fill address and port.
- Does not modify routing, does not create virtual network cards, does not open listening ports, effectively avoiding control of the system network.
- Model requests, Web Search, HTTP MCP, pnpm, and git share the same proxy path, and installation tools are also effective.
The coverage has boundaries, clearly stated in the README: the plugin covers Node.js/undici requests and DSH-derived child processes; traffic for login and updates handled by Electron itself is not guaranteed to be covered.
Installation and Activation¶
The plugin has requirements for the host version and operating system: DSH versions prior to 0.3.0, specifically 0.2.1-rc.2 to 0.3.0; Windows 10/11; Node.js requires >=22.19.0.
The simplest installation method is to enter the package name in DSH’s “Plugins → Add Plugin”:
dsh-system-proxy@0.1.1
After installation, DSH must be fully exited and reopened; otherwise, the plugin will not take over requests on the next startup.
If you are accustomed to using the command line, you can use the following method. The prerequisite is that dsh is in your PATH:
dsh plugin --profile desktop add dsh-system-proxy
When the CLI included with the desktop version is not in PATH, you can call its full path directly:
& "D:\deepseek-harness\resources\runtime\cli\bin\dsh.cmd" `
plugin --profile desktop add dsh-system-proxy
You can also install directly from GitHub:
dsh plugin --profile desktop add "github:Bozheng-Li/dsh-system-proxy"
The activation steps are three in order:
- Open the system proxy in the proxy software.
- Keep TUN mode off.
- Restart DSH.
When the plugin starts, it reads the current user’s WinINET settings in Windows, and by default, no IP address or port needs to be filled in.
Typical Usage¶
In most scenarios, no extra configuration is needed, as the plugin’s defaults are sufficient:
mode: auto
useWindowsBypass: true
mode: auto indicates following the Windows system proxy, and useWindowsBypass being true means merging Windows’s bypass list.
If you wish to always use a specific proxy address, add the following to %USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml:
- id: system-proxy
config:
mode: manual
proxyUrl: http://127.0.0.1:7897
Configuration items and priority are as recorded in the README:
| Config | Description |
|---|---|
mode: auto |
Follow Windows system proxy, default |
mode: manual |
Always use proxyUrl |
mode: off |
Do not apply plugin proxy |
useWindowsBypass |
Merge Windows bypass list, default true |
Priority from high to low is: explicit HTTP_PROXY / HTTPS_PROXY environment variables → plugin config → Windows system proxy.
Two limitations to note: PAC/WPAD is not supported; SOCKS proxy requires entering the HTTP or mixed port provided by the proxy software.
Verification and Troubleshooting¶
After the plugin activates, this line will appear in the startup log:
dsh-system-proxy: using http://127.0.0.1:7897 from Windows system proxy
To confirm if the Windows-side settings and proxy port are normal, you can execute:
Get-ItemProperty `
'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' |
Select-Object ProxyEnable, ProxyServer
Test-NetConnection 127.0.0.1 -Port 7897
If the plugin is not working, the README suggests checking in order: system proxy is on, port is listening, DSH has been fully exited and restarted, current profile is desktop, and it is not overridden by explicit proxy environment variables.
Uninstall command:
dsh plugin --profile desktop remove dsh-system-proxy
After execution, DSH also needs to be restarted.
Applicable Scenarios and Notes¶
The suitable scenarios are quite clear: users who have already configured a system proxy on Windows and want all outbound requests inside DSH (model calls, Web Search, HTTP MCP, pnpm, git) to go through the same chain, while not wanting to enable TUN mode.
A few points to note:
- The plugin covers Node.js/undici requests and DSH-derived child processes; traffic for login and updates handled by Electron itself is not guaranteed to be covered.
- The plugin runs with the permissions of the current DSH process; it is recommended to check the source code and license before installing. The plugin is under the MIT license and the repository is public.
- The conditional coverage scope is limited: it only supports Windows 10/11, and requires DSH versions between
0.2.1-rc.2and0.3.0. - The project currently has 1 star and is a very new plugin; you need to track subsequent compatibility changes yourself.
Conclusion¶
The value of dsh-system-proxy lies in simplifying “making DSH use a proxy” into one installation and three enabling steps, at the cost of not taking over the system network and only covering internal DSH request paths. If you only want to reuse the existing Windows system proxy and don’t want to touch routing, this plugin is currently a relatively direct approach.
Directory Page: https://www.skillhub.cn/plugins/Bozheng-Li/dsh-system-proxy
Repository: https://github.com/Bozheng-Li/dsh-system-proxy