DeepSeek Harness 代理配了却不生效怎么排查?七条永远直连的请求路径逐条盘点
“代理配了,但有一半请求没走代理”在 DeepSeek Harness 里不一定是故障,很多是设计使然。 官方明确列出了一些保持直连的路径:本机、模型编写的代码、遥测、私网抓取等。排查时先把这些路径划掉,再去查环境变量、SOCKS 与证书,才不会在错误的方向上反复改配置。
DeepSeek Harness:七条保持直连的路径
先对照这张清单,确认你观察的请求本来就不该走代理。 七条:(来源)
- loopback —
localhost、127.0.0.0/8、::1、0.0.0.0始终直连。预期:Web UI 与本地服务不会被代理绕成回环。 - Workflow worker — 模型编排的 worker 不接收代理配置。预期:脚本读不到代理 URL。
- Node PTC runtime — 程序化工具执行进程同样不接收代理。预期:模型写的代码不会带出代理凭据。
- 遥测 OTLP — 导出器用 Node 自带 HTTP 客户端,不走代理。预期:禁止直连出网时它只会失败,不影响主流程。
- 私网
web_fetch— 形如http://10.0.0.5/的字面量私网地址会被拒绝,而不是交给代理。预期:不会借代理绕过私网限制。 - 操作系统代理设置 — DSH 不读系统代理。预期:浏览器走、终端不走是正常现象。
- 旧版 Node 子进程 — Node 22.21 以下不遵循代理变量。预期:同一台机器上不同子进程行为可能不同。
清单之外才是“应该走代理”的请求:模型调用、web 搜索、页面抓取、HTTP MCP 服务器等。
DeepSeek Harness:NO_PROXY 的四个规则
NO_PROXY 只认主机名,不认网段;写错格式等于没写。 四条:(来源)
- 条目是主机名 —
example.com会连同其子域名一起匹配。预期:api.example.com也直连。 - 前缀
.或*.等价 — 两种写法含义相同。预期:不用纠结写法。 - 可带端口 — 例如
internal.example.com:8080。预期:只对该端口直连。 - CIDR 不生效 — 把
10.0.0.0/8复制进来不会匹配。预期:需要直连的域名要逐个写。
loopback 不需要列;DSH 始终绕过它,否则自己的 Web UI 与本地服务会形成回环。
DeepSeek Harness:SOCKS 与 ALL_PROXY
SOCKS 不被支持;写了也会被跳过,对应协议转为直连。 行为:(来源)
socks5://被报告并跳过 — 启动时能看到提示。预期:该 scheme 直连。- 不会借用 HTTP 代理 — 即使同时设置了
HTTP_PROXY,https:仍保持直连。预期:不要以为“配一个就能兜底”。 - ALL_PROXY 可作为兜底 — 只设它也能为两种协议提供代理。预期:显式设
HTTPS_PROXY更清楚。
想用 SOCKS 代理,正确做法是找代理软件的 HTTP 端口,把变量指向它,而不是继续用 socks5://。
DeepSeek Harness:子进程与证书
代理变量会被 DSH 运行的工具继承,但这不等于每个子进程都会遵守。 三点:(来源)
- bash、git、gh、MCP 子进程继承变量 — 它们读标准环境变量。预期:命令行走代理。
- Node 子进程需要 22.21+ — 更旧版本直连。预期:检查子进程的 Node 版本。
- TLS 拦截要装 CA — 代理可达但仍报证书错误时,设置
NODE_EXTRA_CA_CERTS指向企业 CA,并在启动前导出。预期:证书链校验通过。
另外,代理 URL 里的密码会作为普通环境变量传到子进程,模型编写的命令也能读到。需要保密时,用无凭据入口或 URL 之外的认证方式。
DeepSeek Harness:三种验证方法
不要只看“代理软件有没有开”,要看你关心的那条请求走了哪。 三种:(来源)
- 让 Agent 抓页面 —
dsh --profile headless "fetch https://example.com",同时看代理连接日志。预期:该请求出现在日志里。 - 查环境 —
env | grep -i proxy。预期:变量在启动 DSH 的环境里可见。 - 换 TUN 模式 — 对不读环境变量的程序透明。预期:如果 TUN 下能走,说明问题在变量继承而不是网络。
如果三种方法结果不一致,以“实际请求路径”为准;不要用浏览器能打开来证明 DSH 会走代理。
DeepSeek Harness:从现象到路径的判断树
先按现象分叉,能快速排除一半“代理没生效”的误判。 判断顺序:(来源)
- 只有浏览器能走 — 系统代理与终端变量是两套,先导出
HTTPS_PROXY或开 TUN。预期:终端命令开始走代理。 - 模型调用能走、工具不能 — 看工具是不是 Node 子进程、版本是否低于 22.21。预期:升级子进程 Node 或改用 TUN。
- 页面抓取被拒 — 看 URL 是否是字面量私网地址;这类请求会被拒绝而不是交给代理。预期:不会误判成代理故障。
- 代理日志完全没有该请求 — 对照七条直连路径,确认它本来就不该走代理。预期:不再改无用的变量。
- 代理有连接但报证书错误 — 走 TLS 拦截,补
NODE_EXTRA_CA_CERTS。预期:证书链校验通过。
判断树走完仍不通,再看代理软件本身的认证、端口与上游规则;不要一开始就重装。
还有一个容易忽略的细节:代理 URL 里的密码会进入子进程环境,模型编写的命令也能读到。如果排查时打印过环境,记得把输出里的凭据清掉。
需要长期保密时,给代理一个无凭据入口,或改用 URL 之外的认证方式;不要依赖“变量只在 DSH 进程里可见”。
三套代理机制对照
“浏览器能走、终端不走”不是 DSH 的 bug,而是三套机制互不相通。 对照:
| 机制 | 谁遵循 | 是否影响 DSH |
|---|---|---|
| 操作系统代理设置 | Safari、Chrome、Edge 等 | 不读 |
HTTP_PROXY / HTTPS_PROXY | curl、git、npm、pip、DSH | 读 |
| TUN 模式 | 所有程序 | 透明生效 |
所以排查前先问:你改的是哪一套?改系统代理不会影响 DSH;改环境变量不会影响已经启动的进程;TUN 模式则绕开变量,直接接管流量。
DeepSeek Harness 常见问题
Q:为什么设置了 HTTPS_PROXY,模型调用还是超时? 先看代理是否支持该协议、是否需要认证、证书是否被信任;再看变量是否在启动环境里。SOCKS 与 CIDR 是两个高频坑。
Q:能不能让遥测也走代理? OTLP 导出器使用 Node 自带 HTTP 客户端,不走代理;需要隔离时关闭遥测,而不是指望代理。
Q:NO_PROXY 写了 * 会怎样?
全部直连。它适合临时排障,不适合长期配置。
一句话收束: 代理排查先分清“本来直连”和“应该代理”;七条直连路径划掉后,再查变量、SOCKS、证书与子进程版本。
常见问题
DeepSeek Harness 里,因为不是所有请求都走代理。DeepSeek Harness 按设计让 loopback、Workflow worker、Node PTC runtime、遥测 OTLP、私网 web_fetch 等路径保持直连;先对照直连清单,再判断是不是代理没生效。
DeepSeek Harness 里,系统代理设置与 HTTP_PROXY/HTTPS_PROXY 是两套机制。浏览器读操作系统的代理设置,curl、git、npm、pip 与 DSH 读环境变量;DSH 不读取操作系统代理设置。要么导出环境变量,要么使用 TUN 模式。
DeepSeek Harness 里,不支持。socks5:// 形式的值会在启动时被报告并跳过,对应协议转为直连;即使同时设置了 HTTP_PROXY,https 请求也不会借用它。请把变量指向代理软件的 HTTP 端口。
DeepSeek Harness 里,不能。NO_PROXY 只按主机名或域名后缀匹配,CIDR 网段不生效;localhost 与 127.0.0.0/8 始终直连,不需要额外列出。
DeepSeek Harness 里,子进程若本身是 Node 程序,需要 Node 22.21 或更高版本才会遵循代理变量;更旧的 Node 会直连。DSH 拒绝的值(例如 SOCKS URL)对 Node 子进程同样意味着直连。
相关术语
- NO_PROXY
- NO_PROXY 是列出直连目标的环境变量,按主机名或域名后缀匹配,支持可选端口与通配符;CIDR 网段不生效,loopback 始终直连。— DeepSeek Harness 官方文档 - 网络代理
- TUN 模式
- TUN 模式是通过虚拟网卡接管流量的代理方式,对所有程序透明;它不依赖 HTTP_PROXY 等环境变量,因此能让不读环境变量的程序也走代理。— DeepSeek Harness 官方文档 - 网络代理
- NODE_EXTRA_CA_CERTS
- NODE_EXTRA_CA_CERTS 是让 Node 额外信任指定 CA 包的环境变量,Node 只在进程启动时读取;企业代理做 TLS 拦截时需要它。— DeepSeek Harness 官方文档 - 网络代理
- PTC runtime
- PTC runtime 是 DeepSeek Harness 中执行模型编写程序的运行时,Node 实现不接收代理配置,避免模型脚本读到可能带密码的代理 URL。— DeepSeek Harness 官方参考 - PTC 运行时
来源
- DeepSeek Harness 官方文档 - 网络代理· deepseek-ai
- DeepSeek Harness 官方参考 - PTC 运行时· deepseek-ai