Development & Runtime

dsh-wsl-net

173787247/dsh-wsl-net · ★ 2

173787247

DeepSeek Harness tool: diagnose WSL/Windows proxy, Node 24 fetch, and DeepSeek/npm reachability.

License
MIT
Added
2026-10-30
Maintenance
active
Install kind
github
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-10-30T09:37:58.535Z
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add 'github:173787247/dsh-wsl-net#34fe43ad0d3146d7a93265af142c9288e5c1d690'

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Where it sits
  2. Compatibility
  3. Why
  4. What it does
  5. Install
  6. Tool parameters
  7. Config
  8. Changelog (short)
  9. Test
  10. License

Install set: part of dsh-wsl-kit. Prefer KIT_SET=daily | llm | github | full (see kit README). Fault tree: TROUBLESHOOTING.md.

DeepSeek Harness tool plugin: net_doctor diagnoses why HTTPS works in the Windows browser but fails from the WSL agent—and returns copy-paste fix scripts.

Pairs with dsh-wsl-env. Part of dsh-wsl-kit.

中文说明 → README.zh.md

Where it sits

Diagnoses why the Windows browser can reach HTTPS while the WSL agent cannot. In-process page fetch is dsh-wsl-fetch, not this plugin.

flowchart LR
  agent["dsh agent"] --> tool["net_doctor"] --> net["proxy, DeepSeek, npm"]

Suite diagram and version snapshot: dsh-wsl-kit. This plugin is 0.5.2 (daily; also in llm). Do not copy that matrix into this README.


Compatibility

Field Value
Plugin dsh-wsl-net 0.5.2
Minimum dsh ≥ 0.1.2 (web UI one-shot ?token= on Windows relay :3081)
Latest verified See dsh-wsl-kit Compatibility (currently 0.2.1-rc.5) — single source of truth for the suite
Kit set daily (also in github / full; fetch+net also in llm)
Cloud Flash Use model id deepseek-flash (V4.1 Flash) in ~/.dsh/settings.yaml / llm-deepseek — not configured by this plugin
Agent Teams Upstream experimental; not required here

Suite floor versions: kit check-plugin-versions.sh. Fault tree: TROUBLESHOOTING.md.

Scope: diagnoses proxy / Node 24 / DeepSeek+npm reachability for the agent process and child shells. It does not fix in-process web_fetch (use dsh-wsl-fetch). Prefer kit restart-dsh-web.sh so the dsh main process gets NODE_USE_ENV_PROXY=1 and loopback-only NO_PROXY.

Why

Clash / V2Ray often runs on Windows with HTTP_PROXY=http://127.0.0.1:…. Node 24 fetch ignores proxy env vars unless NODE_USE_ENV_PROXY=1. The browser can look fine while the agent cannot reach DeepSeek or npm.

What it does

  • Reports HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY (userinfo redacted), NODE_USE_ENV_PROXY, optional npm registry
  • Also inspects the running dsh web process env (dshWeb) so you can tell tool-process vs host-process proxy flags apart
  • TCP-probes the configured proxy port (proxyListen)
  • Probes DeepSeek API and the npm registry (HTTP status < 500 counts as reachable, including 401)
  • Returns advice plus fix.steps / fix.scripts (reuses current proxy when set; otherwise a 127.0.0.1:7890 template you must edit)
  • Optionally injects NODE_USE_ENV_PROXY=1 and lowercase http_proxy aliases into bash/npm child processes (injectChildProxy)

Does not print API keys, change Clash ports, or invent a proxy URL when none is configured.

Related: in-process web_fetch failures while API works → dsh-wsl-fetch. Inherited Clash NO_PROXY=10.* breaking DeepSeek → kit restart-dsh-web.sh (loopback-only NO_PROXY).

Install

dsh plugin --profile web add github:173787247/dsh-wsl-net

Restart dsh web. In a new session, Tools should list net_doctor. Example ask: “Check whether DeepSeek API and npm are reachable.”

Child injection check:

node -e "console.log(process.env.NODE_USE_ENV_PROXY, process.env.http_proxy || process.env.HTTP_PROXY)"

Expect 1 and your proxy URL when a child bash/npm is wrapped.

Tool parameters

Arg Values Meaning
target all (default), env, deepseek, npm What to check

Config

- id: dsh-wsl-net
  name: dsh-wsl-net
  config:
    timeoutMs: 20000
    probeTimeoutMs: 5000
    injectChildProxy: true
Key Default Meaning
timeoutMs 20000 Tool timeout
probeTimeoutMs 5000 Per-probe timeout
injectChildProxy true Wrap subprocess.spawn / spawnTerminal

Changelog (short)

  • 0.3.0 — fix copy-paste scripts
  • 0.2.x — child proxy injection; redact proxy userinfo; ALL_PROXY

Test

npm test

License

MIT