dsh-system-net: 让 DeepSeek Harness 跟随系统网络设置

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 出现连接超时或证书验证错误的情况。

注意事项

  1. 启动顺序:必须先启动加速器,再启动 DSH。插件会在启动时探测系统代理。
  2. 模式限制:插件不支持 PAC 自动配置解析。如果加速器使用 hosts 重写或 TUN 虚拟适配器模式,通常无需此插件。
  3. 单代理冲突:系统代理通常只有一个全局槽位。如果同时运行多个声称系统代理的工具,可能会互相冲突。

验证与状态

安装并重启 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 环境下使用系统级代理工具的开发者。

羽毛球分组比赛记分
小程序二维码

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

小夜