Gemini CLI 多帳戶設定小記
OS: macOS 26.3.1
Gemini CLI: 0.36.0
今天來實作 gemini cli 多帳號設定
因自己有 AI Pro 訂閱, 公司有自己的 GCP 帳號
google 在 2026/3/25 限制非訂閱帳戶使用 Gemini Pro 模型, 我使用的環境又會牽扯 不同的 GCP 專案, 故今天花時間整理如何進行多帳號設定與分離
要如何達成呢?
核心觀念:雙重環境隔離
要達成完美的帳戶切換,建議同時操作以下兩組環境變數:
GEMINI_CLI_HOME (Gemini 專屬)
決定了所有 Gemini CLI 本身 的資料存放位置。
預設路徑:$HOME (CLI 會自動在其下建立或尋找 .gemini/ 目錄)
目錄結構:包含:
.gemini/settings.json: 存放全域偏好設定。
.gemini/.env: 存放該 Profile 專用的 API Key、GCP 專案 ID。
.gemini/tmp/: 存放所有的 對話紀錄 (Sessions)。
CLOUDSDK_CONFIG (GCP 認證專屬)
決定了 Google Cloud SDK (gcloud) 的配置目錄與憑證存放位置。
預設路徑:~/.config/gcloud/。
目錄結構:包含:
application_default_credentials.json: 獨立的 ADC 檔案。
configurations/: 獨立的專案設定。
那就讓我們開始吧
編輯 環境設定檔, ( 環境是 macOS 使用 zsh, 所以修改 ~/.zshrc )
加入以下設定
% vi ~/.zshrc
# --- Gemini CLI 多帳戶隔離配置 ---
# CLOUDSDK_CONFIG (GCP 認證專屬)
# 決定了 **Google Cloud SDK** (`gcloud`) 的配置目錄。
# **預設路徑**:`~/.config/gcloud/` (macOS/Linux)
#
# GEMINI_CLI_HOME (Gemini 專屬)
# 決定了所有 **Gemini CLI 本身** 的資料存放位置。
# **預設路徑**:`$HOME` (CLI 會自動在其下建立或尋找 `.gemini/` 目錄)
# 1. 個人開發帳戶 (Dev: 預設環境)
alias env-personal='export CLOUDSDK_CONFIG="$HOME/.config/gcloud"; export GEMINI_CLI_HOME="$HOME"; mkdir -p "$CLOUDSDK_CONFIG" "$GEMINI_CLI_HOME/.gemini"; touch "$GEMINI_CLI_HOME/.gemini/.env"; echo "已載入 Gemini/gcloud 個人環境"; echo "提醒:請確保 $GEMINI_CLI_HOME/.gemini/.env 已正確設定個人 API Key 與 Project ID"'
# 2. 臨時測試環境 (Stage: 實驗性質)
alias env-test='export CLOUDSDK_CONFIG="$HOME/.gcloud-test"; export GEMINI_CLI_HOME="$HOME/.gemini-test"; mkdir -p "$CLOUDSDK_CONFIG" "$GEMINI_CLI_HOME/.gemini"; touch "$GEMINI_CLI_HOME/.gemini/.env"; echo "已載入 Gemini/gcloud 測試環境"; echo "提醒:請確保 $GEMINI_CLI_HOME/.gemini/.env 已正確設定測試用 API Key 與 Project ID"'
# 3. 公司工作帳戶 (Prod: 正式環境)
alias env-work='export CLOUDSDK_CONFIG="$HOME/.gcloud-work"; export GEMINI_CLI_HOME="$HOME/.gemini-work"; mkdir -p "$CLOUDSDK_CONFIG" "$GEMINI_CLI_HOME/.gemini"; touch "$GEMINI_CLI_HOME/.gemini/.env"; echo "已載入 Gemini/gcloud 公司環境"; echo "提醒:請確保 $GEMINI_CLI_HOME/.gemini/.env 已正確設定公司 API Key 與 Project ID"'
alias 皆為一行, 設定 CLOUDSDK_CONFIG 變數, GEMINI_CLI_HOME 變數, 建立相關目錄, 建立環境 .env 檔案與提醒
開啟一個新的終端機
開始前檢查環境相關設定
% echo $CLOUDSDK_CONFIG
% echo $GEMINI_CLI_HOME
% set | grep CLI
CLICOLOR=1
% env | grep CLOUD
% ls -al $HOME | grep gemini
drwxr-xr-x 19 max staff 608 4月 6 14:07 .gemini
% ls -al $HOME/.gemini | grep env
% ls -al $HOME | grep gcloud
預設 $CLOUDSDK_CONFIG 與 GEMINI_CLI_HOME 沒有設定
如果有看到有 GOOGLE_CLOUD_PROJECT 或是 GOOGLE_CLOUD_LOCATION 這樣的全域變數設定記得要移動到 環境的 .evn 檔案內
執行 env-personal
% env-personal
已載入 Gemini/gcloud 個人環境
提醒:請確保 /Users/max/.gemini/.env 已正確設定個人 API Key 與 Project ID
再次觀察資訊
% echo $CLOUDSDK_CONFIG
/Users/max/.config/gcloud
% echo $GEMINI_CLI_HOME
/Users/max
% set | grep CLI
CLICOLOR=1
GEMINI_CLI_HOME=/Users/max
% env | grep CLOUD
CLOUDSDK_CONFIG=/Users/max/.config/gcloud
% ls -al $HOME | grep gemini
drwxr-xr-x 20 max staff 640 4月 6 14:36 .gemini
% ls -al $HOME/.gemini | grep env
-rw-r--r-- 1 max staff 0 4月 6 14:36 .env
% ls -al $HOME | grep gcloud
這邊可以觀察到相關的變數已經設定, 另外也建立了 ~/.gemini/.env 檔案
接下來編輯 ~/.gemini/.env 檔案將相關變數填入
% vi ~/.gemini/.env
# 認證與身分 (必填)
# ==== Google login 相關 ====
GOOGLE_CLOUD_PROJECT="your-project-id"
# ==== Vertex AI 相關 ====
# gemini cli 因為要使用 vertex ai 模式還要多設定 GOOGLE_CLOUD_LOCATION, gemini 3 可能要設定為global
GOOGLE_CLOUD_LOCATION="global"
# 影像生成 (選填)
# ==== nano banana 相關 ====
# The following Nano Banana models are supported:
#
# gemini-3.1-flash-image-preview (Nano Banana 2 - default)
# gemini-3-pro-image-preview (Nano Banana Pro)
# gemini-2.5-flash-image (Nano Banana v1)
NANOBANANA_MODEL="gemini-3.1-flash-image-preview"
NANOBANANA_API_KEY="YOUR_API_KEY"
# ==== Gemini API Key 相關 ====
#
GEMINI_API_KEY="YOUR_API_KEY"
# 擴充功能設定 (選填)
# ==== Bigquery-data-analytics 相關 ====
# 使用 bigquery-data-analytics Gemini CLI Extension 所需之變數
BIGQUERY_PROJECT="your-billing-project"
這邊請依照自己的需求填入相關變數
接下來開一個新的終端機, 啟動 gemini
詢問雲端專案ID, 看看是否載入正確
到這邊, 個人的開發環境己經設定完成, 接下來要來設定個人測試環境
個人測試環境有可能是另外一個 gmail 帳號, 以不同的訂閱或是驗證方式來執行
執行 env-test 來初始化環境
% env-test
已載入 Gemini/gcloud 測試環境
提醒:請確保 /Users/max/.gemini-test/.gemini/.env 已正確設定測試用 API Key 與 Project ID
觀察資訊
% echo $CLOUDSDK_CONFIG
/Users/max/.gcloud-test
% echo $GEMINI_CLI_HOME
/Users/max/.gemini-test
% set | grep CLI
CLICOLOR=1
GEMINI_CLI_HOME=/Users/max/.gemini-test
% env | grep CLOUD
CLOUDSDK_CONFIG=/Users/max/.gcloud-test
% ls -al $HOME | grep gemini
drwxr-xr-x 20 max staff 640 4月 6 15:00 .gemini
drwxr-xr-x 3 max staff 96 4月 6 15:21 .gemini-test
% ls -al $HOME | grep gcloud
drwxr-xr-x 2 max staff 64 4月 6 15:21 .gcloud-test
這邊可以觀察到變數有新增, 以及建立應有的目錄
接下來進行 gcp 認證 初始化 (測試帳號)
% gcloud auth login
開啟瀏覽器進行登入與授權
觀察資訊
% ls ~/.gcloud-test
access_tokens.db config_sentinel credentials.db gce logs
active_config configurations default_configs.db legacy_credentials
接下來設定 ADC
% gcloud auth application-default login
開啟瀏覽器進行登入與授權
設定 ADC 配額專案 (Quota Project)
% gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Credentials saved to file: [/Users/max/.gcloud-test/application_default_credentials.json]
接下來設定預設專案
% gcloud config set project YOUR_PROJECT_ID
Updated property [core/project].
觀察資訊
% gcloud config list
在還沒有編輯 .env 環境變數前, 先觀察相關資訊
觀察使用的 gmail 帳號
% gcloud auth list
觀察 GEMINI 目錄
% echo $GEMINI_CLI_HOME
/Users/max/.gemini-test
啟動 gemini
因為是初次啟動, 會詢問驗證方式
選擇登入方式
這個時候可以跟 gemini 進行對話
這個是新的測試環境, 可以觀察到之前的 MCP 都沒有載入, 也因為是使用 Google login 驗證, 使用的模型也受到限制
上方為測試環境, 下方為個人開發環境
這樣終於完成多環境隔離, 又前進一步
~ enjoy it
References
跟 gemini 一起討論