先分清场景
开发者用机场调 API,通常是两种场景:
- 本地开发调试:在自己电脑上跑脚本、Claude Code、Cursor 等工具。
- 线上服务:部署在服务器上,面向用户。
机场适合第一种。第二种应该把服务部署在官方支持地区的服务器上,不要依赖个人机场。
为什么命令行不走代理
浏览器会读取系统代理,所以开了 Clash 的系统代理,网页就能访问。
但命令行、SDK、IDE 里的一些插件并不一定遵守。表现是:浏览器能打开 ChatGPT,脚本调用 API 却超时。
| 方案 | 做法 | 优点 | 缺点 |
|---|---|---|---|
| TUN 模式 | 客户端开启虚拟网卡 | 全部程序生效 | 需要管理员权限,可能与其他软件冲突 |
| 环境变量 | 设置 HTTPS_PROXY | 只影响当前终端,可控 | 每个终端要设置 |
| SDK 参数 | 在代码里指定代理 | 精准 | 需要改代码 |
方案一:TUN 模式
在 Clash Verge Rev 里开启 TUN,客户端会接管所有流量。再配合规则,让 API 域名走固定节点。
使用 TUN 时:
- 第一次开启可能要安装服务模式或授权。
- 规则模式下国内流量仍然直连。
- 如果与 VPN 或其他代理冲突,先关闭它们。
客户端细节见 Clash Verge Rev 使用指南。
方案二:环境变量
Clash 默认会在本机开一个混合端口,端口号在客户端设置里查看。在终端里设置:
export HTTPS_PROXY=http://127.0.0.1:你的端口
export HTTP_PROXY=http://127.0.0.1:你的端口
Windows PowerShell 使用 $env:HTTPS_PROXY = "..."。
只在需要的终端里设置,避免影响其他工具。设置后,该终端里运行的脚本通常会走代理,不过具体取决于所用 SDK 对代理变量的支持情况,请查阅其文档。
规则分流
不管哪种方案,规则都要让 API 域名走固定出口:
DOMAIN-SUFFIX,api.openai.com,AI
DOMAIN-SUFFIX,openai.com,AI
DOMAIN-SUFFIX,api.anthropic.com,AI
DOMAIN-SUFFIX,anthropic.com,AI
策略组 AI 用「手动选择」,只放一个美国、日本或新加坡的节点。不要用自动选择,否则出口 IP 会变,请求可能被拒绝。规则写法见 Clash 规则分流指南。
稳定性怎么保障
API 调用与网页聊天不同:
- 长连接和流式输出,对丢包敏感。
- 请求频繁,一次断线就是一次失败。
- 超时设置要合理,并实现重试。
建议:
| 做法 | 目的 |
|---|---|
| 选专线节点,如 IEPL / IPLC | 晚高峰更稳,见 IEPL 是什么 |
| 代码里加重试和退避 | 应对偶发抖动 |
| 设置较长的读取超时 | 避免流式响应被误杀 |
| 备一个第二节点 | 主节点故障时手动切换 |
推荐的机场思路可以参考 AI 稳定机场推荐。品牌资料强调 AI 场景的有 速界,称覆盖的有 光年梯 等,API 场景下是否稳定都待实测,先月付验证。想按地区配合使用,看 ChatGPT 机场选择 和 Claude 机场选择。
常见报错排查
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 连接超时 | 脚本没走代理 | 开 TUN 或设环境变量 |
| 403 或地区不支持 | 出口在不支持地区 | 换美日新节点 |
| 间歇性失败 | 线路抖动 | 换更稳的节点,加重试 |
| SSL 证书错误 | 代理软件拦截 | 检查 TUN 是否有 MITM 设置 |
| 401 | Key 错误或过期 | 检查 Key,不是网络问题 |
网络层面的问题先看 连接排查。
Key 与合规
- API Key 放环境变量,不提交到仓库。
- 给每个项目单独的 Key,便于吊销。
- 遵守各平台的使用条款。
- 不要用机场去规避账号封禁。
机场只是网络通道,不能替代合规的使用方式。
在 IDE 与工具里的代理
开发工具各有各的代理设置,容易遗漏。
| 工具 | 注意点 |
|---|---|
| 终端 | 用环境变量,或依赖 TUN |
| IDE 内置 AI 插件 | 查插件设置里有没有代理项 |
| Docker 容器 | 容器内需要单独配置代理变量 |
| 远程服务器 | 服务器在支持地区时不需要本地代理 |
Docker 里的程序不会继承宿主机终端的变量。需要在容器启动时传入,或者使用 TUN 接管。
排查时先隔离变量
调 API 失败时,先用最简单的方式验证网络,再回头看代码。
- 浏览器打开 OpenAI 或 Anthropic 官网,确认出口可用。
- 在同一个终端里用最简单的请求测试,确认代理生效。
- 再运行你的程序,排除代码本身的问题。
这样可以快速分清是网络问题还是代码问题。网络部分的通用排查见 连接排查。
并发与限速
走机场调用时,别一下子开很多并发。
- 节点带宽和连接数是有限的,并发过高会触发超时。
- API 本身也有速率限制,网络问题和限流报错要分开看。
- 先用小并发跑通,再逐步加量。
超时与限流的报错信息不同。限流通常会返回明确的状态码和提示,超时则没有响应。别把限流误判成机场问题。
总结
开发者走机场调 AI API,关键是让命令行也走代理:TUN 或环境变量二选一。再配合固定出口的 AI 策略组、专线节点和重试机制。本地开发可以这么用,线上业务请使用合规的部署方式。
常见问题
命令行为什么不走我的 Clash 代理?
系统代理只对遵守它的程序生效,很多命令行工具和 SDK 并不读取。解决办法是开 TUN 模式,或在终端设置 HTTPS_PROXY 和 HTTP_PROXY 环境变量。
API 能用香港节点吗?
不建议。OpenAI 和 Anthropic 的支持地区以官方列表为准,香港通常不在其中。API 请求同样会检查来源,建议用美国、日本或新加坡节点。
生产环境可以用个人机场吗?
不建议。机场服务面向个人上网,条款和稳定性都不适合承载线上业务。生产环境应把服务器部署在支持地区,或使用官方认可的接入方式。
API Key 怎么保管?
放在环境变量或密钥管理工具里,不要写进代码,也不要提交到仓库。一旦泄露,立刻在控制台吊销旧 Key 并重新生成,同时检查近期用量是否异常。