Preface¶
The DSH plugin system attaches web-side capabilities to the web profile. At runtime, the agent may itself initiate web_search, web_fetch, or call external APIs. If you want these requests to uniformly go through a local proxy, rather than modifying external tools, system environment variables, or call parameters individually, dsh-net-proxy provides a direct entry point: fill in the proxy address once in the DSH settings, and let the fetch calls within the agent process use that proxy.
What This Is¶
dsh-net-proxy is a DeepSeek Harness (DSH) network proxy plugin, with the repository at https://github.com/mafeis/dsh-net-proxy, licensed under MIT. The current version verified in the available materials is 0.2.5.
It wraps the global fetch in the agent process, allowing network requests initiated by the agent itself (web_search / web_fetch / external APIs) to go through the HTTP / HTTPS-CONNECT / SOCKS5 proxy you configure. Configuration is persisted, takes effect automatically once the plugin is enabled, and a visual settings page is provided.
Core Features¶
- Routes
web_search,web_fetch, and external API requests initiated by the agent through the proxy. - The server-side wraps the global
fetchin the agent process, with hand-written forwarding logic, introducing no third-party proxy dependencies. - Configuration is stored in
$DSH_HOME/net-proxy.json. - The settings page reads and writes configuration via the same-origin route
/_dsh/net-proxy, with changes taking effect immediately without requiring a restart. NO_PROXYexcludes local loopback addresses by default, preventing local requests from being proxied.- Provides a visual settings page for enabling the proxy, entering the address, and authentication information.
Installation and Enablement¶
First, install the plugin:
dsh plugin --profile web add github:mafeis/dsh-net-proxy
After installation, restart dsh web to make the plugin available:
dsh web
Then navigate to Settings → Network Proxy, enable the proxy, and fill in the proxy address, for example:
127.0.0.1:7890
If you prefer not to use the installation command, you can also manually add the following to cordis.patch.yml in the profile:
- insert:
- id: net-proxy
name: 'dsh-net-proxy'
Configuration Fields¶
Configuration is saved in net-proxy.json, and the settings page reads and writes this same configuration. Default values are as follows:
| Field | Default Value | Description |
|---|---|---|
enabled |
false |
Whether the proxy is enabled |
protocol |
http |
http (including CONNECT tunneling) or socks5 |
host |
127.0.0.1 |
Proxy host |
port |
7890 |
Proxy port |
username |
empty | Optional authentication username |
password |
empty | Optional authentication password |
noProxy |
["127.0.0.1","localhost","::1"] |
Addresses matched here are connected directly, bypassing the proxy |
A sample configuration close to the defaults is as follows:
{
"enabled": false,
"protocol": "http",
"host": "127.0.0.1",
"port": 7890,
"username": "",
"password": "",
"noProxy": [
"127.0.0.1",
"localhost",
"::1"
]
}
Typical Usage¶
- Install the plugin and restart
dsh web:
dsh plugin --profile web add github:mafeis/dsh-net-proxy
-
Open
Settings → Network Proxyand turn onenabled. -
Select the protocol based on your local proxy type:
- HTTP / HTTPS-CONNECT: select
http. - SOCKS5: select
socks5.
- Fill in the proxy address. For example, when the local proxy is running on port
7890, you can fill in:
host: 127.0.0.1
port: 7890
-
If the proxy requires authentication, fill in the
usernameandpassword. -
After saving, network requests subsequently initiated by the agent will use the proxy according to the current configuration; after modifying the configuration again, there is no need to restart
dsh web.
Dependencies and Runtime Constraints¶
This plugin is designed for the DSH web client. In package.json, the platform is web, and the client injects the following modules:
react
react/jsx-runtime
@deepseek-ai/dsh-client-ui-primitives
peerDependencies specifies the following version ranges:
@deepseek-ai/dsh-client-ui-primitives >=0.0.1-rc.1 <0.2.0
@deepseek-ai/schemastery >=0.0.1-rc.1 <0.2.0
Applicable Scenarios and Considerations¶
Suitable for the following situations:
- You want requests initiated by the DSH agent itself to uniformly go through a local proxy.
- You need to maintain the proxy address in the DSH settings page rather than modifying external scripts.
- Your local proxy supports HTTP CONNECT or SOCKS5.
- You want to retain direct connections for local loopback addresses by default, without forwarding
127.0.0.1,localhost, or::1to the proxy.
Points to note before use:
- This plugin wraps the global
fetchwithin the agent process and runs with the permissions of the currentdshprocess. - Before installation, review the source code, dependencies, and the MIT license to ensure the proxy configuration aligns with your egress policy.
- It targets network requests initiated by the agent itself and is not equivalent to a system-level global proxy.
Conclusion¶
dsh-net-proxy solves a very specific problem: within the DSH web profile, it allows the agent’s own web_search, web_fetch, and external API requests to go through a specified proxy, with persistent configuration managed via the settings page.
GitHub repository:
https://github.com/mafeis/dsh-net-proxy
A catalog page link was not provided in the currently verified materials; you can search for the plugin name dsh-net-proxy in the community catalog.