Gemini CLI 命令速查表 - Google 终端 AI 代理全参数
Gemini CLI 是 Google 开源的终端 AI 代理(Apache 2.0),面向需要超长上下文、希望让 AI 在本地仓库自主改代码并接自有模型的开发者,2M token 上下文尤其适合整仓库级别的重构与分析任务。与其它编码代理相比,它的长上下文、可 fork 自托管以及 GEMINI.md 项目记忆是突出优势;本表帮你掌握安装认证、无头自动化(-p -o json)与 MCP/扩展接入。
典型使用场景
面向把 Gemini CLI 嵌进日常开发与自动化流水线的工程师。表里六条主线对应六类真实场景:安装与认证(OAuth 浏览器登录、API key、Vertex AI)、运行模式(交互 TUI 与 -p 无头、-i 播种后保持交互)、全局标志位(-m 换模型、--approval-mode 控制审批、-w 独立 worktree、-o json 供脚本消费、-r 恢复会话)、会话斜杠命令(/context 看 token、/compress 续命、/save 与 /restore 跨天)、MCP 与扩展管理、GEMINI.md 项目记忆。最值得记住的工程实践是:把构建与测试命令写进 GEMINI.md 并用 .geminiignore 屏蔽 .env 与大目录,自动化任务统一走 --approval-mode=yolo 加 -o json,长任务用 /compress 与检查点兜底。
安装与认证 6
npm install -g @google/gemini-cligemini --versiongeminigemini --auth-method=api-keyexport GEMINI_API_KEY="your-key"export GOOGLE_GENAI_USE_VERTEXAI=true运行模式 8
geminigemini "重构 user-auth 模块"gemini -p "解释这个函数"gemini -i "先实现缓存"gemini mcpgemini extensionsgemini skillsgemini gemma全局标志位 15
gemini -m gemini-2.5-pro "任务"gemini -y "重构整模块"gemini --approval-mode plan "探索架构"gemini -w feat/logingemini -sgemini --skip-trustgemini --checkpointinggemini -r latestgemini --list-sessionsgemini --delete-session 2gemini --include-directories ../backend,../frontendgemini -o json "任务"gemini -e context7gemini -lgemini --debug会话斜杠命令 14
/help/model/context/compress/clear/save/restore/yolo/mcp list/tools/init/memory list/memory refresh/quitMCP 与扩展 7
gemini mcp add <name> <url>gemini mcp remove <name>gemini mcp listgemini mcp enable <name>gemini mcp disable <name>gemini extensions install <name>gemini mcp add --url https://example.com/mcpGEMINI.md 与配置 5
echo "构建: make build\n测试: go test ./..." > GEMINI.md@./docs/architecture.md!git statusecho ".env\nnode_modules/" > .geminiignorecat ~/.gemini/settings.json参数矩阵
| 参数 | 作用 | 示例 |
|---|---|---|
npm install -g @google/gemini-cli | 通过 npm 全局安装(需 Node 20+) | npm install -g @google/gemini-cli |
gemini --version | 验证安装并显示版本 | gemini --version |
gemini(首次运行) | 触发浏览器 OAuth 登录 | gemini |
--auth-method=api-key | 切换为 API key 认证方式 | gemini --auth-method=api-key |
GEMINI_API_KEY | 设置 API key 环境变量(服务器/CI 用) | export GEMINI_API_KEY="your-key" |
GOOGLE_GENAI_USE_VERTEXAI=true | 启用 Vertex AI 认证方式 | export GOOGLE_GENAI_USE_VERTEXAI=true |
gemini "重构 user-auth 模块" | 带初始提示启动 TUI | gemini "重构 user-auth 模块" |
gemini -p "解释这个函数" | 无头模式:执行后打印退出 | gemini -p "解释这个函数" |
gemini -i "先实现缓存" | 先播种提示再保持交互 | gemini -i "先实现缓存" |
gemini -m gemini-2.5-pro | 本次调用覆盖模型 | gemini -m gemini-2.5-pro "任务" |
gemini -y | 自动批准所有操作(已建议改用 --approval-mode=yolo) | gemini -y "重构整模块" |
--approval-mode plan | 只读规划模式(default/auto_edit/yolo/plan) | gemini --approval-mode plan "探索架构" |
gemini -w feat/login | 在独立 git worktree 中运行 | gemini -w feat/login |
gemini -s | 在配置沙箱(Docker/Podman)中执行工具调用 | gemini -s |
gemini --skip-trust | 本次会话信任当前工作区 | gemini --skip-trust |
gemini --checkpointing | 启用逐次编辑快照,可用 /restore 恢复 | gemini --checkpointing |
gemini -r latest | 恢复上一个会话(latest 或索引) | gemini -r latest |
gemini --list-sessions | 列出当前项目的会话后退出 | gemini --list-sessions |
gemini --delete-session 2 | 按索引删除会话 | gemini --delete-session 2 |
--include-directories | 把额外目录加入工作区映射 | gemini --include-directories ../backend,../frontend |
gemini -o json | 输出格式 text/json/stream-json | gemini -o json "任务" |
gemini -e context7 | 限制本会话加载的扩展集合 | gemini -e context7 |
gemini -l | 列出已安装扩展后退出 | gemini -l |
gemini --debug | 输出详细调试日志 | gemini --debug |
/help | 列出所有可用命令 | /help |
/model | 切换激活模型 | /model |
/context | 显示当前对话 token 用量 | /context |
/compress | 总结对话释放上下文 | /compress |
/clear / /save / /restore | 重置对话 / 保存检查点 / 恢复会话 | /save |
/yolo | 跳过所有确认提示(慎用) | /yolo |
/mcp list / /tools | 列出 MCP 服务器 / 可用工具 | /mcp list |
/init | 为项目生成 GEMINI.md | /init |
/memory list / /memory refresh | 查看已加载上下文 / 重载 GEMINI.md | /memory refresh |
gemini mcp add <name> <url> | 添加 MCP 服务器 | gemini mcp add --url https://example.com/mcp |
gemini mcp remove / enable / disable | 移除 / 启用 / 禁用 MCP 服务器 | gemini mcp disable <name> |
gemini mcp list | 列出 MCP 服务器 | gemini mcp list |
gemini extensions install <name> | 安装 CLI 扩展 | gemini extensions install <name> |
gemini skills | 管理 agent skills(安装/链接/列举) | gemini skills |
echo "构建: make build" > GEMINI.md | 写项目记忆,每次会话自动加载 | echo "构建: make build\n测试: go test ./..." > GEMINI.md |
@./docs/architecture.md | 在提示词中注入文件/目录内容 | @./docs/architecture.md 这个架构怎么实现的? |
!git status | 在会话内直接执行 shell 命令 | !git status |
.geminiignore | 让 agent 远离密钥与大目录 | echo ".env\nnode_modules/" > .geminiignore |
cat ~/.gemini/settings.json | 查看用户级配置(模型/MCP/工具权限) | cat ~/.gemini/settings.json |
易错点与避坑指南
现象agent 反复读 .env 或在 node_modules 里搜索,每次会话都浪费时间并有泄漏风险
原因agent 默认扫描整个工作区,没有告诉它哪些路径应被忽略。
处置在项目根写 .geminiignore 列出 .env、node_modules/ 等敏感与冗余目录,缩小工作区映射范围。
现象会话进行到中途开始重复已有结论、响应变慢或被截断
原因对话累计 token 逼近上下文上限,早期内容被挤压,模型可用空间变小。
处置用 /context 查看当前用量,执行 /compress 总结压缩历史;长任务跨天用 /save 保存检查点,下次 /restore 接着做。
现象脚本里跑 -p 一直卡在某步不动,非交互环境没人点确认
原因默认审批模式下工具调用会等待人工确认,而 -p 无头会话没有终端可以响应。
处置无人值守场景显式指定 --approval-mode=yolo(比 -y 语义更清晰),并先用 --approval-mode plan 在只读模式验证任务可行性。
现象agent 直接改动了本分支的多个文件,想丢弃却只能手工 git 恢复
原因直接在主工作区运行,且未启用检查点,回滚只能靠版本控制。
处置运行前加 --checkpointing 以便 /restore 回退,或加 -w feat/xxx 在独立 git worktree 里干活,主分支不受影响。
现象想让 agent 参考某个设计文档,它说找不到文件或凭空编造内容
原因文件不在工作区映射范围内,或提示词里没有显式引用。
处置在提示词开头用 @./docs/architecture.md 显式注入;文件在工作区之外时用 --include-directories 加入映射。
现象改了 GEMINI.md 但 agent 行为没变化,仍按旧约定执行
原因会话启动时已加载上下文文件,磁盘上的新内容不会自动生效。
处置执行 /memory refresh 重新加载,或 /memory list 确认当前实际加载的是哪些文件。
现象接了多个 MCP 服务器后启动明显变慢,工具列表长到找不到想用的那个
原因所有 MCP 服务器与扩展都会在本会话注册,工具数量膨胀。
处置用 gemini mcp disable 停用暂时不用的服务器,或用 -e 限定本会话加载的扩展集合,用 /tools 确认实际可用工具。
现象在 CI / 服务器上跑时报认证错误,本机交互登录却正常
原因本机走的是浏览器 OAuth 凭据,而无头环境没有浏览器也没有凭据文件。
处置CI 场景改用 gemini --auth-method=api-key 并预先 export GEMINI_API_KEY;企业内可用 GOOGLE_GENAI_USE_VERTEXAI=true 走 Vertex AI。
排障路径
1确认安装与认证是否就绪
gemini --version; gemini --auth-method=api-key--version 能输出说明全局安装成功、PATH 已生效。随后指定 API key 认证方式并 export GEMINI_API_KEY,可确认无头环境下的凭据链路是否通。
2只读探索架构,不允许任何改动
gemini --approval-mode plan "探索架构"plan 模式下 agent 只读取与分析、不做编辑。先用它摸清项目结构,确认任务可行再切到 default 或 auto_edit,能避免一上来就产生难以回退的改动。
3无人值守的自动化调用
gemini -p "任务" -o json --approval-mode=yolo-p 执行完即退出,-o json 输出机器可解析结果便于脚本消费,--approval-mode=yolo 免掉人工确认。三者组合是 CI 集成的基础形态;执行前建议配合 --checkpointing 留退路。
4管理上下文用量与长任务续命
/context → /compress → /save先 /context 看当前 token 用量;接近上限时 /compress 总结历史释放空间;阶段性完成用 /save 保存检查点,下次 /restore 恢复继续,避免每次从头重述背景。
5核对 MCP 与扩展的实际状态
gemini mcp list; gemini -l; 会话内 /mcp list 与 /tools列表为空说明未配置;已列出但工具找不到时,在会话内用 /tools 确认是否真正注册成功(配置存在不等于本次会话已加载)。
6把项目约定固化进记忆文件
echo "构建: make build\n测试: go test ./..." > GEMINI.md; /memory refresh写入后用 /memory refresh 重载(或 /memory list 确认内容已加载)。之后每次会话都会自动读取这些命令,agent 不必每次都被重复告知。
7隔离危险操作与保留回滚路径
echo ".env\nnode_modules/" > .geminiignore; gemini -w feat/login --checkpointing.geminiignore 让 agent 远离密钥与大目录;-w 在独立 git worktree 中运行、--checkpointing 保留编辑快照,两者叠加后即便改动不理想也能完整回退。
命令示例
无头模式输出 JSON 供脚本解析
gemini -p -o json "对比当前代码与最近一次 tag 的 API 差异"-p 非交互即跑即退,-o json 再配 --save 可把结果落盘,是 CI 自动化的常用组合。
输出
(模型只输出结构化 JSON 供下游脚本消费,例如新增/删除的接口清单与风险提示)
一次性快速提问
gemini "帮我解释这个函数的递归逻辑"与 -p 相比,无参数的非交互调用同样即跑即退,无需进入 TUI。
输出
(直接在当前终端返回回答后退出,适合查文档片段与做单次决策)
初始化项目记忆文件
/init
echo "Build: make build\nTest: go test ./..." > GEMINI.md
/memory refreshGEMINI.md 每次会话自动加载,把项目约定沉淀其中可显著减少重复提示;敏感文件用 .geminiignore 排除。
输出
(/init 生成 GEMINI.md 骨架,补充构建/测试命令后 refresh 立刻生效,无需重启会话)
常见坑与注意事项
- 2M 长上下文一旦装进大量文件,首轮处理与响应时延会明显变长——把 GEMINI.md、.geminiignore 配置好,避免把 node_modules、日志等海量文件灌进上下文。
- -p 非交互调用即跑即退,默认没有人在批准文件修改与命令执行,需在配置里明确允许的范围,别默认放开所有写权限。
- GEMINI.md 里的约定会被模型每次自动遵守,改动它或项目依赖会改变后续行为;屏蔽敏感信息用 .geminiignore,别把 .env 之类的清进记忆文件。
- 用自定义模型端点时,第三方实现可能不支持全部原生能力(如工具调用、长上下文);生产化前先在受控仓库验证行为一致性。
提示
- 个人 Google 账号免费额度 1000 次/天,且开源可 fork,是长上下文(2M)和自托管场景的默认首选。
- 无头自动化用 `gemini -p -o json`,配合 --approval-mode=yolo(比已弃用的 -y 更规范)做无人值守任务。
- 把构建/测试命令写进 GEMINI.md,Gemini 每次会话自动加载,比反复提示更稳;用 .geminiignore 屏蔽 .env 等。
- 长任务跨 2M 上限时用 /compress 续命,用 /save + /restore 跨天保留会话。
常见问题
Gemini CLI 怎么在 CI 里无头运行?
用 -p(--prompt)打印模式,它执行完打印结果就退出,不进入交互界面。配合 GEMINI_API_KEY 环境变量提供认证即可,不要依赖本地登录态。计划类任务再叠加 --approval-mode plan 保持只读,避免 agent 在 CI 上意外改文件或执行命令。
--approval-mode 的几个值分别适合什么场景?
plan 只读规划,适合先让 agent 探索架构再动手;default 遇到需要确认的操作会停下来问你,适合日常开发;auto_edit 自动允许文件编辑但关键操作仍确认,是写代码的常用档位;yolo 全部自动批准,风险最高,只建议在隔离容器或一次性环境里使用。
对话太长超出上下文窗口怎么办?
用 /context 看当前 token 用量接近上限时,执行 /compress 把已有对话总结压缩后继续,它能跨过 2M 的上限继续工作;想彻底重来就用 /clear 重置对话。需要彻底换任务时,/clear 比继续在同一会话里追问更干净,能避免旧上下文干扰新任务的结果。
GEMINI.md 和 .geminiignore 各起什么作用?
GEMINI.md 放在项目根目录,每次会话自动加载,适合写项目约定,比如「构建用 make build,测试用 go test ./...」这类命令,agent 就不会再乱猜。.geminiignore 用来排除它不该读的文件,比如 .env 和 node_modules/,避免密钥被读进上下文、大目录拖慢响应。
怎样让 Gemini CLI 在独立工作区里改动,不影响当前分支?
用 -w/--worktree 指定分支名,它会新建一个 git worktree 并在里面运行,agent 的改动隔离在那个目录里,不弄脏你当前的分支。做完可以直接对比或合并。这是并行试多个方案、或让 agent 大范围改动时最安全的做法。
由 巧匠 维护
公开更新于 2026年8月5日,内容持续校对官方文档。