前言¶
在 DeepSeek Harness (DSH) 的使用场景中,有时需要让特定的 provider 流量通过代理服务器,而保持其他流量直连。全局代理配置通常粒度不够。dsh-provider-proxy 插件通过在设置页面为每个 provider 单独配置代理参数,解决了这一问题。
它是什么¶
dsh-provider-proxy 是一个让 provider 会走代理的插件。它属于联网工具类别,由 hpfs0 维护,stars: 1,开源协议为 MIT。
安装与启用¶
安装前需确保已构建过产物(lib/index.js、lib/client.js)。桌面版必须先完整打开一次以初始化 profile。
dsh plugin --profile desktop add dsh-provider-proxy
dsh plugin --profile web add dsh-provider-proxy
安装后重启对应应用。设置项会写入 $DSH_HOME/profiles/<profile>/cordis.patch.yml。
核心功能¶
- 独立配置:为每个 provider 单独配置是否走代理,其余 provider 和 DSH 的其它流量保持直连。
- 代理类型:支持 HTTP、HTTPS、SOCKS5 代理类型。
- 域名规则:支持通过 onlyHosts 和 bypassHosts 规则指定目标域名。
- Web 搜索:支持 Web 搜索卡片代理。
- 连接自检:支持连接自检测试,点击测试按钮验证代理连通性。
- 独立调度:基于 AsyncLocalStorage 实现 provider 独立 dispatcher。
使用方法¶
- 打开 设置,在左侧导航找到 Provider 代理。
- 页面会列出所有已激活的 provider,每个 provider 一张卡片。
- 在卡片中配置:
- 开关:控制该 provider 是否走代理。
- 类型:选择 HTTP / HTTPS / SOCKS5。
- IP / 主机:填写主机名或 IP,不带协议头。
- 端口:1–65535 的整数。
- 用户名 / 密码:代理认证字段,用户名与密码必须成对填写。 - 高级设置:点击卡片内的“高级:目标域名规则”折叠区,配置
onlyHosts(仅走代理)和bypassHosts(直连)。 - Web 搜索卡片:列表中会出现一张 Web 搜索 卡片,配置后
web_search工具流量将走代理。 - 测试连接:在已启用代理的 provider 卡片上点击测试按钮,验证延迟与出口 IP。
已知限制¶
- SOCKS5 限制:SOCKS5 代理由 undici 内置的 Socks5ProxyAgent 实现,API 稳定性标记为 Experimental。
- 认证限制:代理认证字段用户名与密码必须成对填写,不支持单填。
- 协议支持:SOCKS5 不支持 socks:// 别名与 SOCKS5 over TLS。
- DNS 解析:bypassHosts 命中时由本机解析并连接目标,不经过代理。
- 工具支持:web_search 可以走代理,web_fetch 不支持。
- 系统兼容:不支持 PAC,也不读取系统代理设置。
- 配置修改:不改写 baseURL。
- 容错性:代理不可达时请求照常失败。
- 密码存储:密码以明文随设置写入 cordis.patch.yml。
验证方式¶
插件本身不显示出口 IP。可靠的判断方式是在代理端查看日志,或临时将端口改成一个无人监听的端口。如果请求失败并报 ECONNREFUSED,说明请求确实被代理承载。