dsh-provider-proxy
在终端中运行以下命令:
dsh plugin install stayhpjinng/dsh-provider-proxy
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在终端执行 dsh plugin install stayhpjinng/dsh-provider-proxy 即可安装,插件源码位于 https://github.com/stayhpjinng/dsh-provider-proxy ,安装后重启 dsh web 便可在 Settings 中看到 Provider 代理配置面板。
插件介绍
在多 Provider 并行的 DSH 工作流里,全局开启 HTTP_PROXY 加 NODE_USE_ENV_PROXY=1 往往一刀切:所有出站请求都被迫穿过同一条代理通道,而你可能只需要其中一两个上游走代理。dsh-provider-proxy 把粒度收紧到 DSH 路由级别——只有你标记的 Provider 流量经过 HTTP 或 HTTPS 正向代理,其余 Provider 继续走直连网络,即使请求并发到达也互不干扰。
管理体验上,重启 dsh web 后打开 Settings → Provider 代理,每个可用 Provider 都配有独立的开关、代理地址、可选的代理认证头和保存/重置控件。关闭开关对新请求立即生效,正在进行中的流式响应则被允许在当前 dispatcher 上完成,无需编辑 YAML 或重启进程。认证信息通过独立环境变量传入,URL 中内嵌凭据会被直接拒绝,避免凭据泄漏到配置文件中。中间件同时覆盖了 llm.discoverModels() 的探活路径,因此模型列表拉取也会走所选代理。
它适合这样的场景:你同时使用多个 LLM 上游,其中部分需要通过公司防火墙或出口代理访问,部分位于内网或无需代理;或者你希望把代理策略从进程级环境变量中解耦出来,按路由精确控制。需要留意的是,该中间件基于 Undici ProxyAgent,仅支持 HTTP/HTTPS 正向代理,不支持 SOCKS 或 PAC;也只覆盖使用 globalThis.fetch 的 Provider 实现,绕过 Fetch 直连套接字的 SDK 不在其范围内。
使用场景
- 多 Provider 并行调用时仅让特定上游走代理,其余保持直连
- 企业防火墙要求部分 LLM 流量经出口代理,但不想影响同进程内其他请求
- 避免全局 HTTP_PROXY 环境变量一刀切改变整个 DSH 进程的网络行为
适合人员
- 同时接入多个 LLM 上游、需要差异化网络策略的 DSH 开发者
- 在企业内网或防火墙环境下使用 DSH 的工程师和运维人员
- 希望将代理配置从全局环境变量中解耦、按路由精细管控的技术负责人