dsh-proxy-pro:DSH 代理管理器

前言

DeepSeek Harness(DSH)在智能体开发中涉及大量的网络请求,包括模型调用、web_search、web_fetch 以及 spawned 工具。这些请求需要统一路由到代理服务器,否则可能会遇到网络故障或策略限制。

原生的代理配置往往存在盲区,导致 web_fetch 等操作绕过代理。dsh-proxy-pro 作为 DeepSeek Harness(DSH)的代理管理器插件,将运行时(模型请求、web_search、web_fetch)统一路由到 Windows 系统代理或自定义地址,并提供可视化的开关与诊断功能。

核心功能

统一路由
将整个运行时的网络请求统一路由到 Windows 系统代理或自定义地址。

对话头部一键开关
每会话头部右侧提供胶囊按钮,绿色代表代理开启,红色代表关闭。点击即可切换总开关,且在“关→开”操作时触发手动重检,恢复系统注册表并重新应用代理配置。

设置页“代理配置”
提供可视化的配置界面,显示运行时事实(生效地址、原因、直连名单),而非仅显示设置推断。
* 模式:仅支持“系统代理(Windows)”与“自定义地址”两个选项。
* 自定义地址:支持 http://host:port 或裸 host:port 格式。
* 直连名单(NO_PROXY):编辑框下方显示当前生效名单。system 模式自动并入 Windows 系统 ProxyOverride。

工具链
提供四个命令行工具用于诊断:
* proxy_status:查询当前状态。
* proxy_set:一键开/关整个运行时。
* proxy_test:单 URL 路由诊断(判定 PROXIED / DIRECT,探测连通性,NTLM 认证失败提示)。
* proxy_config:读/改配置。

安装与启用

使用 DSH 的插件管理器安装,选择任一方式即可。

方式 A:npm 安装(推荐)

dsh plugin --profile web add @yanglaofish/dsh-proxy-pro
dsh plugin --profile test add @yanglaofish/dsh-proxy-pro

方式 B:GitHub 源安装

dsh plugin --profile web add github:yanglaofish/dsh-proxy-pro

安装完成后直接启动:

dsh web

典型用法

对话头部切换
点击对话头部胶囊按钮,根据颜色状态确认代理是否生效。

设置页配置
1、进入设置页,选择“代理配置”。
2、在“代理地址来源”中选择“系统代理(Windows)”或“自定义地址”。
3、若选择“自定义地址”,输入代理服务器地址。
4、编辑“直连名单(NO_PROXY)”以排除特定域名。
5、使用“路由诊断”功能,输入 URL 并勾选“使用代理”或“不勾选”进行双通道探测,判断该域名应走代理还是直连。

模型侧使用
在对话中调用 proxy_status、proxy_set、proxy_test、proxy_config 等工具,模型会根据最新注册表事实返回状态。

配置

插件支持在 settings.yaml 中进行零迁移配置:

proxy:
  enabled: false
  mode: system          # system | custom(none 仅解析旧配置残留)
  customUrl: http://127.0.0.1:7890
  noProxy: localhost,127.0.0.1,::1
  systemPollMs: 30000

技术细节

单一传输通道
插件通过 installProxyFromEnvironment() 纳入 @deepseek-ai/dsh-http-proxy 的策略通道,统一管理 env、dispatcher 和策略,杜绝了双实例导致的错版问题(如 UND_ERR_INVALID_ARG),并根治了 web_fetch 的网络故障。

幂等内核
插件使用 effKey 作为幂等内核,只有在有效状态真正变化时才重装 dispatcher。这修复了旧版“每次拉都重装导致桌面卡顿”的根因。读型 API 与轮询永不触发无条件重装。

浏览器信任围栏
面板 API 实现了与 DSH 官方 /api 一致的信任围栏(Host loopback + sec-fetch-site + Origin 校验),确保浏览器侧请求的安全。

干净卸载
卸载时,插件会恢复原始的 env、dispatcher 和策略,并 fire-and-forget 排空后台 keep-alive 连接,不留残留。

卸载

dsh plugin --profile web remove @yanglaofish/dsh-proxy-pro
dsh plugin --profile test remove @yanglaofish/dsh-proxy-pro

卸载即恢复原始路由行为。

注意事项

  • 系统限制:目前仅支持 Windows 系统代理或自定义地址。
  • 许可证:采用 MIT 许可证。
  • 开发:插件采用原生 ESM,无编译步骤,纯逻辑层 lib/proxy-core.js 零 DSH 依赖,可独立单测。
羽毛球分组比赛记分
小程序二维码

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

小夜