Skip to content

第 2 章 · 什么时候需要代理 ​

预计 10 分钟 最后验证 2026-09-29

先说结论

本教程的主线不需要代理。 用 npm 国内镜像安装工具、连接 DeepSeek,都可以在国内网络直接完成。这一章是选读,适合遇到网络问题、或者想弄明白代理原理的读者。

合规说明 ​

请遵守你所在地区的法律法规使用网络。本教程不推荐、不提供任何代理服务或"机场",只讲解通用的网络原理和终端配置方法,帮助你理解和排查网络问题。

另外再次提醒:Anthropic 和 OpenAI 的官方服务不支持中国大陆等地区,在不支持的地区使用官方账号违反它们的服务条款(见 第 0 章)。

哪些场景可能用到代理 ​

场景本教程的处理方式
安装 Claude Code / Codex用 npm 国内镜像,不需要
连接 DeepSeek国内服务,不需要
从 GitHub 下载代码、SkillGitHub 在国内有时能访问,有时很慢或失败,视情况
使用两个工具的官方安装脚本下载地址在海外,可能需要。本教程主线不用这个方式
阅读官方英文文档视情况

代理的基本原理 ​

如果你已经在用某个代理客户端,理解下面这张图就能解决大部分"浏览器能访问、终端却不行"的问题。

浏览器终端里的程序代理客户端监听 127.0.0.1:端口互联网读取「系统代理设置」读取「环境变量」

代理客户端在你的电脑上监听一个本地端口,比如 127.0.0.1:7890(127.0.0.1 代表"本机")。其他程序把网络请求先交给这个端口,再由代理客户端转发出去。

问题在于:不同的程序,获取代理地址的方式不一样。

系统代理模式 ​

大多数代理客户端默认开启"系统代理",也就是修改操作系统的代理设置。浏览器会读取这个设置,所以浏览器能正常访问。

但是终端里的大多数程序(git、npm、curl、Claude Code、Codex)不读系统代理设置,它们读的是 HTTP_PROXY、HTTPS_PROXY 这两个环境变量。所以会出现"浏览器能打开 GitHub,终端里 git clone 却失败"的情况。

解决方法:在终端里设置这两个环境变量,下一节会讲具体操作。

TUN 模式(虚拟网卡) ​

有些代理客户端提供"TUN 模式"或"虚拟网卡模式"。开启后,客户端会接管电脑上所有程序的网络流量,终端里的程序也不例外,不需要再设置环境变量。

代价是它影响整台电脑的网络,可能导致部分软件异常。遇到问题时,先关掉 TUN 模式试试。

一个常见误区 ​

"我开了代理,为什么终端还是连不上?"

请按顺序检查:

  1. 代理客户端开着吗?
  2. 如果没有开 TUN 模式,终端里设置 HTTPS_PROXY 环境变量了吗?
  3. 环境变量里的端口号和代理客户端里显示的一致吗?
  4. 设置环境变量之后,是在同一个终端窗口里运行的命令吗?(临时设置只对当前窗口有效)

下一步:让终端走代理

内容会随工具更新而过时,每页顶部标注了最后验证的版本和日期。