DeepSeek Harness (DSH) 运行在 Node.js 环境中,默认不读取操作系统的代理设置,也不信任系统证书库。这导致即使你的浏览器通过加速器正常上网,DSH 也会因为路由和证书信任两个独立屏障而无法连接网络。
dsh-system-net 是一个插件,旨在解决上述问题。它让 DSH 在运行时读取操作系统的代理配置并合并其证书存储,从而无需设置环境变量或导出证书文件。
核心功能¶
该插件主要解决以下问题:
- 路由流量经过操作系统代理:DSH 不再依赖环境变量,而是直接读取 Windows 系统代理设置。
- 信任操作系统证书存储:DSH 会合并操作系统的证书库,解决因自签名 CA 导致的 TLS 校验失败。
- 零配置与免维护:无需导出证书、无需设置环境变量、安装后无需重启,每次启动都会重新检测。
安装与启用¶
该插件通过 GitHub 分发,使用 github: 前缀进行安装。
dsh plugin --profile web add github:chickmat/dsh-system-net
如果环境中没有全局 dsh 命令,可以使用:
npx -y @deepseek-ai/dsh plugin --profile web add github:chickmat/dsh-system-net
插件在 DSH 加载时自动应用。后续每次启动都会重新检测并应用配置,无需手动干预。
前置要求与适用场景¶
环境要求¶
- DSH 版本:>= 0.2.0-rc.2
- Node.js 版本:>= 22.19 或 >= 24.5(不支持 23.x)
- 平台:仅支持 Windows
- 加速器模式:加速器必须以“系统代理模式”运行(即写入 Windows Internet Options 的代理地址)
适用场景¶
- 使用 Watt Toolkit、Steam++、dev-sidecar 等开启 TLS 中间人代理的加速器。
- 浏览器能正常上网,但 DSH 出现连接超时或证书验证错误的情况。
注意事项¶
- 启动顺序:必须先启动加速器,再启动 DSH。插件会在启动时探测系统代理。
- 模式限制:插件不支持 PAC 自动配置解析。如果加速器使用 hosts 重写或 TUN 虚拟适配器模式,通常无需此插件。
- 单代理冲突:系统代理通常只有一个全局槽位。如果同时运行多个声称系统代理的工具,可能会互相冲突。
验证与状态¶
安装并重启 DSH 后,检查状态文件 $DSH_HOME/system-net-status.json(默认 ~/.dsh/system-net-status.json)。
关键字段说明:
proxy.source:代理来源。system-proxy表示成功读取系统代理。cert.systemCount:从操作系统证书库读取的证书数量。selfCheck:自检请求结果。200 表示链路通畅。
卸载¶
卸载时使用以下命令:
dsh plugin --profile web remove dsh-system-net
插件无残留文件,重启后恢复 Node.js 默认行为。
总结¶
dsh-system-net 通过在运行时接管路由和证书信任链,解决了 Node.js 默认行为与系统加速器不兼容的问题。它简化了配置流程,适合需要在 Windows 环境下使用系统级代理工具的开发者。