
mafeis/dsh-net-proxy
30Last commit Aug 14, 2026
dsh-net-proxy DSH plugin
dsh-net-proxy is a DSH plugin that intercepts the agent's global fetch calls and forwards them through an HTTP/HTTPS-CONNECT or SOCKS5 proxy. Configuration is stored in `$DSH_HOME/net-proxy.json` and can be managed via a visual settings page at `/_dsh/net-proxy`. Changes take effect immediately without restart.
How to install the dsh-net-proxy DSH plugin
dsh plugin --profile web add github:mafeis/dsh-net-proxyCopying does not run this command. Review the repository and version before installing the dsh-net-proxy DSH plugin.
dsh-net-proxy DSH plugin data source
dsh-net-proxy DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-net-proxy DSH plugin can do
- Wraps the agent's global `fetch` to route all outbound requests through the configured proxy (hand-written forwarding, no third-party proxy dependency).
- Supports HTTP, HTTPS-CONNECT (tunnel), and SOCKS5 proxy protocols.
- Persistent configuration stored in `$DSH_HOME/net-proxy.json`; includes fields for host, port, protocol, optional authentication (username/password), and NO_PROXY list.
- Visual settings page accessible via DSH web settings → 网络代理 (Network Proxy), with instant activation without restart.
- Default NO_PROXY list excludes localhost and loopback addresses (127.0.0.1, localhost, ::1).
Where the dsh-net-proxy DSH plugin fits
- Route agent's web_search and web_fetch through a corporate proxy to access internal or restricted resources.
- Use a SOCKS5 proxy to bypass network restrictions when running DSH in a censored environment.
- Centralize and audit all outbound HTTP/HTTPS requests made by the agent by routing them through a proxy with logging.
- Apply proxy authentication for external API calls that require authenticated proxy access.
Who the dsh-net-proxy DSH plugin is for
- DSH users who need to access the internet through a proxy (e.g., behind corporate firewall or with limited connectivity).
- Developers and operators deploying DSH in environments where outbound traffic must go through a specific proxy or gateway.
dsh-net-proxy DSH plugin limitations
- Only supports HTTP/HTTPS-CONNECT and SOCKS5 proxy protocols; other proxy types (e.g., SOCKS4, HTTP/2 proxy) are not implemented.
- Configuration is stored in `$DSH_HOME` directory; requires DSH environment to be set up correctly.
- Proxy settings are applied globally to agent's fetch; no per-request proxy override capability.
- The plugin is still in early development (v0.2.5); some edge cases or performance optimizations may be missing.
dsh-net-proxy DSH plugin: from the repository README
Quoted from the mafeis/dsh-net-proxy README, the upstream source of the dsh-net-proxy DSH plugin. Copyright remains with the original authors.
DeepSeek Harness 网络代理插件:让 **agent 自己发起的网络请求**(`web_search` / `web_fetch` / 外部 API)走你配置的 HTTP / HTTPS-CONNECT / SOCKS5 代理,配置持久化、启动即自动生效,并提供可视化设置页。 - 服务端:包装 agent 进程的全局 `fetch`,让所有请求走代理(手写转发,无第三方代理依赖)。 - 配置存储在 `$DSH_HOME/net-proxy.json`,设置页经同源路由 `/_dsh/net-proxy` 读写,改动即时生效、无需重启。 - `NO_PROXY` 默认排除本地回环。 ## 安装 ```bash dsh plugin --profile web add github:mafeis/dsh-net-proxy ``` 安装后重启 `dsh web`,在 设置 → 网络代理 里启用并填写代理地址(如 `127.0.0.1:7890`)。 也可手动在 profile 的 `cordis.patch.yml` 加入: ```yaml - insert: - id: net-proxy name: 'dsh-net-proxy' ``` ## 配置字段(net-proxy.json) | 字段 | 默认 | 含义 | |---|---|---| | `enabled` | `false` | 是否启用代理 | | `protocol` | `http` | `http`(含 CONNECT 隧道)或 `socks5` | | `host` / `port` | `127.0.0.1` / `7890` | 代理地址 | | `username` / `password` | 空 | 可选认证 | | `noProxy` | `["127.0.0.1","localhost","::1"]` | 命中则直连 | ## 许可证 MIT ## 变更记录 ### v0.2.5 - `index.js` 的设置路由 handler 抽到 `lib/routes.js`(纯函数,新增 4 项单测,共 24 项全绿)。 - `client.js` 拆组件:把 `NetProxySection` 的巨型 return 拆为 `Header`/`StatusBadge`/`StatusToggle`/`ProbeResult` 纯展示子组件(渲染等价、不动 UMD 结构)。 - 新增 eslint 门禁(`eslint.config.js` + `npm run lint`,接入 CI;`--legacy-peer-deps` 适配私有 `@deepseek-ai/*` peer);加 `.gitignore`。
Read the full READMERepository license: MIT
dsh-net-proxy DSH plugin questions
How do I install dsh-net-proxy?
Run `dsh plugin --profile web add github:mafeis/dsh-net-proxy` in your terminal, then restart the `dsh web` service. After restart, go to Settings → Network Proxy to enable and configure the proxy address.
Which proxy protocols are supported?
The plugin supports HTTP (including HTTPS-CONNECT tunnel) and SOCKS5. You can set the protocol via the `protocol` field in the configuration (default is `http`). SOCKS5 also supports optional username/password authentication.
How do I configure the proxy?
You can configure it via the visual settings page (Settings → Network Proxy) or by editing the `$DSH_HOME/net-proxy.json` file directly. The file contains fields like `enabled`, `protocol`, `host`, `port`, `username`, `password`, and `noProxy`. Changes take effect immediately without restarting the agent.
Will the proxy affect all requests from the agent?
Yes, the plugin wraps the global `fetch` function, so all outbound HTTP/HTTPS requests made by the agent (including web_search, web_fetch, and external API calls) will go through the proxy. However, requests matching the `noProxy` list (default: localhost, 127.0.0.1, ::1) will bypass the proxy.
How can I verify the proxy is working?
Enable the proxy in the settings, then run a web_search or web_fetch action that accesses an external site. If the proxy is correctly configured, you should see the request appear in the proxy's access logs. Alternatively, you can check the agent's debug output to confirm the proxy is being used.