Gemini CLI
在 Gemini CLI 中配置和使用 AGTCloud。
Gemini CLI 是 Google 推出的开源终端智能体,可以在终端中理解项目、分析文件并在获得授权后使用命令和工具。通过配置 Gemini API 地址、API Key 和模型 ID,可以让 Gemini CLI 使用 AGTCloud 的 Gemini Generate Content 兼容入口。
本教程只介绍 Gemini CLI 的基础连接与安全验证流程。文件修改、Shell 命令、函数调用和其他智能体能力取决于目标模型,以及对应模型对 Gemini Parts、Function Call 等协议结构的实际支持情况。
先验证基础对话,再测试工具能力
成功返回普通文本只表示基础生成链路已经接通,不代表文件编辑、命令执行和全部内置工具均可用。首次测试请保持人工确认,不要启用自动批准。
准备工作
开始前,请确认你已经:
- 安装 Node.js
20或更高版本; - 准备 Bash、Zsh 或 PowerShell 终端;
- 在 API Keys 页面创建 AGTCloud API Key;
- 从模型广场复制当前 Key 可见、且支持 Gemini Generate Content 的模型 ID;
- 准备一个不包含敏感代码和生产凭证的测试目录。
MODEL_ID 是需要替换的占位符,不是实际模型名称。请使用当前 API Key 可见且支持 Gemini Generate Content 的模型 ID。
安装 Gemini CLI
推荐安装当前稳定版本。不同安装方式得到的是同一个 gemini 命令。
使用 npm 全局安装:
npm install -g @google/gemini-cli适用于已经安装 Node.js 20+ 的 macOS、Linux、WSL 和 Windows 环境。
安装完成后检查版本:
gemini --version如果提示找不到命令,请重新打开终端,并确认 npm 全局命令目录已经加入 PATH。
配置 AGTCloud
Gemini CLI 需要四个环境变量:API Key、模型 ID、自定义 Gemini API 地址和 Bearer 鉴权方式。
在当前终端临时配置:
export GEMINI_API_KEY="your-api-key"
export GEMINI_MODEL="MODEL_ID"
export GOOGLE_GEMINI_BASE_URL="https://api.agtcloud.cn"
export GEMINI_API_KEY_AUTH_MECHANISM="bearer"这些变量只对当前终端会话生效,关闭终端后需要重新设置。
配置项说明
| 环境变量 | 用途 |
|---|---|
GEMINI_API_KEY | 在 API Keys 页面创建的 AGTCloud API Key |
GEMINI_MODEL | 当前 Key 可见且支持 Gemini Generate Content 的模型 ID |
GOOGLE_GEMINI_BASE_URL | Gemini API 地址,使用 https://api.agtcloud.cn |
GEMINI_API_KEY_AUTH_MECHANISM | 设置为 bearer,通过 Authorization Header 发送 AGTCloud API Key |
Base URL 不要追加 /v1
GOOGLE_GEMINI_BASE_URL 只填写 https://api.agtcloud.cn。Gemini SDK 会继续拼接 /v1beta/models/{model}:generateContent;如果填写 https://api.agtcloud.cn/v1,最终路径可能变成错误的 /v1/v1beta/...。
本教程不设置 GOOGLE_GENAI_API_VERSION,让 Gemini CLI 使用 Gemini API 默认的 v1beta。也不要把完整的 generateContent 请求路径写入 Base URL。
保存用户级配置
确认临时配置能够工作后,可以将变量写入 Gemini CLI 的用户级 .env 文件。该文件可能包含真实 API Key,请不要提交到代码仓库。
用户级文件路径:
~/.gemini/.env文件内容:
GEMINI_API_KEY=your-api-key
GEMINI_MODEL=MODEL_ID
GOOGLE_GEMINI_BASE_URL=https://api.agtcloud.cn
GEMINI_API_KEY_AUTH_MECHANISM=bearerGemini CLI 会按当前工作目录和父目录查找环境文件。项目中更近的 .env 或 .gemini/.env 可能优先于用户级配置;发现配置没有生效时,应先排查这些文件。
固定 API Key 认证方式
Gemini CLI 支持多种 Google 认证方式。通过 AGTCloud 使用时,应选择 Gemini API Key,而不是 Google 登录或 Vertex AI。
在用户级 settings.json 中合并以下配置,不要覆盖文件中已有的主题、权限或其他设置:
{
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
}
}配置文件位置:
| 系统 | 路径 |
|---|---|
| macOS / Linux / WSL | ~/.gemini/settings.json |
| Windows | %USERPROFILE%\.gemini\settings.json |
保存后完全退出 Gemini CLI,再重新启动。selectedType 与 GEMINI_API_KEY_AUTH_MECHANISM=bearer 分别负责选择 API Key 认证流程和按 AGTCloud 要求生成 Bearer Header,二者不能相互替代。
选择模型
默认模型由 GEMINI_MODEL 决定。需要为单次会话临时指定模型时,可以运行:
gemini --model MODEL_ID交互会话中的 /model 可以作为辅助入口,但其列表不一定自动包含当前 AGTCloud API Key 返回的所有模型。遇到模型不存在或不可见时,请从模型广场重新复制完整模型 ID,并优先通过 GEMINI_MODEL 或 --model 指定。
验证连接
执行最小生成测试
在不包含敏感文件的目录中运行:
gemini -p "请只回复:AGTCloud 连接成功。" --output-format json能够返回包含回答内容的 JSON,说明 Base URL、API Key、Bearer 鉴权和模型 ID 已经建立基础连接。
执行只读文件测试
进入包含 README.md 的安全测试项目:
gemini -p "@README.md 请用三点概括项目用途,不要修改任何文件。" --output-format json正常读取并概括文件,且没有发生文件修改,说明基础文件分析链路可用。
常见问题
| 现象 | 优先检查 | 处理方式 |
|---|---|---|
找不到 gemini 命令 | Node.js 版本、安装结果和 PATH | 确认 Node.js 为 20+,重新打开终端并运行 gemini --version |
| 仍要求 Google 登录 | security.auth.selectedType | 合并 gemini-api-key 配置,退出并重新启动 Gemini CLI |
| 环境变量未生效 | 当前目录、父目录和用户目录中的环境文件 | 检查是否存在优先级更高的 .env 或 .gemini/.env,不要打印完整 API Key |
返回 401 | API Key 和 Bearer 变量 | 使用有效 API Key,并确认 GEMINI_API_KEY_AUTH_MECHANISM=bearer |
返回 403 | Key 权限和模型可见范围 | 确认当前 Key 能访问所填模型,并检查账户状态 |
返回 404 | Base URL、API 版本和模型 ID | Base URL 使用 https://api.agtcloud.cn,不要附加 /v1、/v1beta 或完整 Endpoint |
| 请求进入 Vertex AI / Google | 冲突的 Google 环境变量 | 清除或禁用 GOOGLE_GENAI_USE_VERTEXAI、GOOGLE_GENAI_USE_GCA、GOOGLE_API_KEY 等不属于本教程的配置 |
| 模型不可用 | GEMINI_MODEL 或 --model | 从模型广场重新复制支持 Gemini Generate Content 的完整模型 ID |
| 文本正常但工具失败 | 模型能力和 Gemini Function Call 兼容性 | 暂时限制为普通对话和只读分析,再根据实际错误核对工具调用能力 |
| Bearer 配置不可用 | Gemini CLI 版本 | 更新到当前稳定版本,不修改本地安装源码,也不把 Key 手工写进自定义 Header |
遇到无法定位的问题时,请记录请求时间、API Base URL、模型 ID、Gemini CLI 版本、HTTP 状态和脱敏错误信息,然后查看错误与排障。不要提交完整 API Key 或包含凭证的 .env 文件。
安全建议
- 不要把真实 API Key 写入仓库、共享脚本、截图、日志或聊天记录;
- 建议先使用临时环境变量验证,成功后再保存用户级配置;
- 为
.env文件设置合适的本机访问权限,并避免同步到公共云盘; - 首次使用工具能力时保持人工审批,并在非生产项目中验证;
- 共享排障信息前,删除完整 Key、用户名、本地路径和业务源码。