如果你还在为 Claude、Cursor 每月 20 美元订阅犹豫,那你大概率漏掉了一个 2025 年由 Google 开源、至今国内热度严重不匹配其价值的工具——Gemini CLI。一句话概括它的信息差:用 Google 账号登录(无需绑卡),就能在终端免费跑 Gemini 2.5 Pro,配额是每分钟约 60 次请求、每天 1000 次,外加 100 万 token 的上下文窗口。对个人开发者和小团队来说,这几乎等于一个"无限量"的旗舰模型终端 agent。
但真正的问题不在于"它免费",而在于90% 的人装上之后只把它当聊天框用——gemini 启动、问问题、复制答案、关掉。Gemini CLI 实际上内置了一套堪比 Claude Code 的工程化能力:检查点时光机、自定义斜杠命令、可热替换的系统提示词、多仓库工作区、会话存档续聊、扩展市场……这些能力藏在斜杠命令和配置文件里,文档散落各处。本文拆解 8 个国内几乎没人讲、但能立刻改变你用法的隐藏开关,每个都附具体命令和适用场景。
/restore:给 agent 装一个时光机这是被严重低估的第一神技。Claude Code 用户要靠 git 手动回滚,Cursor 要靠 checkpoint 历史,而 Gemini CLI 把"撤销"做成了一个一等公民命令。
怎么开:启动时加 --checkpointing,或在 ~/.gemini/settings.json 里写 "checkpointing": { "enabled": true }。开启后,每次 agent 要改文件之前,CLI 会自动拍一个快照。
怎么用:让 agent 干了十分钟活,发现它把一个模块重构坏了,直接:
/restore # 列出所有快照,带时间戳和触发动作
/restore 0 # 回滚到第 0 号快照
输出长这样:
0: [2025-09-22 10:30:15] Before running 'apply_patch'
1: [2025-09-22 10:45:02] Before running 'write_file'
预期效果:连文件带对话状态一起回到那个时间点,相当于 git reset --hard 但粒度细到"每一次工具调用"。适用场景:长链路重构、不确定方向的试验性修改、半夜让 agent 跑批。注意它不能撤销外部副作用(比如已经跑过的数据库迁移),所以关键项目仍要以 git 为主,/restore 当快速撤销用。
很多团队在 Notion 里维护"提示词模板",每次复制粘贴。Gemini CLI 让你把提示词直接做成命令。
操作:在 ~/.gemini/commands/(全局)或项目 .gemini/commands/(项目级)下建一个 TOML 文件,文件名即命令名。比如 ~/.gemini/commands/test/gen.toml 定义 /test:gen:
description = "根据需求生成 Jest 单测"
prompt = """
你是一位资深测试工程师。基于以下需求,写一份覆盖边界条件的 Jest 单测。
需求: {{args}}
"""
之后在会话里:
/test:gen "登录成功后跳转到 dashboard"
{{args}} 会被替换成你传入的参数。预期效果:把"角色设定 + 框架约束 + 输出格式"固化成团队标准,新人不用记提示词。适用场景:代码评审(/review:security)、SQL 生成、commit message、按团队规范生成 API 文档。把 .gemini/commands 提交进仓库,全队自动共享。
GEMINI_SYSTEM_MD:给 agent 换一颗"脑子"绝大多数人不知道,Gemini CLI 的系统提示词(决定 agent 行为准则的那段底层指令)是可以整体替换的。设一个环境变量即可:
export GEMINI_SYSTEM_MD="/path/to/custom_system.md"
gemini -p "用最高谨慎度完成任务 X"
设成 GEMINI_SYSTEM_MD=true 时,CLI 会去当前项目的 .gemini/system.md 找。预期效果:你不再受默认 agent 性格限制——可以让它变成一个"只读、绝不写文件"的安全审计员,或一个"永远先输出计划、等确认再执行"的保守型助手。适用场景:CI 里跑无人值守任务时锁死权限、给特定项目定制专属人格、做多 agent 角色分工。⚠️ 提醒:默认系统提示词里包含工具调用的重要约束,整段替换可能影响工具使用的稳定性,替换后务必先小范围验证。
-I:一个 agent 同时看前后端微服务、前后端分仓是常态。默认 gemini 只认当前目录,于是你只能在前端仓改完,手动把后端接口定义复制过去。多目录模式直接破掉这个限制:
gemini --include-directories "../backend:../frontend"
# 简写: gemini -I "../backend:../frontend"
或在 settings.json 里写 "includeDirectories": ["../shared-lib"]。会话中还能动态加:
/directory add ../common-utils
预期效果:agent 能同时读后端路由定义和前端 API 客户端,一句话"把 /users/create 改成 /users/register,前后端一起改"就能跨仓执行。适用场景:polyrepo 项目、共享库 + 业务仓、跨服务重构。/directory show 可随时查看当前工作区包含哪些目录。
/chat save + /chat resume:长任务跨天续命调试一个诡异 bug,聊了一小时没解决,得下班了——大多数 AI 工具关掉就丢上下文。Gemini CLI 内置了会话管理器:
/chat save memory-leak-bug # 用语义化名字存档
/quit
# 第二天
/chat list # 看所有存档
/chat resume memory-leak-bug # 接着昨天的上下文继续
预期效果:可以同时维护多条并行的工作线——一条改 API、一条写文档、一条追 bug,各自独立存档、互不污染。适用场景:跨天的复杂任务、需要"带着昨天的思路继续"的研究型工作、团队交接(/chat share 可导出会话文件)。
@ 引用:目录、图片、PDF 直接喂进去很多人知道 @文件 能引用单个文件,但低估了两件事:它能引用整个目录,以及它能喂图片。
# 引用整个目录(自动遵守 .gitignore / .geminiignore,不会把 node_modules 灌进去)
重构 @./utils/ 下所有代码,改成 async/await
# 多文件对比
对比 @./foo.py 和 @./bar.py 的差异
# 喂图片,触发多模态
看这张报错截图,帮我排查 @./error.png
预期效果:图片会被模型真正"看到",可以 OCR 发票、识别 UI 截图、给设计稿生成组件代码。配合 100 万 token 上下文,把整个中型项目的核心目录 @ 进去也不容易爆。适用场景:批量给图片按内容重命名(IMG_1234.jpg → login_screen.jpg)、从设计稿反推代码、解析扫描件表格。
--yolo(全量自动批准)很爽也很危险——agent 万一跑个 rm -rf 就完了。进阶玩法是只白名单安全命令,在 settings.json 里:
{
"tools": {
"shell": {
"autoApprove": ["git ", "npm test", "pytest", "ls ", "cat "]
}
}
}
预期效果:git status、跑测试这类只读/低风险命令不再每次问 Y/n,但删除、部署、迁移这类仍要你确认。适用场景:你想加速日常流、又不放心全自动的场景。搭配 --sandbox 让工具在 Docker 容器里执行,相当于给 YOLO 加一层保险。会话中 Ctrl+Y 可随时切换全局 YOLO 开关。
这是 Gemini CLI 最新、也最容易被忽略的能力——它有了官方扩展(Extensions)体系,把"提示词 + MCP server + 自定义命令 + 主题 + hooks + 子 agent"打包成可分发、可一键安装的插件。
gemini extensions install https://github.com/gemini-cli-extensions/workspace
/extensions list # 会话里查看已装扩展
比如官方的 Security 扩展装上后,会多出一个 /security:analyze 命令专门做安全审计。在扩展画廊(geminicliextensions.com)里能按分类浏览社区扩展。预期效果:你不用从零配 MCP、不用手写命令,别人封装好的工作流直接拿来用。适用场景:给 agent 接 Figma、接数据库、接内部系统,或把你团队的私有工作流封装成扩展内部分发。
下面这张图展示了把上述 8 个开关组合起来后,一个 Gemini CLI 重度用户的典型一天长什么样:
flowchart TD
A[启动: gemini --checkpointing -I '../backend:../frontend'] --> B[GEMINI.md 加载项目上下文<br/>GEMINI_SYSTEM_MD 定制人格]
B --> C{任务类型}
C -->|新功能| D[自定义命令 /test:gen 生成单测]
C -->|重构| E[@./utils 整目录喂入<br/>agent 跨前后端改码]
C -->|调试| F[图片 @error.png 多模态排查]
D --> G[选择性 YOLO 自动跑 pytest]
E --> H{改坏了?}
H -->|是| I['/restore 0' 时光机回滚]
H -->|否| J[git 提交]
F --> J
G --> J
I --> E
J --> K[/chat save feature-x 存档]
K --> L[次日 /chat resume 续聊]
L --> B
| 维度 | 大多数人以为 | 实际隐藏玩法 |
|---|---|---|
| 成本 | 好用的 agent 都要订阅($20/月) | Google 账号免费用 2.5 Pro,60 次/分钟、1000 次/天 |
| 撤销 | 只能靠 git 手动回滚 | /restore 把每次工具调用前的快照都存了 |
| 提示词 | 每次复制粘贴模板 | TOML 文件做成 /命令,团队共享 |
| 行为控制 | agent 性格固定 | GEMINI_SYSTEM_MD 整段换系统提示词 |
| 多仓库 | 只能在单仓里改 | -I 一次挂多个目录,跨仓联动 |
| 会话 | 关掉就丢上下文 | /chat save/resume 长任务跨天续 |
| 输入 | 只能贴文本 | @ 引用目录、图片、PDF,触发多模态 |
| 自动化 | 全有或全无确认 | autoApprove 白名单只放行安全命令 |
| 扩展 | 内置功能就那些 | extensions install 一行装社区工作流 |
npm i -g @google/gemini-cli,首次用 Google 账号登录(不绑卡)。海外网络/可访问 Google 的环境直接用;若你主要在国内,可用 API key(AI Studio 申请)配合代理,或在可信环境跑。--checkpointing 和上文 autoApprove 写进 ~/.gemini/settings.json,一劳永逸拿到"撤销键"和"低摩擦流"。.gemini/commands/ 下写一个 review/code.toml,把团队 Code Review 清单固化成 /review:code。/restore 回滚一次,下班前 /chat save,第二天 /chat resume 接着干——你会立刻理解为什么这不是个"聊天框"。一句话收尾:Gemini CLI 的真正价值,不在那个免费的 2.5 Pro,而在于它把 Claude Code 那套工程化能力开源、免费地搬进了你的终端——区别只在于,你有没有按下那些藏在斜杠命令里的开关。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
参考来源: - Gemini CLI Tips & Tricks(addyosmani,2.4k star,30 条 pro tips) - Gemini CLI 官方仓库(google-gemini/gemini-cli) - Gemini CLI Extensions 官方文档 - Introducing Gemini CLI(Google 官方博客,含免费额度说明) - Gemini CLI Cheatsheet(philschmid,斜杠命令速查)
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
