美国家宽 IP 一键直连 · 不用搭 VPS 了解 广告 在新标签页打开

文章 ·

Gemini CLI 怎么走代理?报地区不支持时先查哪条出口

先说结论:Gemini CLI 0.46.0 不会因为浏览器能打开 Gemini 就自动走同一条线路;它按 HTTPS_PROXY、https_proxy、HTTP_PROXY、http_proxy 的顺序读取第一个有值的代理变量。遇到地区不支持时,先在运行 Gemini CLI 的同一个终端确认 IPv4、IPv6 出口,再对照 Gemini API / Google AI Studio 的官方地区名单;代理设置只能修正终端的网络路径,不能改变服务的地区资格。

一图看懂:Gemini CLI 从哪里读取代理Gemini CLI 0.46.0 按 HTTPS_PROXY、https_proxy、HTTP_PROXY、http_proxy 的顺序读取第一个有值的代理变量。浏览器或系统代理不会自动传给终端;变量可放在当前终端或 Gemini CLI 会加载的 .gemini/.env 文件。 Gemini CLI 从哪里读取代理 浏览器 / 系统代理不会自动带入 浏览器能打开,不等于终端走同一路径 按顺序取第一个有值的变量会读取 1HTTPS_PROXY 2https_proxy 3HTTP_PROXY 4http_proxy 放在当前终端,或 ~/.gemini/.env 依据 Gemini CLI v0.46.0 官方源码与配置文档
先看终端环境:Gemini CLI 按固定顺序取第一个代理变量,系统代理不会自动替你设置这些值。

本文于 2026 年 10 月 16 日核对 Gemini CLI v0.46.0 官方源码、配置文档、认证文档,以及 Google AI for Developers 的可用地区页。下文的地区错误原文来自 2025 年 6 月 26 日用户在官方仓库提交的问题报告,不是 Google 对个案原因的确认。

Gemini CLI 到底读哪个代理设置?

答案是终端环境变量,不是浏览器设置。v0.46.0 的官方源码按下面顺序取第一个有值的变量:

  1. HTTPS_PROXY
  2. https_proxy
  3. HTTP_PROXY
  4. http_proxy

因此大小写变量同时存在且内容不同时,排在前面的值会生效。当前版本的帮助信息与官方源码都没有 --proxy 启动参数;看到 Unknown argument: proxy 时,应改用环境变量。

macOS 和 Linux 怎么设置?

建议使用代理软件提供的 HTTP 或混合端口。只对本次启动生效:

HTTPS_PROXY=http://127.0.0.1:7890 \
HTTP_PROXY=http://127.0.0.1:7890 gemini

要让之后打开的终端也使用,可写进 ~/.zshrc 或 ~/.bashrc:

export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890

改完要新开终端再启动 Gemini CLI。不要在截图、日志或文章里公开带用户名、密码的代理网址。

Windows PowerShell 怎么设置?

当前窗口可用下面两行,端口换成代理软件显示的 HTTP 或混合端口:

$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:HTTP_PROXY = "http://127.0.0.1:7890"
gemini

只在 PowerShell 里设置不会自动影响已打开的其他终端或桌面程序;要测试时,应从这个窗口直接启动 Gemini CLI。

可以写进 .gemini/.env 吗?

可以。官方认证文档写明,Gemini CLI 会加载项目里的 .gemini/.env,也可以使用用户级的 ~/.gemini/.env。例如:

HTTPS_PROXY=http://127.0.0.1:7890
HTTP_PROXY=http://127.0.0.1:7890

文档同时提醒:它只加载找到的第一份环境文件,不会把多份文件合并。某个项目正常、另一个项目直连时,要检查当前目录往上的环境文件是否更早被找到;API key 也是敏感信息,不要提交到 Git。

报“User location is not supported”先查什么?

先查发出请求的终端出口。2025 年 6 月 26 日有用户在官方仓库报告以下原文;截至核对日,官方文档和该报告只见到英文提示,未核实到独立的中文报错原文:

✕ [API Error: User location is not supported for the API use. (Status: FAILED_PRECONDITION)]

