本文写给第一次用 AI 编程助手、遇到连不上网、不懂环境变量和代理规则的朋友。老手可直接跳到第五节「Clash/Mihomo 分流规则」复制。
一、先确认:你遇到的就是「连不上国外服务器」
如果你在终端里跑 claude、cursor、gemini、codex 这类命令,出现下面任何一种:
Error: connect ETIMEDOUT
Error: request to https://api.anthropic.com failed, reason: getaddrinfo ENOTFOUND
connection refused
Network unreachable
或者工具一直转圈、登不进去、提示地区不可用——
99% 不是你代码写错了,而是:这些 AI 编程助手背后要连的「大脑服务器」在美国/日本,你本地网络直连不到,得让流量"绕个道"(走代理)才行。
打个比方:你买了个美国来电的客服电话,但你的手机没开通国际长途,当然打不通。代理就是帮你"开通国际长途"的那个服务。
二、三句话搞懂 AI 编程助手是什么
- AI 编程助手(Coding Agent):能帮你写代码、改 bug、读项目的智能工具。常见的叫 Claude Code(Anthropic 出品)、Cursor、Windsurf、GitHub Copilot、Gemini CLI(Google 出品)。
- 它们怎么工作:你打字下指令 → 工具把你的代码和问题打包 → 发给国外的服务器去算 → 结果传回来。所以每一步都要联网,而且连的是国外地址。
- 关键结论:只要服务器在国外,你在国内用,就必须给这些工具单独配代理,否则它们"喊不应"那边的服务器。
注意区分:本文讲的是命令行/编辑器里的编程助手怎么联网。普通在浏览器里聊 ChatGPT、Claude 网页版是另一回事(那种靠你电脑上的代理软件全局接管就行)。编程助手有点"轴",它不一定认你系统的全局代理,得单独告诉它。
三、两种让它们联网的办法(先看懂区别)
| 办法 | 大白话 | 适合谁 |
|---|---|---|
| ① 环境变量代理 | 在终端里设几个"告诉工具走哪条道"的变量,工具启动时自动读取 | 大多数人,最简单 |
| ② 客户端规则分流 | 在 Clash/Mihomo 里加几条规则,让"AI 相关流量"自动走代理 | 想精细控制、多个 AI 工具一起管的人 |
推荐新手先用①,设好能立刻见效;等用顺了再用②做长期管理。
⚠️ 两个必知的前提:
- 你得先有一个能用的代理软件(Clash/Mihomo/Shadowrocket/Surge 等)并且它自己能正常上外网。本文不教你买节点,只教怎么把已有的代理"接"给编程助手。
- 记下你的代理 HTTP 端口。常见是
7890(Clash)、1087(部分)、7891等。打开你的代理软件看一眼"端口"或"HTTP 代理"那栏。本文默认7890,你按实际改。
四、逐个工具配代理(复制即用)
下面所有命令里的 7890 都换成你自己的端口。macOS / Linux 用 export,Windows PowerShell 用 $env:。
4.1 Claude Code(最常用,也有坑)
Claude Code 认标准的 HTTPS_PROXY 环境变量。但它不支持 SOCKS 代理——如果你的代理软件只开了 SOCKS 端口,必须改用它的 HTTP 端口。
临时用法(当前终端窗口有效),在运行 claude 前先执行:
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,::1然后正常跑 claude 即可。
永久用法(不用每次敲),写进 Claude Code 的设置文件 ~/.claude/settings.json:
{
"env": {
"HTTP_PROXY": "http://127.0.0.1:7890",
"HTTPS_PROXY": "http://127.0.0.1:7890",
"NO_PROXY": "localhost,127.0.0.1,::1"
}
}保存后重开终端即可。NO_PROXY 那行很重要:它保证你访问本机(localhost)的服务(比如本地跑的网站)不走代理,否则你本地开发会连不上自己。
如果你用了第三方中转/自建网关,可能会配
ANTHROPIC_BASE_URL,请确保它指向官方域名,别填错成来路不明的地址。
4.2 Gemini CLI(Google 出品)
Gemini CLI 会读 ~/.gemini/.env 这个文件。创建/编辑它:
mkdir -p ~/.gemini
nano ~/.gemini/.env写入:
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
NO_PROXY=localhost,127.0.0.1,::1
保存后重开终端,跑 gemini 就行。
4.3 Codex CLI(OpenAI 出品)
和 Gemini 类似,写入 ~/.codex/.env:
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
NO_PROXY=localhost,127.0.0.1,::1
Codex 对网络比较敏感,如果老是"重连中"或"流中断",优先用 HTTP 端口而非 SOCKS5。改完记得彻底退出 Codex 再重开。
4.4 Cursor(编辑器里用)
Cursor 在终端启动时也会读 HTTPS_PROXY 环境变量,临时设法和 4.1 一样。
如果想在 Cursor 设置里配:打开 Settings → 搜索 proxy → 填 http://127.0.0.1:7890。或者直接在系统环境变量里加上 HTTPS_PROXY(Windows 在"系统属性→环境变量"里加;macOS 写进 ~/.zshrc)。
4.5 Windsurf / Codeium
Windsurf 读标准环境变量 HTTPS_PROXY,临时设法和 4.1 一致。也可以在 ~/.codeium/config.json 里配置网络相关项(多数情况设环境变量就够了)。
4.6 GitHub Copilot(VS Code 里)
Copilot 走 VS Code 的代理设置。打开 VS Code → Settings → 搜索 http.proxy → 填入:
http://127.0.0.1:7890
另外建议把 http.proxySupport 设为 on 或 override。Copilot 还会连 api.github.com、githubcopilot.com 等地址,确保它们走代理(见第五节规则)。
五、Clash / Mihomo 分流规则(想精细管理就看这节)
如果你用 Clash 或 Mihomo(Clash Meta)做代理,可以加一组专门给 AI 工具的规则,让它们的流量稳定走某个节点组,不被全局规则误伤。
第一步:建一个"AI 专用节点组"(在 proxy-groups 里加):
- name: "🤖 AI工具"
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 100
proxies:
- 你的美国节点1
- 你的美国节点2
tolerance: 100意思是延迟差 100ms 内不自动跳节点,避免频繁换 IP 导致 AI 服务误判风险。
第二步:加分流规则(在 rules 里加,放在 MATCH 之前):
# ===== OpenAI / ChatGPT =====
DOMAIN-SUFFIX,openai.com,🤖 AI工具
DOMAIN-SUFFIX,chatgpt.com,🤖 AI工具
DOMAIN-SUFFIX,oaistatic.com,🤖 AI工具
DOMAIN-SUFFIX,oaiusercontent.com,🤖 AI工具
# ===== Anthropic / Claude =====
DOMAIN-SUFFIX,anthropic.com,🤖 AI工具
DOMAIN-SUFFIX,claude.ai,🤖 AI工具
DOMAIN-SUFFIX,api.anthropic.com,🤖 AI工具
# ===== Google / Gemini =====
DOMAIN-SUFFIX,generativelanguage.googleapis.com,🤖 AI工具
DOMAIN-SUFFIX,aistudio.google.com,🤖 AI工具
DOMAIN-SUFFIX,gemini.google.com,🤖 AI工具
# ===== GitHub Copilot / Cursor =====
DOMAIN-SUFFIX,githubcopilot.com,🤖 AI工具
DOMAIN-SUFFIX,copilot.github.com,🤖 AI工具
DOMAIN-SUFFIX,cursor.com,🤖 AI工具
DOMAIN-SUFFIX,cursor.sh,🤖 AI工具
# ===== 工具依赖(npm / GitHub 拉包)=====
DOMAIN-SUFFIX,registry.npmjs.org,🤖 AI工具
DOMAIN-SUFFIX,raw.githubusercontent.com,🤖 AI工具
DOMAIN-SUFFIX,objects.githubusercontent.com,🤖 AI工具小技巧:AI 工具装插件、拉 MCP 服务器时经常要从
github.com、raw.githubusercontent.com下载文件,把这些也放进 AI 组,能少很多"下载卡住"的怪问题。
六、节点怎么选?为什么 AI 老提示"地区不可用/被封"
这是新手最容易栽的坑:
- AI 服务越来越严:ChatGPT、Claude 会封锁数据中心 IP(就是你机场普通的香港/美国节点)。如果用普通节点登 ChatGPT 提示
Access denied、Claude 提示not available in your region,多半是 IP 被标记了。 - 解决:在 AI 专用节点组里放住宅 IP(Residential)节点或原生 IP 节点。好多机场有专门的"AI 解锁"或"流媒体/AI"线路。
- 固定地区:AI 组只放同一地区(比如全美国)的节点,别让它在美/日/港之间乱跳——IP 频繁变动更容易触发风控。
- 用 fallback 兜底:首选节点挂了自动切同地区备用,不中断你的编码会话。
一句话:普通节点能上网页,但 AI 编程助手更挑 IP。给它单独准备"干净"的节点,最省心。
七、常见报错速查表(现象 → 原因 → 解决)
| 你看到的 | 大概率是 | 解决办法 |
|---|---|---|
ETIMEDOUT / connection refused / network unreachable |
代理没设上或端口错 | 检查 HTTPS_PROXY 端口是否和代理软件一致;确认代理软件本身能上外网 |
| 设了代理还连不上 | 用了 SOCKS 端口,但工具只认 HTTP | Claude Code 不支持 SOCKS,改用 HTTP 端口(如 7890) |
401 / 403 / 404 |
其实连上了,只是没登录/没权限 | 好消息!代理成功了,去登录或检查 API Key 即可 |
ChatGPT Access denied |
节点 IP 被 OpenAI 封了 | 换住宅 IP / 原生 IP 节点 |
Claude not available in your region |
节点地区不在支持列表 | 换到美/英/日等支持地区的节点 |
本地网站 localhost 打不开 |
代理把本机也代理了 | 加 NO_PROXY=localhost,127.0.0.1,::1 |
| 装插件/拉包卡住 | GitHub/npm 域名没走代理 | 把 github.com、raw.githubusercontent.com、registry.npmjs.org 加进 AI 规则组 |
| 老断线、流中断 | 网络不稳或用了 SOCKS | 改用 HTTP 端口;换更稳的节点 |
万能自检:设好代理后,先在终端跑
curl -I https://api.anthropic.com。若返回401/403/404说明通道通了(只是没登录),若timeout说明代理还没配对。
八、怎么确认"真的成功了"
别只看工具没报错就以为好了,做两步验证:
- 终端探针:跑
curl -I https://api.anthropic.com和curl -I https://api.openai.com,返回401/403之类即代表代理通道通畅。 - 实际跑一次:打开 Claude Code 或 Cursor,让它做一件小事(比如"帮我解释这段函数")。能正常回答 = 大功告成。
如果第 1 步就 timeout,回到第四节重检查端口;如果第 1 步通但工具还报错,看第七节对应行。
九、一句话总结
AI 编程助手连不上,是因为它们要连国外服务器,得单独告诉它们走代理。 新手用
export HTTPS_PROXY=http://127.0.0.1:你的端口最省事;记得 Claude Code 只认 HTTP 不认 SOCKS;AI 服务挑 IP,给它单独配住宅/原生节点最稳。复制第五节规则,多个工具一起管。
搞定这一篇,Claude Code / Cursor / Gemini / Codex / Copilot 就都能在你电脑上愉快干活了。
本文基于 2026 年 8 月各工具最新版实测整理。端口号、域名清单会随产品更新变动,若遇新报错,优先以你代理软件的连接日志里实际出现的主机名为准补充规则。