izwarm195/dsh-net-tools: Connect DSH to local HTTP proxy

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye