提供 net_doctor 工具,报告代理环境、NODE_USE_ENV_PROXY,以及 DeepSeek API 与 npm registry 的连通性,并为 bash 和 npm 子进程设置 NODE_USE_ENV_PROXY。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:173787247/dsh-wsl-net
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
套件安装: 见 dsh-wsl-kit。推荐
KIT_SET=daily|llm|github|full。故障树:TROUBLESHOOTING.zh.md。
DeepSeek Harness 工具插件:net_doctor 诊断「Windows 浏览器 HTTPS 正常、WSL 里 Agent 却失败」的原因,并返回可复制粘贴的修复脚本。
与 dsh-wsl-env 搭配。属于 dsh-wsl-kit。
在套件里的位置
诊断为什么 Windows 浏览器能上 HTTPS,WSL 里的 agent 却不行。进程内抓页是 dsh-wsl-fetch,不是本插件。
flowchart LR
agent["dsh agent"] --> tool["net_doctor"] --> net["代理、DeepSeek、npm"]
整套关系图和版本快照:dsh-wsl-kit 中文说明。本插件是 0.5.2(daily,也在 llm)。不要把那份总表抄进本 README。
兼容性
| 项 | 值 |
|---|---|
| 插件 | dsh-wsl-net 0.5.2 |
| 最低 dsh | ≥ 0.1.2(Windows 中继 :3081 一次性 ?token=) |
| 最新验证 | 以 dsh-wsl-kit 兼容性 为准(当前 0.2.0-rc.2)— 套件唯一真源 |
| 套件档位 | daily(亦含于 github / full;fetch+net 亦在 llm) |
| 云端 Flash | settings / llm-deepseek 使用 deepseek-flash(V4.1 Flash);本插件不配置模型 id |
| Agent Teams | 上游实验包;本插件不依赖 |
套件版本地板:check-plugin-versions.sh。故障树:TROUBLESHOOTING.zh.md。
范围: 诊断代理 / Node 24 / DeepSeek+npm 可达性(含 dsh 主进程与子 shell)。不修复进程内 web_fetch(用 dsh-wsl-fetch)。请用套件 restart-dsh-web.sh,让 dsh 主进程带上 NODE_USE_ENV_PROXY=1 与仅回环的 NO_PROXY。
为什么需要
Clash / V2Ray 常跑在 Windows 上,环境变量是 HTTP_PROXY=http://127.0.0.1:…。Node 24 的 fetch 默认不读代理环境变量,除非设置 NODE_USE_ENV_PROXY=1。浏览器看起来正常,Agent 却打不通 DeepSeek 或 npm。
功能
- 报告
HTTP_PROXY/HTTPS_PROXY/ALL_PROXY/NO_PROXY(隐藏 userinfo)、NODE_USE_ENV_PROXY、可选 npm registry - 也会检查正在运行的
dsh web进程环境(dshWeb),区分「工具进程」与「主进程」代理标志 - TCP 探测代理端口(
proxyListen):端口没开会直接指出 - 探测 DeepSeek API 与 npm / ModelScope(HTTP 状态码 < 500 视为可达,含 401)
- 针对 DeepSeek Search
TypeError: fetch failed给出NODE_USE_ENV_PROXY=1+restart-dsh-web.sh修复脚本;进程内web_fetch仍需 dsh-wsl-fetch - 可选:给 bash/npm 子进程注入
NODE_USE_ENV_PROXY=1与小写http_proxy别名(injectChildProxy)
不会打印 API Key、不会改 Clash 端口、也不会在未配置时代造一个代理 URL。主进程请用套件 restart-dsh-web.sh(NO_PROXY 仅回环)。
安装
dsh plugin --profile web add github:173787247/dsh-wsl-net
重启 dsh web。新会话的 Tools 应列出 net_doctor。示例:「检查 DeepSeek API 和 npm 通不通。」
检查子进程注入:
node -e "console.log(process.env.NODE_USE_ENV_PROXY, process.env.http_proxy || process.env.HTTP_PROXY)"
被包装的 bash/npm 子进程应看到 1 和你的代理 URL。
工具参数
| 参数 | 取值 | 含义 |
|---|---|---|
target |
all(默认)、env、deepseek、npm |
检查范围 |
配置
- id: dsh-wsl-net
name: dsh-wsl-net
config:
timeoutMs: 20000
probeTimeoutMs: 5000
injectChildProxy: true
| 键 | 默认 | 含义 |
|---|---|---|
timeoutMs |
20000 |
工具超时 |
probeTimeoutMs |
5000 |
单次探测超时 |
injectChildProxy |
true |
是否包装 subprocess.spawn / spawnTerminal |
更新摘要
- 0.3.0 —
fix可复制脚本 - 0.2.x — 子进程代理注入;隐藏代理 userinfo;
ALL_PROXY
测试
npm test
许可
MIT
链接
同类插件
6Mikao9/dsh-wsl-workspace★ 77
从 Web GUI 添加 WSL 工作区,无需在 WSL 之中再次安装 dsh 以及相关工具,bash 命令与文件读写运行在本机 WSL 发行版内,Windows 文件仍可访问。
173787247/dsh-wsl-open★ 3
把 DeepSeek Harness 聊天里的 WSL Linux 路径在 Windows 默认程序或资源管理器中打开。
173787247/dsh-wsl-env★ 2
向 system prompt 注入 WSL 发行版、Linux 路径映射、/mnt/c 的 CRLF 与 git 注意点,以及 NODE_USE_ENV_PROXY。
Edge-Echo/dsh-win-toolkit★ 2
面向 DSH agent 的 Windows 原生工具:剪贴板读写、系统通知、hosts 文件查看与网络诊断,均返回结构化数据(带 UI 卡片),底层为防注入的 PowerShell。
liyu34/dsh-wsl-tray★ 2
为运行在 WSL 的 DSH 提供 Windows 桌面快捷方式和系统托盘启动器:完全隐藏启动,托盘菜单支持打开/重启/退出,插件配置页可管理快捷方式。
173787247/dsh-device-bridge★ 1
DeepSeek Harness 通用 Companion 桥:手机 / IoT / 旧世界薄 Agent(含 Termux 样例)。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。