Introduction¶
When DSH agents execute commands in the sandbox, they may need to access external websites, documents, or APIs. If these requests require going through a local HTTP proxy, the proxy address must be specified correctly in the fetch operation.
Introducing izwarm195/dsh-net-tools below: its positioning is “letting DSH use your magic” — connecting the agent in the sandbox to your local HTTP proxy, allowing you to fetch blocked websites, documents, and APIs with a single command.
What is this¶
izwarm195/dsh-net-tools is a DSH plugin maintained by izwarm195, licensed under MIT.
The project description states: code, tests, and documentation are all generated by AI (DeepSeek Harness coding agent), with humans only responsible for review, acceptance, and release.
It mainly solves a specific problem: the DSH host process can use normal Node.js network paths, while the plugin provides two tools, net_fetch and net_proxy_status, allowing the agent to uniformly fetch HTTP(S) content through a local HTTP proxy and check the proxy status.
Core Features¶
net_fetch¶
net_fetch is used to fetch HTTP(S) content.
It completes requests via a manual CONNECT tunnel initiated by the user agent, bypassing schannel, with zero dependencies. After calling, it can automatically follow redirects and return text or a truncated response body.
It enforces the following restrictions simultaneously:
- Only allows
http:/https:protocols - Timeout limit defaults to 30 seconds
- Response size limit defaults to 1 MiB
- Maximum 5 redirects, and the same security check is re-executed on every redirect
- Defaults to rejecting private / loopback / link-local addresses; pass
allowPrivate: trueto allow them
net_proxy_status¶
net_proxy_status is used to report the proxy that the DSH process will use and detect its reachability.
It checks the following sources:
- User-level environment variables
- Current process environment variables
- Windows system proxy
The proxy discovery order is as follows:
- Explicit
proxyparameter HTTPS_PROXY/HTTP_PROXYenvironment variables- Windows system proxy (Registry
Internet Settings)
Installation and Activation¶
First, confirm that the runtime environment meets the following requirements:
node >=20- peerDependencies:
@deepseek-ai/cordis >=4.0.0,@deepseek-ai/dsh-tools >=0.1.0-rc.5
The installation command is as follows. <本包> in the command is a placeholder for the plugin package and needs to be replaced according to the actual installation source:
dsh plugin --profile web add <本包>
# or: dsh plugin --profile desktop add <本包>
After the steps above, restart DSH, and the agent can use the two tools net_fetch and net_proxy_status.
Typical Usage¶
Fetching blocked pages¶
Call in the agent:
net_fetch(url: "https://github.com/")
This step is used to fetch pages, documents, or APIs, using the local HTTP proxy according to the proxy discovery order.
Diagnosing proxy configuration¶
Call:
net_proxy_status(checkReachability: true)
This step is used to confirm which proxy the DSH process will use and detect whether that proxy is reachable.
Applicable Scenarios and Notes¶
Suitable for the following scenarios:
- Need DSH agent to fetch external websites, documents, or APIs
- Local HTTP proxy is already available
- Wish to put proxy fetching and proxy diagnosis in a unified tool
- Wish to avoid handling proxy addresses separately for each fetch action
Note before use:
- Tools run in the DSH host process (Node.js), outside the file sandbox, so they work with the current DSH process’s runtime environment.
- Before installation, check the source code and the MIT license.
allowPrivate: truewill allow private / loopback / link-local addresses that are rejected by default; only enable it when you absolutely need to access internal network resources.net_fetchonly handleshttp:/https:requests, and is limited by 1 MiB response size, 30-second timeout, and 5 redirects.
Conclusion¶
The value of izwarm195/dsh-net-tools is to connect the local HTTP proxy to DSH’s agent toolchain: net_fetch is responsible for fetching, and net_proxy_status is responsible for diagnosis.
Project URL:
- GitHub: https://github.com/izwarm195/dsh-net-tools