主题
Gemini CLI 配置
Gemini CLI 提供多种配置其行为的方式,包括环境变量、命令行参数和设置文件。本文档概述了不同的配置方法和可用设置。
配置层级
配置按以下优先级顺序应用(较低数字被较高数字覆盖):
- 默认值: 应用程序内的硬编码默认值。
- 系统默认文件: 可被其他设置文件覆盖的系统范围默认设置。
- 用户设置文件: 当前用户的全局设置。
- 项目设置文件: 项目特定设置。
- 系统设置文件: 覆盖所有其他设置文件的系统范围设置。
- 环境变量: 系统范围或会话特定变量,可能从
.env文件加载。 - 命令行参数: 启动 CLI 时传递的值。
设置文件
Gemini CLI 使用 JSON 设置文件进行持久配置。这些文件有四个位置:
系统默认文件:
- 位置:
/etc/gemini-cli/system-defaults.json(Linux)、C:\ProgramData\gemini-cli\system-defaults.json(Windows)或/Library/Application Support/GeminiCli/system-defaults.json(macOS)。 - 范围: 提供系统范围默认设置的基础层。
- 位置:
用户设置文件:
- 位置:
~/.gemini/settings.json(~是你的主目录)。 - 范围: 适用于当前用户的所有 Gemini CLI 会话。
- 位置:
项目设置文件:
- 位置: 项目根目录中的
.gemini/settings.json。 - 范围: 仅在从该特定项目运行 Gemini CLI 时适用。
- 位置: 项目根目录中的
系统设置文件:
- 位置:
/etc/gemini-cli/settings.json(Linux)、C:\ProgramData\gemini-cli\settings.json(Windows)或/Library/Application Support/GeminiCli/settings.json(macOS)。 - 范围: 适用于系统上所有用户的所有 Gemini CLI 会话。
- 位置:
主要设置类别
general - 通用设置
general.previewFeatures:启用预览功能(默认:false)general.vimMode:启用 Vim 键绑定(默认:false)general.checkpointing.enabled:启用会话检查点恢复(默认:false)
ui - 界面设置
ui.theme:UI 的颜色主题ui.hideBanner:隐藏应用程序横幅(默认:false)ui.hideTips:隐藏 UI 中的提示(默认:false)
model - 模型设置
model.name:用于对话的 Gemini 模型model.maxSessionTurns:会话中保留的最大轮次(默认:-1无限制)
tools - 工具设置
tools.sandbox:沙箱执行环境tools.autoAccept:自动接受安全工具调用(默认:false)tools.allowed:绕过确认对话框的工具名称列表
mcp - MCP 服务器设置
mcp.serverCommand:启动 MCP 服务器的命令mcp.allowed:允许的 MCP 服务器列表mcp.excluded:排除的 MCP 服务器列表
mcpServers - MCP 服务器配置
配置与一个或多个 Model-Context Protocol (MCP) 服务器的连接:
json
{
"mcpServers": {
"mainServer": {
"command": "bin/mcp_server.py"
},
"anotherServer": {
"command": "node",
"args": ["mcp_server.js", "--verbose"]
}
}
}示例 settings.json
json
{
"general": {
"vimMode": true,
"preferredEditor": "code"
},
"ui": {
"theme": "GitHub",
"hideBanner": true
},
"tools": {
"sandbox": "docker"
},
"model": {
"name": "gemini-2.5-pro"
}
}环境变量
CLI 自动从 .env 文件加载环境变量。加载顺序:
- 当前工作目录中的
.env文件。 - 如果未找到,向上搜索父目录直到找到
.env文件或到达项目根目录。 - 如果仍未找到,查找
~/.env。
主要环境变量
GEMINI_API_KEY:Gemini API 的 API 密钥GEMINI_MODEL:指定默认使用的 Gemini 模型GOOGLE_API_KEY:Google Cloud API 密钥GOOGLE_CLOUD_PROJECT:Google Cloud 项目 IDGOOGLE_CLOUD_LOCATION:Google Cloud 项目位置GEMINI_SANDBOX:沙箱设置(true、false、docker、podman)DEBUG:设置为true启用详细调试日志
命令行参数
--model <model_name>(-m):指定此会话使用的模型--prompt <your_prompt>(-p):直接传递提示(非交互模式)--sandbox(-s):为此会话启用沙箱模式--debug(-d):启用调试模式--yolo:自动批准所有工具调用--resume [session_id](-r):恢复之前的聊天会话--help(-h):显示帮助信息--version:显示 CLI 版本
上下文文件
上下文文件(默认为 GEMINI.md)用于配置提供给 Gemini 模型的指令上下文。
层级加载
- 全局上下文文件:
~/.gemini/GEMINI.md - 项目根目录和祖先上下文文件: 从当前目录向上搜索
- 子目录上下文文件: 当前目录下的子目录
内存管理命令
/memory refresh:强制重新扫描和重新加载所有上下文文件/memory show:显示当前加载的组合指令上下文
沙箱
Gemini CLI 可以在沙箱环境中执行潜在不安全的操作以保护你的系统。
启用沙箱的方式:
- 使用
--sandbox或-s标志 - 设置
GEMINI_SANDBOX环境变量 - 使用
--yolo时默认启用沙箱
对于项目特定的沙箱需求,可以在项目根目录创建 .gemini/sandbox.Dockerfile。
使用统计
为帮助改进 Gemini CLI,我们收集匿名使用统计。你可以通过在 settings.json 中设置来选择退出:
json
{
"privacy": {
"usageStatisticsEnabled": false
}
}