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: true to 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:

  1. Explicit proxy parameter
  2. HTTPS_PROXY / HTTP_PROXY environment variables
  3. 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: true will allow private / loopback / link-local addresses that are rejected by default; only enable it when you absolutely need to access internal network resources.
  • net_fetch only handles http: / 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