文章 ·
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 的官方地區名單;代理設定只能修正終端的網絡路徑,不能改變服務的地區資格。
本文於 2026 年 10 月 16 日核對 Gemini CLI v0.46.0 官方源碼、配置文檔、認證文檔,以及 Google AI for Developers 的可用地區頁。下文的地區錯誤原文來自 2025 年 6 月 26 日用户在官方倉庫提交的問題報告,不是 Google 對個案原因的確認。
Gemini CLI 到底讀哪個代理設定?
答案是終端環境變量,不是瀏覽器設定。v0.46.0 的官方源碼按下面順序取第一個有值的變量:
HTTPS_PROXYhttps_proxyHTTP_PROXYhttp_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 --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