你可能听说过 Gemini CLI——Google 开源的终端 AI 助手,免费、1M token 上下文窗口、每天 1000 次请求。但你大概只把它当聊天机器人用了。实际上,海外开发者已经用 Gemini CLI 做出了一套完整的高级工作流:从系统提示词替换、多目录联合编辑、文件快照回滚,到无头模式自动化脚本、Google Docs 实时读取、甚至是文件智能整理。本文的每个技巧都来自 HN 403分的硬核指南和真实社区经验,看完你手里的 Gemini CLI 会变成一把完全不同的武器。
GEMINI.md 分层上下文——告别重复描述操作步骤:
.gemini/GEMINI.mdGEMINI.md,覆盖父级规则# .gemini/GEMINI.md
- 所有 Python 代码遵循 PEP 8
- 使用 4 空格缩进
- 数据管道优先用函数式编程范式
进阶用法: 用 @include 语法模块化管理上下文:
@./docs/prompt-guidelines.md
@./docs/api-conventions.md
运行 /init 命令可以自动检测技术栈并生成初始 GEMINI.md 模板。
为什么重要: 国内大多数用户还在每次对话重复输入项目背景。用分层 GEMINI.md,你可以设置全局默认(~/.gemini/GEMINI.md)+ 项目级覆盖 + 子目录级精细控制,三层体系。Claude Code 的 CLAUDE.md 只有两层,Gemini CLI 的三级上下文更灵活。
关键命令:
- /memory show — 查看当前加载的完整上下文
- /memory refresh — 手动重新加载上下文(团队协作时有用)
操作步骤:
# 启动时开启快照
gemini --checkpointing
# 或在 settings.json 中永久开启
# "checkpointing": { "enabled": true }
当 AI 对文件做了你不满意的修改时:
/restore list
# 输出:
# 0: [2026-06-01 10:30:15] Before running 'apply_patch'
# 1: [2026-06-01 10:45:02] Before running 'write_file'
/restore 0 # 回滚到指定快照
为什么重要: 这是 Claude Code 目前都没有原生支持的功能。每次 AI 修改文件前自动拍快照,不满意一条命令回滚。比 Git revert 更轻量,比手动备份更省心。对于"让 AI 先试试看"的探索性任务,这个功能是心理安全网。
适用场景: 大规模重构、实验性修改、你不完全信任 AI 输出时的安全网。
操作步骤:
# 启动时加载多个目录
gemini --include-directories "../backend:../frontend:../shared-libs"
# 或在 settings.json 中永久配置
# "includeDirectories": ["../backend", "../frontend"]
运行时动态添加:
/directory add ../another-service
/directory show # 查看当前所有工作目录
实际用例: 前后端分离项目,一条指令同时改两边:
# 前后端 API 路径变更,一步到位
API 端点 "/users/create" 改为 "/users/register",
同时更新 backend 路由和 frontend API 调用
为什么重要: Cursor 和 Claude Code 都默认在单个项目目录下工作。Gemini CLI 的多目录模式让它变成一个跨仓库的 AI 协调者——微服务架构下简直是救星。前端改了接口,后端同步适配,一个 prompt 搞定。
操作步骤:
# 替换整个系统提示词
export GEMINI_SYSTEM_MD="/path/to/custom_system.md"
gemini -p "执行任务 X,高精度输出"
# 管道输入 + 自动执行
cat error.log | gemini -p "分析上面的日志,找出根因"
# 设置系统提示词为 true 使用项目级 system.md
export GEMINI_SYSTEM_MD=true
高级玩法——定时任务自动化:
# crontab 每天早上生成报告
0 8 * * * gemini -p "抓取 https://news.site/top-stories 的头条,写入 headlines.txt" --yolo
为什么重要: GEMINI_SYSTEM_MD 环境变量让你完全替换掉默认系统提示词,这在 Claude Code 里需要 patch minified JS 文件才能做到(那个 41% 瘦身的操作)。Gemini CLI 原生支持,更安全、更简单。配合 --yolo 模式(自动确认所有操作),你可以把 Gemini CLI 变成一个无人值守的自动化 AI Agent。
适用场景: CI/CD 集成、定时数据处理、批量文件转换、日志分析自动化。
@ 引用 + 多模态——图片直接喂给 AI操作步骤:
# 引用代码文件
gemini> 解释这段代码:@./src/main.js
# 引用整个目录
gemini> 重构 @./utils/ 目录下的代码,改用 async/await
# 引用图片(多模态)
gemini> 描述这个截图中的 UI 布局:@./design/mockup.png
# 多文件对比
gemini> 对比 @./foo.py 和 @./bar.py 的差异
文件智能忽略: 自动尊重 .gitignore 和 .geminiignore,不会把 node_modules 之类的目录塞进上下文。
为什么重要: Gemini 2.5 Pro 拥有 100 万 token 的上下文窗口,远超 Claude 的 200K。这意味着你可以一次性塞进去更多文件做全局分析。图片理解能力让 Gemini CLI 能做 UI 代码还原、截图 Bug 分析、设计稿审查——这在其他 CLI 工具里需要额外配置 MCP 才能实现。
操作步骤:
# 添加 MCP 服务器
gemini mcp add myserver --command "python3 my_mcp_server.py" --port 8080
# 查看当前 MCP 工具
/mcp
Google Docs/Sheets 直读(杀手级功能):
# 配置 Workspace MCP 后直接读取
gemini> 总结这个设计文档的要点:https://docs.google.com/document/d/<id>
gemini> 这个 Sheet 里预算列的总和是多少?https://docs.google.com/spreadsheets/d/<id>
为什么重要: 这是中国用户最容易忽视的信息差——Gemini CLI 是唯一一个原生对接 Google Workspace 的终端 AI 工具。如果你在做出海业务、远程协作、或者公司用 Google Suite,这个功能意味着你可以让 AI 直接读取产品需求文档、分析数据表格、自动生成报告。Claude Code 和 Cursor 要实现同样的功能需要自己搭建 MCP Server。
安全注意: 自定义 MCP 工具默认需要确认。设置 trust: true 可以自动信任特定服务器的操作。
操作步骤:
~/.gemini/commands/test/gen.toml:# 调用方式: /test:gen "测试描述"
description = "根据需求生成单元测试"
prompt = """
你是一位资深测试工程师。根据以下需求,用 Jest 框架编写全面的单元测试。
需求:{{args}}
"""
/test:gen "确保登录成功后跳转到仪表盘"
团队共享: 把 .gemini/commands/ 目录提交到 Git,团队成员自动获得相同的命令集。
为什么重要: 这是 Gemini CLI 版的"Cursor Rules"——但更灵活。你可以创建安全审查命令 /review:security、代码重构命令 /refactor:extract、数据库操作命令 /db:reset 等。与 CLAUDE.md 的区别是:命令只在使用时加载,不浪费上下文空间。
操作步骤:
# 沙箱模式(在 Docker 容器中运行,安全)
gemini --sandbox --yolo
# 会话中切换(Ctrl+Y)
# 按 Ctrl+Y 开启/关闭自动确认
选择性自动确认(推荐做法):
// settings.json
{
"tools": {
"shell": {
"autoApprove": ["git ", "npm test", "ls", "cat"]
}
}
}
为什么重要: --yolo 让 AI 不再每步都问你确认,--sandbox 把 AI 关在 Docker 容器里。两个配合使用 = 安全的无人值守 AI Worker。这在 Claude Code 里需要手动配置 Docker + tmux 编排才能实现。Gemini CLI 一条命令搞定。
flowchart TB
subgraph 输入层["输入层"]
A["@ 文件引用<br/>代码/图片/目录"]
B["管道输入<br/>命令输出直传"]
C["语音转文字<br/>本地 Whisper"]
D["Google Docs<br/>Workspace MCP"]
end
subgraph 上下文管理["上下文管理层"]
E["GEMINI.md<br/>三级分层上下文"]
F["/memory 持久记忆<br/>跨会话知识库"]
G["/compress 压缩<br/>长对话摘要"]
end
subgraph 执行控制["执行控制层"]
H["Checkpoint 快照<br/>一键回滚"]
I["YOLO + Sandbox<br/>无人值守"]
J["自定义命令<br/>Slash Commands"]
K["无头模式<br/>脚本自动化"]
end
subgraph 工作区["工作区"]
L["多目录联合<br/>跨仓库编辑"]
M["MCP 扩展<br/>无限集成"]
end
输入层 --> 上下文管理
上下文管理 --> 执行控制
执行控制 --> 工作区
style 输入层 fill:#e8f5e9
style 上下文管理 fill:#fff3e0
style 执行控制 fill:#e3f2fd
style 工作区 fill:#fce4ec
| 维度 | 你可能知道的 | 别人已经玩起来的 |
|---|---|---|
| 价格 | Gemini CLI 免费 | 免费额度 60次/分钟,1000次/天,足够日常开发 |
| 上下文 | 可以聊天 | 100万 token 上下文,可塞进整个项目 |
| 回滚 | AI 改错了用 Git 还原 | Checkpoint 原生快照,一条 /restore 回滚 |
| 跨项目 | 一个项目一个窗口 | --include-directories 多仓库联合编辑 |
| 自动化 | 手动敲命令 | GEMINI_SYSTEM_MD + --yolo + crontab = AI 定时任务 |
| 文档集成 | 复制粘贴到对话框 | Workspace MCP 直接读 Google Docs/Sheets |
| 图片 | 只能处理文字 | @image.png 多模态,截图 UI 分析、图片重命名 |
| 团队 | 每人自己配置 | .gemini/commands/ 提交 Git,团队共享命令 |
第一步(5分钟):安装 + 配置 GEMINI.md
npm install -g @google/gemini-cli
gemini # 首次运行用 Google 账号登录,免费
# 在项目中运行 /init 生成初始 GEMINI.md
第二步(15分钟):体验杀手功能
- 试试 --checkpointing 启动 + /restore 回滚
- 试试 @./screenshot.png 让 AI 看图说话
- 试试 --include-directories 加载两个项目同时操作
第三步(30分钟):打造你的自动化工作流
- 创建一个自定义 Slash 命令
- 配置 GEMINI_SYSTEM_MD 定制 AI 行为
- 如果需要自动化,试试 gemini -p "..." --yolo --sandbox
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!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 等场景全覆盖。
