DeepSeek Harness 出站代理插件

前言

DeepSeek Harness(DSH)在桌面端启动时,如果环境变量中没有 HTTP_PROXY 或 HTTPS_PROXY,所有通过 Node 运行时的出站请求(包括 web_fetch、HTTP MCP 传输、账号调用)都会直连网络。在本地使用了 Clash 或 mihomo 等代理工具且开启了 fake-IP 模式时,web_fetch 在发送请求前就会拒绝解析到非公网 IP 的域名,导致请求无法发出。dsh-outbound-proxy 插件通过在 Harness Host 进程中安装代理策略,让出站流量统一走本机 HTTP 代理,从而绕过 fake-IP 限制,同时将策略通过环境变量暴露给子进程。

是什么

dsh-outbound-proxy 是一个 DeepSeek Harness Host 插件,由 Dax233 维护。它利用 @deepseek-ai/dsh-http-proxy 的 installProxyFromEnvironment 函数,替换 Undici 的全局调度器,让 Harness 的出站请求通过本地 HTTP(S) 代理转发。插件通过 cordis.patch.yml 将代理策略注入到 Harness 的运行时配置中,同时将代理 URL 暴露为 HTTP_PROXY、HTTPS_PROXY、NO_PROXY 环境变量,供子进程使用。

核心功能

  1. 安装代理策略:插件在 Harness Host 进程中安装代理策略,替换 Undici 的全局调度器。
  2. 环境变量暴露:将代理 URL 暴露为 HTTP_PROXY、HTTPS_PROXY、NO_PROXY 环境变量,供子进程使用。
  3. 端口跟随环境:代理端口优先级为:插件行配置的 proxyUrl > 启动环境中的 https_proxy / HTTPS_PROXY / http_proxy / HTTP_PROXY > 默认的 http://127.0.0.1:7890(Clash for Windows 默认端口)。
  4. Loopback 直连:回环地址(127.0.0.1、localhost)的流量始终直连,不走代理。
  5. noProxy 支持:可以在 noProxy 配置中指定域名后缀,这些 Host 保持直连,不会因停止代理而中断会话。

安装与启用

在 DSH Desktop 中执行以下命令安装插件:

dsh plugin --profile desktop add github:Dax233/dsh-outbound-proxy

安装后重启 DSH Desktop,插件会自动加载。默认代理为 http://127.0.0.1:7890,但端口会根据实际代理软件的端口动态解析。

典型用法

  1. 本地代理软件端口配置:Clash for Windows 默认使用 7890 端口,Clash Verge 默认使用 7897 端口,其他代理软件端口可能不同。
  2. 通过环境变量设置端口:在 ~/.dsh/.env 文件中配置 https_proxy 或 http_proxy,例如:
https_proxy=http://127.0.0.1:7897
  1. 通过插件行配置覆盖:在 DSH 插件配置行中添加 proxyUrl 字段,例如:
proxyUrl=http://127.0.0.1:7897
  1. 配置 noProxy:在 noProxy 字段中指定需要直连的域名后缀,例如:
noProxy=deepseek.com,opencode.ai

适用场景与注意

该插件适合在本地已经运行 Clash、mihomo 等代理软件,且 Harness 需要通过代理访问外网场景。由于插件以 Harness Host 进程的权限运行,安装前建议查看源码与许可证(MIT)。Loopback 通信始终直连,noProxy 中指定的 Host(如模型提供商、账号 API)也会保持直连,确保停止代理不会导致会话中断。

小结

dsh-outbound-proxy 通过在 Harness Host 进程中安装代理策略,解决了桌面端 Harness 启动环境缺少代理配置、fake-IP 导致请求被拒绝的问题。它支持端口跟随环境变量,并提供 noProxy 配置,适合需要统一管理出站流量的智能体开发者。

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

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

小夜