外观
AI API 走代理配置:终端环境变量、SDK proxies 参数与 TUN
AI API 走代理配置有三层做法:终端里设 HTTPS_PROXY 环境变量,让同一窗口启动的 curl、脚本自动跟随;在 SDK 构造客户端时显式传入代理或自定义 HTTP 客户端,不依赖终端;客户端开 TUN 模式,所有程序流量都经过节点。三层各有适用场景,排查时只开一层。
AI API 网络要求已讲过环境变量的基本写法与分流原则,本文往下展开:三层方法怎么选、SDK 里怎么写、哪些情况环境变量不起作用。调用超时或 403 的排查见API 超时排查。
速读要点
- 环境变量管终端,SDK 管程序,TUN 管整机
- 大小写变量都要设,NO_PROXY 必须含本地地址
- IDE、定时任务、容器不继承终端变量,是最常见的「设了没用」
AI API 走代理配置:三层方法怎么选
| 方法 | 作用范围 | 适合 | 局限 |
|---|---|---|---|
| 环境变量 HTTPS_PROXY | 当前终端及其子进程 | 临时测试、脚本、CLI 工具 | 不读环境变量的程序无效;GUI 程序不继承 |
| SDK 的 proxies / HTTP 客户端参数 | 这一个程序 | 长期项目、多人协作 | 每个项目各写一份;代理地址要和配置分离 |
| TUN 模式 | 整台机器 | 开发环境、多语言混用 | 分流规则要配好,否则国内服务也绕路 |
终端环境变量:写法与常见坑
bash
export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1- 端口以客户端设置页显示的为准。多数客户端有「混合端口」,HTTP 和 SOCKS 共用;只有 SOCKS 端口的写成
socks5://127.0.0.1:端口,但不是所有库都支持 SOCKS,HTTP 代理兼容性最好。 - 变量名大小写都要设。部分库只读小写
https_proxy,部分只读大写。 NO_PROXY必须包含本地地址,否则本地服务、数据库连接也会被扔给代理。- 只在当前窗口生效。新开终端、IDE 里的终端、定时任务都不继承,要么写进 shell 配置文件,要么改用下面两种方法。
- 用
sudo时环境变量默认丢失,加-E。
验证:同一窗口 curl ifconfig.me 返回节点地区的 IP,再 curl -I 目标 API 域名看状态码。
SDK proxies 参数:在代码里显式指定代理
多数 AI SDK 底层用通用 HTTP 库,提供两类入口:直接传 proxies 或 proxy 参数,或者传一个自定义 HTTP 客户端,把代理配在客户端上。两点原则:
- 代理地址从配置或环境读,不要写死在代码里。 每个人的客户端端口不同。
- 代理与 Key 分开管理。 代理地址可以进项目配置;API Key 不行,见代理环境下 API Key 安全。
部分 SDK 默认走 gRPC 或 HTTP/2 传输,对 HTTP 代理的支持可能与 REST 不一致,连不上时切换传输方式或改用 TUN,以 SDK 文档为准。
TUN 模式:什么都不改也能走
客户端开启 TUN 后,操作系统所有出站流量经过虚拟网卡进入客户端,由规则决定走节点还是直连。终端、SDK、IDE、容器内的进程都不需要单独配置。注意:
- 分流规则里国内域名与本地地址必须直连。
- 开了 TUN 又设了环境变量一般没问题,但排查时先关掉一层。
- 不同系统开启方式不同,见TUN 与代理模式。
三层的 10 秒自检:环境变量看 echo $HTTPS_PROXY 与同窗口 curl ifconfig.me;SDK 参数在代码里打印客户端实际使用的代理地址并发一次最小请求;TUN 看客户端连接列表里有没有该程序的流量。排查时只保留一层,三层都开排不出是谁在起作用。
推荐机场
| 机场 | 付款方式 | 起价 | 入门流量 | 倍率 | 节点地区 | 线路 | AI | 流媒体 | 设备 | 适合谁 | 评测 | 优惠 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 星岛梦 | 月付 / 季付 / 年付 / 按量 | 约 ¥8/月(年付折算) | 260 GB含不限时 | 常规节点 1.0x,专线节点 1.2x,大流量下载专用 0.5x | 香港、台湾、新加坡、日本、美国 | 专线 / IEPL | 实测 3/5 | 实测 6/8 | 5 台 | 便宜优先、新手 | 评测 | 领优惠 |
| 光速云 | 年付 / 月付 / 季付 | 约 ¥7.5/月(年付折算) | 300 GB | 全节点 1.0x 结算,无隐藏高倍率 | 香港、台湾、新加坡、日本、美国 | IEPL / 专线 | 实测 5/5 | 实测 8/8 | 5 台 | 稳定优先、AI 用户、视频用户、性价比 | 评测 | 领优惠 |
| 飞猫云 | 季付 / 年付 / 月付 | 约 ¥7/月(年付折算) | 500 GB | 主力 IEPL 专线 1.0x,直连备用 0.5x | 香港、台湾、新加坡、日本、美国、马来西亚、泰国、土耳其、法国、英国、德国、越南 | IEPL | 实测 3/5 | 实测 7/8 | 3 台 | 便宜优先、新手 | 评测 | 领优惠 |
| 微风网络 | 季付 / 年付 / 月付 | 约 ¥7/月(年付折算) | 450 GB | 日常节点 1.0x,纯净原生解锁节点 1.2x | 香港、台湾、新加坡、日本、美国 | IEPL / 专线 | 实测 5/5 | 实测 8/8 | 5 台 | 便宜优先、新手、AI 用户、视频用户 | 评测 | 领优惠 |
| 唯兔云 | 月付 / 季付 / 年付 | ¥14.9/月起 | 220 GB | 主流节点 1.0x,大流量专用 0.3x | 香港、台湾、新加坡、日本、美国、马来西亚 | 中转 / 直连 | 实测 2/5 | 实测 4/8 | 2 台 | 性价比 | 评测 | 领优惠 |
起价标「年付折算」的是年付套餐折合的月均价,不是月付价。AI / 流媒体:实测 n/m 为站长实测结果(可用项数 / 测试项数,部分可用不计入可用),资料称支持 为品牌资料描述,未测试 为未纳入测试;可用性随平台策略变化,以最新复测为准。
API 调用对节点的额外要求是单出口与低丢包,选购标准见AI API 调用适合哪些机场。
常见问题
设了 HTTPS_PROXY,IDE 里运行代码还是不走代理?
IDE 一般不继承终端变量。在 IDE 的运行配置里单独添加环境变量,或把变量写进 shell 配置文件后重启 IDE,或改用 TUN。
SOCKS 代理地址填进去报错?
该 HTTP 库可能不支持 SOCKS,或需要额外依赖。改用客户端的 HTTP 混合端口最省事。
Docker 容器里的程序怎么走代理?
容器内的 127.0.0.1 是容器自己。指向宿主机地址(Docker Desktop 下为 host.docker.internal)并在客户端开「允许局域网连接」,或在宿主机开 TUN。
写进 ~/.zshrc 后所有命令都变慢了?
国内服务也被代理了。补齐 NO_PROXY 与分流规则,或者不写进配置文件,只在需要时手动 export。
下一步
- 配好后挑能固定单出口的机场:稳定机场推荐
- TUN 开启失败:TUN 模式失败怎么办