跳到主要內容
開發者資源
開發者資源

Gemini CLI

將 Gemini CLI 接入 RunAPI 的 Gemini 原生 API,驗證請求並還原原有設定。

概覽

Gemini CLI 是終端機裡的 agent。本指南將它的模型提供者改為 RunAPI 的 Gemini 原生 API;透過 MCP 新增 RunAPI 工具是獨立的步驟。

開始之前

按照官方安裝指南安裝。參照身分驗證指南建立專用的標準 API key,再從模型目錄複製支援 Gemini 原生協定的模型 ID。不要將 key 提交至儲存庫。

SHELL
npm install -g @google/gemini-cli

設定 RunAPI

先在目前 shell 設定這些變數。base URL 是 HTTPS API 根位址,不含 /v1beta;SDK 會加入 POST /v1beta/models/{model}:streamGenerateContent?alt=sse。僅 localhost 允許 HTTP。

SHELL
export GOOGLE_GEMINI_BASE_URL=https://runapi.ai
export GEMINI_API_KEY=YOUR_RUNAPI_API_KEY
export GEMINI_MODEL=YOUR_RUNAPI_MODEL_ID

長期使用時,將同樣的三個變數寫入儲存庫外的 ~/.gemini/.env,並用 chmod 600 ~/.gemini/.env 限制存取。Gemini CLI 從目前目錄向父目錄尋找 .env,然後檢查 ~/.gemini/.env 和 ~/.env;注意互相衝突的檔案。

將以下兩項設定合併至 ~/.gemini/settings.json,保留其他設定。API key 驗證使用 gemini-api-key,不要重用快取的 Google 登入。預設透過 x-goog-api-key 請求標頭傳送 key。

JSON
{
  "security": {
    "auth": {"selectedType": "gemini-api-key"}
  },
  "model": {"name": "YOUR_RUNAPI_MODEL_ID"}
}

選擇模型

使用 GEMINI_MODEL、--model YOUR_RUNAPI_MODEL_ID 或互動工作階段裡的 /model。避免 auto、pro 和 flash:這些別名可能解析為 RunAPI 不提供的 Google 模型 ID。CLI 內部的選擇、分類及循環偵測也可能請求 flash 或 flash-lite 輔助模型,需另行確認是否可用。

驗證

在你信任的儲存庫中執行。在互動工作階段中用 /about 或 /stats 檢查模型,再於 RunAPI 用量記錄確認對應的 streamGenerateContent 請求。僅 CLI 成功回應,無法證明請求送到了哪個端點。

SHELL
gemini --version
gemini -p "Describe this repository in one sentence."

新增 RunAPI 工具

MCP 新增的是工具,不是模型提供者。此命令註冊本機伺服器;請依照 Local MCP 完成獨立的身分驗證與確認。

SHELL
gemini mcp add runapi npx -y @runapi.ai/mcp

疑難排解

請求仍送往 Google 時,檢查衝突的 .env 檔案、security.auth.selectedType、快取登入及 Google/Vertex 身分驗證環境變數。若出現 Invalid auth method selected,在設定中選擇 gemini-api-key 而非 gateway,然後重新啟動。

遇到 401 時,檢查 key 及 GEMINI_API_KEY_AUTH_MECHANISM 覆寫設定;預設使用 x-goog-api-key。遇到 404 時,從 base URL 移除 /v1beta,重新複製支援 Gemini 原生協定的模型 ID。輔助模型無法使用時,檢查請求的確切 ID;選好主要模型並不保證 CLI 的所有功能都能使用。

RunAPI 不提供 countTokens 或 embedContent。countTokens 失敗時,Gemini CLI 可退回本機 token 估算,估算值可能與用量記錄不同。除 localhost 外均使用 HTTPS,不要停用憑證驗證。

移除 RunAPI

從目前 shell 和已儲存的 .env 檔案移除三個變數,還原原來的 security.auth.selectedType 與模型設定,並在 RunAPI 撤銷專用 key。只有不再需要工具時,才移除另外新增的 MCP 伺服器。

SHELL
unset GOOGLE_GEMINI_BASE_URL GEMINI_API_KEY GEMINI_MODEL

後續步驟