Appearance
Gemini CLI 首次运行时需要认证。对大多数用户,选"Sign in with Google"用个人 Google 账号登录即可(免费每天 1000 次)。如果是企业/Workspace 账号,还需要额外设置 Google Cloud Project。本页按账号类型一一说明认证方法。
Gemini CLI 认证配置
选择认证方式
| 使用场景 | 推荐认证方式 | 是否需要 GCP 项目 |
|---|---|---|
| 个人 Google 账号(免费/付费) | Google 账号登录 | 通常不需要 |
| 企业/学校/Workspace 账号 | Google 账号登录 | 需要 |
| 只有 Gemini API Key | API Key 认证 | 不需要 |
| Google Cloud 用户 | Vertex AI | 需要 |
| 无界面服务器(无头模式) | API Key 或 Vertex AI | API Key 不需要 |
方式一:Google 账号登录(推荐)
适合在本地机器运行、有浏览器的场景:
启动 Gemini CLI:
bashgemini选择 Sign in with Google,CLI 会打开浏览器登录页面
完成 Google 账号授权,凭据会缓存到本地供后续会话使用
是否需要设置 Google Cloud Project?
以下情况需要额外设置 GCP 项目:
- 使用公司、学校或 Google Workspace 账号
- 使用来自 Google Developer Program 的 Gemini Code Assist 授权
- 使用 Gemini Code Assist 订阅授权
设置 GCP 项目:
bash
# 方式一:设置环境变量
export GOOGLE_CLOUD_PROJECT="your-project-id"
# 方式二:在 CLI 中设置
/settings或通过 Google Cloud SDK 登录:
bash
gcloud auth application-default login
gcloud config set project your-project-id方式二:Gemini API Key
适合不想用 Google 账号登录、或需要通过 API 中转的场景:
前往 Google AI Studio 获取 API Key
设置环境变量:
bash# Linux / macOS export GEMINI_API_KEY="your-api-key-here" # Windows PowerShell $env:GEMINI_API_KEY="your-api-key-here"启动 CLI:
bashgemini
也可以在 settings.json 中配置:
json
{
"auth": {
"method": "api-key"
}
}方式三:Vertex AI(企业用户)
适合已有 Google Cloud 基础设施的企业团队:
bash
# 先用 gcloud 认证
gcloud auth application-default login
# 设置项目和区域
export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="us-central1" # 选择支持的区域
gemini然后在 CLI 中选择 Vertex AI 认证方式。
无头模式(服务器/CI 环境)
在没有浏览器的环境中,使用 API Key 或 Vertex AI:
bash
# 使用 API Key
GEMINI_API_KEY="your-key" gemini -p "任务描述"
# 使用 Vertex AI(需要 gcloud 已配置 service account)
GOOGLE_CLOUD_PROJECT="your-project" gemini -p "任务描述"常见问题
Q: 个人 Google 账号有哪些免费额度?
A: 免费 Gemini Code Assist 个人版每分钟 60 次请求、每天 1000 次请求。付费的 Google AI Pro/Ultra 订阅有更高额度,具体见官方套餐页面。
Q: Workspace 账号登录后说没有权限
A: Workspace 账号需要管理员在 Google Cloud Console 中启用 Gemini Code Assist API,并为账号分配许可证。如果是个人使用公司邮箱,联系 IT 管理员开通。
Q: API Key 在哪里更安全地存放?
A: 推荐放到 ~/.bashrc 或 ~/.zshrc 中以 export GEMINI_API_KEY=xxx 形式保存,而不是硬编码在项目文件里。配合 .gitignore 防止意外提交。