跳到正文
开发者资源
开发者资源

Gemini CLI

将 Gemini CLI 接入 RunAPI 的 Gemini 原生 API,验证请求并恢复原有配置。

概览

Gemini CLI 是终端里的 agent。本指南将它的模型提供方改为 RunAPI 的 Gemini 原生 API;通过 MCP 添加 RunAPI tools 是单独的步骤。

开始前准备

按官方安装指南安装。参照身份验证指南创建一把专用的标准 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 tools

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

下一步