在运行 Gemini CLI 的同一个终端执行:

curl ipjudge.org
curl -6 ipjudge.org

第一条看 IPv4 出口与「Gemini API」一行;第二条在设备有 IPv6 时确认 IPv6 有没有走到另一地区。Google 的可用地区页写明,地区限制按实际运行请求的环境判断:例如 Colab 按实例地区,不按用户本人地区。

截至 2026 年 10 月 16 日,Google 的 Gemini API / AI Studio 名单包含台湾、新加坡、日本、美国等地区,不含中国大陆、香港、澳门。若请求出口不在名单内,官方页面指向 Gemini Enterprise Agent Platform;本文不提供绕过地区限制的方法。

连接错误、地区错误、认证错误怎么分开?

先保留完整原文,再处理对应层级:

看到什么先查什么不要误判成
连接超时、连接重置、TLS / certificate 错误代理地址、端口、企业证书、终端是否读到变量地区一定不支持
User location is not supported for the API use.同一终端的 IPv4 / IPv6 出口与 API 地区名单API key 一定失效
API keys are not supported by this API...所选认证方式、组织策略、Google Cloud 项目代理一定没生效
Gemini CLI 报错后的排查顺序先确认 Gemini CLI 版本和终端代理变量,再从同一个终端检查 IPv4 与 IPv6 出口,然后按错误类型分流:连接错误查代理与证书,User location is not supported 对照 Gemini API 地区名单,认证与项目错误检查登录方式和 Google Cloud 项目。 Gemini CLI 报错后按这三步查 1 确认版本与代理变量gemini --version · 只看变量是否已设置 2 在同一终端确认出口curl ipjudge.org · curl -6 ipjudge.org 3 按原始错误分流 连接超时 / TLS查代理、端口、证书 User location…对照 API 地区名单 认证 / 项目查登录方式与项目配置 地区不在名单:按 Google 官方路径处理 不要把连接错误直接当成地区错误,也不要把地区错误当成代理故障
最关键的是保留报错原文:连接、地区、认证/项目是三类不同问题,处理方向完全不同。

怎么确认代理变量已经被 Gemini CLI 读到?

先看版本,再只检查变量是否存在,避免把带凭证的网址打印到日志:

gemini --version
test -n "$HTTPS_PROXY" && echo HTTPS_PROXY=set || echo HTTPS_PROXY=unset
test -n "$HTTP_PROXY" && echo HTTP_PROXY=set || echo HTTP_PROXY=unset

然后从同一个终端运行出口检测并启动 gemini。如果浏览器检测与终端检测不同,以终端结果为 Gemini CLI 这条路径的依据;本站只能核对出口与公开名单,不能读取 Google 内部的定位或账号判断。

常见问题

浏览器能用 Gemini,为什么 Gemini CLI 仍报地区不支持?

浏览器和终端可能走不同出口。应在启动 Gemini CLI 的同一终端检查 IPv4、IPv6,而不是只看浏览器。

只设置 HTTP_PROXY 可以吗?

源码会读取,但它排在 HTTPS_PROXY 与 https_proxy 后面。为避免不同工具取值不一致,建议同时设置 HTTPS_PROXY 和 HTTP_PROXY,并保持内容相同。

为什么写进 .gemini/.env 后另一个项目没生效?

Gemini CLI 只加载找到的第一份环境文件,不会合并多份;检查当前项目与父目录里是否已有更靠前的文件。

地区在官方名单内,仍然报同一句怎么办?

先确认 IPv4、IPv6 都在名单内,再保留版本、完整错误和不含凭证的出口信息向 Gemini CLI 官方仓库反馈。IP 定位结果可能不同,本站不能替 Google确认。

换代理就一定会恢复吗?

不能。代理变量只决定终端请求路径;账号、认证方式、组织策略、服务地区资格仍由 Google 判断。

相关检测与说明:Gemini 地区检测 · CLI 出口检测 · Gemini API 地区错误 · Gemini 国内与香港可用性 · 浏览器与终端看到哪个 IP

想知道你自己的 IP 属于哪一类?

免费检测我的 IP