Gemini CLI 速查表
Gemini CLI 是 Google 推出的开源 AI 代理终端工具,将 Gemini 大模型的强大能力直接带到你的终端中。支持交互式对话、代码生成与理解、文件操作、Shell 命令执行、网页搜索、MCP 协议扩展和子代理编排。免费额度:每分钟 60 次请求,每天 1000 次请求。
快速开始
``bash
# 安装
npm install -g @google/gemini-cli
# 或直接运行(无需安装) npx @google/gemini-cli
# 启动交互式会话 gemini
# 非交互模式 gemini -p "日本的 capital 是什么?"
# 指定模型 gemini -m gemini-2.5-flash -p "写一个 Python 脚本"
# 管道输入
cat README.md | gemini
`
安装方式
| 方式 | 命令 |
| npm 全局安装 | npm install -g @google/gemini-cli |
| npx 直接运行 | npx @google/gemini-cli |
| Homebrew(macOS/Linux) | brew install gemini-cli |
| MacPorts(macOS) | sudo port install gemini-cli |
| 预览版 | npm install -g @google/gemini-cli@preview |
| 每日构建版 | npm install -g @google/gemini-cli@nightly |
认证方式
| 方式 | 配置 | 适用场景 |
| Google 账号登录 | 运行 gemini,选择 Sign in with Google | 个人用户、免费额度 |
| Gemini API 密钥 | export GEMINI_API_KEY="你的密钥" | 开发者、无界面环境 |
| Vertex AI (ADC) | gcloud auth application-default login + export GOOGLE_CLOUD_PROJECT="..." | 企业团队 |
| Vertex AI (服务账号) | export GOOGLE_APPLICATION_CREDENTIALS="/路径/key.json" | CI/CD、自动化脚本 |
添加到 ~/.bashrc 或 ~/.zshrc:
`bash
export GEMINI_API_KEY="你的密钥"
# 或 Vertex AI:
export GOOGLE_CLOUD_PROJECT="你的项目ID"
export GOOGLE_CLOUD_LOCATION="us-central1"
`
也可以在 ~/.gemini/.env(全局)或 ./.gemini/.env(项目)中创建 .env 文件。
命令行参数
| 参数 | 说明 | 示例 |
-m, --model <模型> | 指定 Gemini 模型 | gemini -m gemini-2.5-pro -p "..." |
-p, --prompt <文本> | 非交互模式提示 | gemini -p "解释这段代码" |
-i, --prompt-interactive <文本> | 以初始提示启动交互模式 | gemini -i "重构这个模块" |
-d, --debug | 启用调试模式 | gemini -d |
--sandbox | 在沙箱中隔离运行(需 Docker/Podman) | gemini --sandbox -p "rm test" |
--yolo | 自动批准所有工具调用 | gemini --yolo -p "部署上线" |
--output-format json | JSON 格式输出(脚本解析) | gemini -p "..." --output-format json |
--output-format stream-json | 实时事件流 JSON | gemini -p "..." --output-format stream-json |
--include-directories <目录> | 多目录工作区 | gemini --include-directories ../lib,../docs |
--checkpointing | 启用会话检查点 | gemini --checkpointing |
配置说明
### settings.json 优先级(从高到低)
1. 命令行参数
2. 环境变量(包括 .env 文件)
3. 系统设置文件 — /etc/gemini-cli/settings.json
4. 项目设置文件 — .gemini/settings.json
5. 用户设置文件 — ~/.gemini/settings.json
6. 系统默认文件 — /etc/gemini-cli/system-defaults.json
### 常用设置
`json
{
"theme": "GitHub",
"vimMode": true,
"autoAccept": false,
"sandbox": "docker",
"checkpointing": { "enabled": true },
"general": {
"preferredEditor": "vscode",
"defaultApprovalMode": "default",
"plan": { "enabled": true }
}
}
`
### 上下文文件(GEMINI.md)
GEMINI.md 文件按层级加载,越具体的文件优先级越高:
1. 全局:~/.gemini/GEMINI.md
2. 项目:<项目>/.gemini/GEMINI.md
3. 子目录:自动扫描组件级指令
使用 /init 生成初始文件,@file.md 语法实现模块化导入。
使用 /memory show 查看组合后的完整上下文。
### 忽略文件(.geminiignore)
在项目根目录创建(语法类似 .gitignore):
`gitignore
# .geminiignore
/backups/
*.log
secret-config.json
`
斜杠命令速查
### 会话与聊天
| 命令 | 说明 |
/help 或 /? | 显示帮助 |
/clear | 清屏(或 Ctrl+L) |
/compress | 用摘要压缩上下文以节省 Token |
/copy | 复制上次输出到剪贴板 |
/quit 或 /exit | 退出 CLI |
/quit --delete | 退出并删除会话数据 |
/rewind | 向后回退对话(Esc Esc 快捷键) |
| 命令 | 说明 |
/resume list | 列出自动保存的会话 |
/resume save <标签> | 保存检查点标签 |
/resume resume <标签> | 恢复已保存会话 |
/resume delete <标签> | 删除检查点 |
/resume share [文件名] | 导出为 Markdown/JSON |
/resume debug | 导出 API 请求 JSON |
/restore | 撤销工具执行的文件修改 |
| 命令 | 说明 |
/model set <名称> [--persist] | 切换模型(可选持久化) |
/model manage | 打开模型配置对话框 |
/plan | 切换到计划模式(只读) |
/init | 生成 GEMINI.md 上下文文件 |
/memory show | 显示组合上下文 |
/memory list | 列出使用的 GEMINI.md 文件 |
/memory refresh | 重新加载上下文文件 |
/stats | 会话统计 |
/stats model | Token/配额统计 |
/stats tools | 工具使用统计 |
| 命令 | 说明 |
/agents list | 列出所有子代理 |
/agents enable <名称> | 启用子代理 |
/agents disable <名称> | 禁用子代理 |
/agents config <名称> | 配置子代理 |
/agents reload | 重新扫描代理目录 |
/mcp list | 列出 MCP 服务器/工具 |
/mcp desc | 列出 MCP 及描述 |
/mcp enable <名称> | 启用 MCP 服务器 |
/mcp disable <名称> | 禁用 MCP 服务器 |
/mcp reload | 重新加载 MCP 服务器 |
/mcp schema | 列出 MCP 及 JSON Schema |
/mcp auth <名称> | 启动 MCP OAuth 流程 |
| 命令 | 说明 |
/extensions list | 列出已安装扩展 |
/extensions install <仓库> | 从 Git 安装扩展 |
/extensions update <名称> | 更新扩展 |
/extensions uninstall <名称> | 卸载扩展 |
/commands list | 列出自定义命令 |
/commands reload | 重新加载自定义命令 |
| 命令 | 说明 |
/settings | 打开设置编辑器 |
/auth | 更改认证方式 |
/theme | 切换视觉主题 |
/vim | 切换 Vim 模式 |
/editor | 选择首选编辑器 |
/directory add <路径> | 添加工作目录 |
/directory show | 显示工作目录 |
/tools | 列出可用工具 |
/tools desc | 列出工具及描述 |
/permissions trust <路径> | 信任目录 |
/setup-github | 设置 GitHub Actions 集成 |
| 命令 | 说明 |
/about | 显示版本信息 |
/bug | 提交 Bug 报告 |
/docs | 在浏览器中打开文档 |
/upgrade | 升级到 Code Assist |
/hooks list | 列出生命周期钩子 |
/privacy | 显示隐私声明 |
/shells | 切换后台 Shell 视图 |
/terminal-setup | 配置多行输入快捷键 |
配置文件示例
### 最小化 .gemini/settings.json
`json
{
"theme": "GitHub Dark",
"vimMode": false,
"autoAccept": true,
"general": {
"preferredEditor": "cursor"
},
"checkpointing": { "enabled": true }
}
`
### MCP 服务器配置
`json
{
"mcpServers": {
"my-tools": {
"command": "node",
"args": ["path/to/mcp-server.js"],
"env": {
"API_KEY": "$MY_API_TOKEN"
}
}
}
}
`
内置工具
Gemini CLI 包含以下内置能力:
| 类别 | 工具 |
| 文件系统 | list_directory、glob、read_file、write_file、replace、search_file_content |
| Shell | run_shell_command(执行 shell 命令 — 可通过 excludeTools 限制) |
| 网页 | google_web_search、web_fetch |
| 记忆 | save_memory(fact="...") — 跨会话持久化信息 |
实用技巧
- 多目录项目:使用 --include-directories 参数或 CLI 中的 /directory add 命令。
- 节省 Token:对话过长时运行 /compress 压缩上下文。
- 子代理:在 ~/.gemini/agents/ 中创建子目录,配置专用子代理。
- 风险操作前检查点:启用 checkpointing,用 /resume save 操作前 保存状态。
- 危险命令沙箱:使用 --sandbox 参数在 Docker/Podman 中隔离工具执行。
- 自定义命令:在 ~/.gemini/commands/ 中创建 .toml 文件,定义可复用的斜杠命令。
- JSON 脚本化:使用 --output-format json` 以编程方式解析 Gemini CLI 输出。
安装认证(6)
| 命令 | 难度 | ||
|---|---|---|---|
npm install -g @google/gemini-cli全局安装 Gemini CLI | 基础 | npm install -g @google/gemini-cli | |
npx @google/gemini-cli直接运行 Gemini CLI(无需安装) | 基础 | npx @google/gemini-cli | |
brew install gemini-cli使用 Homebrew 安装 Gemini CLI | 基础 | brew install gemini-cli | |
export GEMINI_API_KEY="YOUR_KEY"设置 Gemini API 密钥环境变量 | 基础 | export GEMINI_API_KEY="AIza..." | |
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"设置 Google Cloud 项目 ID(用于 Vertex AI 认证) | 中级 | export GOOGLE_CLOUD_PROJECT="my-gemini-project" | |
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"设置服务账号 JSON 密钥路径(Vertex AI 服务账号认证) | 中级 | export GOOGLE_APPLICATION_CREDENTIALS="/home/user/sa-key.json" |
基础使用(16)
| 命令 | 难度 | ||
|---|---|---|---|
gemini启动交互式 Gemini CLI 会话(默认模式) | 基础 | gemini | |
gemini -p "prompt"以非交互模式运行并执行单个提示 | 基础 | gemini -p "Explain the architecture of this project" | |
gemini -m gemini-2.5-flash指定 Gemini 模型 | 基础 | gemini -m gemini-2.5-flash | |
gemini --include-directories ../lib,../docs将多个目录纳入工作区 | 中级 | gemini --include-directories ../shared,../docs | |
gemini --sandbox -p "prompt"在沙箱隔离环境中运行命令(需 Docker/Podman) | 中级 | gemini --sandbox -p "Run make test" | |
gemini --output-format json以 JSON 格式输出(适合脚本解析) | 中级 | gemini -p "List all functions" --output-format json | |
gemini --output-format stream-json以实时事件流 JSON 格式输出 | 中级 | gemini -p "Run tests" --output-format stream-json | |
gemini --yolo自动批准所有工具调用(无需确认) | 高级 | gemini --yolo -p "Deploy the app" | |
gemini -d启用调试模式 | 中级 | gemini -d | |
gemini -i "initial prompt"以初始提示启动交互模式 | 基础 | gemini -i "Help me refactor this module" | |
echo "Count to 10" | gemini通过管道将输入传递给 Gemini CLI | 基础 | cat README.md | gemini | |
/help显示内置帮助信息 | 基础 | /help | |
/clear清除终端屏幕(Ctrl+L 快捷键) | 基础 | /clear | |
/about显示版本信息 | 基础 | /about | |
/quit退出 CLI | 基础 | /quit | |
/quit --delete退出并永久删除会话记录 | 中级 | /quit --delete |
文本生成(12)
| 命令 | 难度 | ||
|---|---|---|---|
/init分析当前目录并生成自定义 GEMINI.md 上下文文件 | 基础 | /init | |
/model set gemini-2.5-pro [--persist]切换模型并可选持久化设置 | 基础 | /model set gemini-2.5-pro --persist | |
/model manage打开模型配置对话框 | 基础 | /model manage | |
/compress用摘要替换聊天上下文以节省 Token | 中级 | /compress | |
/plan切换到计划模式(只读模式) | 基础 | /plan | |
/memory show显示完整拼接的 GEMINI.md 上下文内容 | 基础 | /memory show | |
/memory list列出所有使用的 GEMINI.md 文件路径 | 基础 | /memory list | |
/memory refresh重新加载所有 GEMINI.md 上下文文件 | 基础 | /memory refresh | |
/stats显示当前会话统计信息(持续时间、工具调用等) | 基础 | /stats | |
/stats model显示模型 Token 用量和配额统计 | 中级 | /stats model | |
/stats tools显示工具使用频率统计 | 中级 | /stats tools | |
/copy复制最近一次 CLI 输出到剪贴板 | 基础 | /copy |
对话与流式(7)
| 命令 | 难度 | ||
|---|---|---|---|
/resume list列出自动保存的会话历史 | 基础 | /resume list | |
/resume save <tag>为当前会话创建检查点标签 | 基础 | /resume save before-refactor | |
/resume resume <tag>恢复之前保存的会话 | 基础 | /resume resume before-refactor | |
/resume delete <tag>删除已保存的检查点 | 基础 | /resume delete stale-checkpoint | |
/resume share <filename>将会话导出为 Markdown 或 JSON 文件 | 中级 | /resume share session-summary.md | |
/resume debug导出最近一次 API 请求的 JSON 负载 | 高级 | /resume debug | |
/rewind向后导航对话历史 | 基础 | /rewind |
配置管理(10)
| 命令 | 难度 | ||
|---|---|---|---|
/editor打开编辑器选择对话框 | 基础 | /editor | |
/settings打开设置编辑器(settings.json) | 基础 | /settings | |
/auth更改认证方式 | 基础 | /auth | |
/theme切换视觉主题 | 基础 | /theme | |
/vim切换 Vim 模式开关 | 中级 | /vim | |
/directory add <path>添加工区目录 | 中级 | /directory add ../shared-lib | |
/directory show显示所有已添加的工作目录 | 基础 | /directory show | |
/commands list列出所有自定义斜杠命令 | 中级 | /commands list | |
/commands reload重新加载自定义命令(无需重启) | 中级 | /commands reload | |
/permissions trust <path>信任指定的目录 | 中级 | /permissions trust /home/user/projects |
模型管理(16)
| 命令 | 难度 | ||
|---|---|---|---|
/agents list列出所有子代理(内置、本地、远程) | 中级 | /agents list | |
/agents enable <name>启用指定子代理 | 中级 | /agents enable code-reviewer | |
/agents disable <name>禁用指定子代理 | 中级 | /agents disable code-reviewer | |
/agents config <name>配置子代理(模型、温度、限制) | 高级 | /agents config code-reviewer | |
/agents reload重新扫描 ~/.gemini/agents 和 .gemini/agents | 中级 | /agents reload | |
/mcp list列出所有 MCP 服务器及工具 | 中级 | /mcp list | |
/mcp desc列出 MCP 服务器及描述信息 | 中级 | /mcp desc | |
/mcp enable <name>启用指定 MCP 服务器 | 中级 | /mcp enable my-tools | |
/mcp disable <name>禁用指定 MCP 服务器 | 中级 | /mcp disable my-tools | |
/mcp reload重新加载 MCP 服务器列表 | 中级 | /mcp reload | |
/mcp schema列出 MCP 服务器及工具描述和 JSON Schema | 高级 | /mcp schema | |
/extensions list列出已安装的扩展 | 中级 | /extensions list | |
/extensions install <repo>从 Git 仓库安装扩展 | 中级 | /extensions install https://github.com/user/my-extension | |
/tools列出所有可用工具 | 基础 | /tools | |
/tools desc列出工具及描述说明 | 基础 | /tools desc | |
/setup-github设置 GitHub Actions 自动化(Issue 分类/PR 审查) | 中级 | /setup-github |
文件管理(1)
| 命令 | 难度 | ||
|---|---|---|---|
/restore撤销工具操作,恢复项目文件到之前状态 | 中级 | /restore |