<!-- title: Gemini CLI八大隐藏神技：免费白嫖的AI编码神器 -->
<!-- domain: tips-tricks -->

# Gemini CLI八大隐藏神技：免费白嫖的AI编码神器

## 导语

你可能听说过 Gemini CLI——Google 开源的终端 AI 助手，免费、1M token 上下文窗口、每天 1000 次请求。但你大概只把它当聊天机器人用了。实际上，海外开发者已经用 Gemini CLI 做出了一套完整的高级工作流：从系统提示词替换、多目录联合编辑、文件快照回滚，到无头模式自动化脚本、Google Docs 实时读取、甚至是文件智能整理。本文的每个技巧都来自 HN 403分的硬核指南和真实社区经验，看完你手里的 Gemini CLI 会变成一把完全不同的武器。

---

## 技巧1：`GEMINI.md` 分层上下文——告别重复描述

**操作步骤：**

1. 在项目根目录创建 `.gemini/GEMINI.md`
2. 写入项目约束、技术栈、代码风格等持久化指令
3. 在子目录中可以创建更具体的 `GEMINI.md`，覆盖父级规则

```markdown
# .gemini/GEMINI.md
- 所有 Python 代码遵循 PEP 8
- 使用 4 空格缩进
- 数据管道优先用函数式编程范式
```

**进阶用法：** 用 `@include` 语法模块化管理上下文：

```markdown
@./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` — 手动重新加载上下文（团队协作时有用）

---

## 技巧2：Checkpoint 快照回滚——AI 专属 Undo 按钮

**操作步骤：**

```bash
# 启动时开启快照
gemini --checkpointing

# 或在 settings.json 中永久开启
# "checkpointing": { "enabled": true }
```

当 AI 对文件做了你不满意的修改时：

```bash
/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 输出时的安全网。

---

## 技巧3：多目录联合工作区——跨仓库同时编辑

**操作步骤：**

```bash
# 启动时加载多个目录
gemini --include-directories "../backend:../frontend:../shared-libs"

# 或在 settings.json 中永久配置
# "includeDirectories": ["../backend", "../frontend"]
```

运行时动态添加：

```bash
/directory add ../another-service
/directory show    # 查看当前所有工作目录
```

**实际用例：** 前后端分离项目，一条指令同时改两边：

```bash
# 前后端 API 路径变更，一步到位
API 端点 "/users/create" 改为 "/users/register"，
同时更新 backend 路由和 frontend API 调用
```

**为什么重要：** Cursor 和 Claude Code 都默认在单个项目目录下工作。Gemini CLI 的多目录模式让它变成一个跨仓库的 AI 协调者——微服务架构下简直是救星。前端改了接口，后端同步适配，一个 prompt 搞定。

---

## 技巧4：无头模式 + 自定义系统提示词——把 AI 变成脚本引擎

**操作步骤：**

```bash
# 替换整个系统提示词
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
```

**高级玩法——定时任务自动化：**

```bash
# 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 集成、定时数据处理、批量文件转换、日志分析自动化。

---

## 技巧5：`@` 引用 + 多模态——图片直接喂给 AI

**操作步骤：**

```bash
# 引用代码文件
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 才能实现。

---

## 技巧6：MCP 扩展 + Google Workspace 直连

**操作步骤：**

```bash
# 添加 MCP 服务器
gemini mcp add myserver --command "python3 my_mcp_server.py" --port 8080

# 查看当前 MCP 工具
/mcp
```

**Google Docs/Sheets 直读（杀手级功能）：**

```bash
# 配置 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` 可以自动信任特定服务器的操作。

---

## 技巧7：自定义 Slash 命令——把最佳实践固化为一键操作

**操作步骤：**

1. 创建命令文件 `~/.gemini/commands/test/gen.toml`：

```toml
# 调用方式: /test:gen "测试描述"
description = "根据需求生成单元测试"
prompt = """
你是一位资深测试工程师。根据以下需求，用 Jest 框架编写全面的单元测试。

需求：{{args}}
"""
```

2. 重启 Gemini CLI 后直接使用：

```bash
/test:gen "确保登录成功后跳转到仪表盘"
```

**团队共享：** 把 `.gemini/commands/` 目录提交到 Git，团队成员自动获得相同的命令集。

**为什么重要：** 这是 Gemini CLI 版的"Cursor Rules"——但更灵活。你可以创建安全审查命令 `/review:security`、代码重构命令 `/refactor:extract`、数据库操作命令 `/db:reset` 等。与 CLAUDE.md 的区别是：命令只在使用时加载，不浪费上下文空间。

---

## 技巧8：YOLO 模式 + 沙箱——让 AI 全自动干活

**操作步骤：**

```bash
# 沙箱模式（在 Docker 容器中运行，安全）
gemini --sandbox --yolo

# 会话中切换（Ctrl+Y）
# 按 Ctrl+Y 开启/关闭自动确认
```

**选择性自动确认（推荐做法）：**

```json
// settings.json
{
  "tools": {
    "shell": {
      "autoApprove": ["git ", "npm test", "ls", "cat"]
    }
  }
}
```

**为什么重要：** `--yolo` 让 AI 不再每步都问你确认，`--sandbox` 把 AI 关在 Docker 容器里。两个配合使用 = 安全的无人值守 AI Worker。这在 Claude Code 里需要手动配置 Docker + tmux 编排才能实现。Gemini CLI 一条命令搞定。

---

## 技巧全景图

```mermaid
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，团队共享命令 |

---

## 行动指南：今天就能开始的 3 步

**第一步（5分钟）：安装 + 配置 GEMINI.md**
```bash
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`

---

## 参考来源

1. [Gemini CLI Tips & Tricks - Addy Osmani (HN 403分)](https://github.com/addyosmani/gemini-cli-tips) — 本文核心来源，~30个专业技巧的权威指南
2. [32 Claude Code Tips: From Basics to Advanced - YK (Substack)](https://agenticcoding.substack.com/p/32-claude-code-tips-from-basics-to) — 对比参考：Claude Code 高级编排技巧
3. [Gemini CLI 官方仓库](https://github.com/google-gemini/gemini-cli) — 安装和官方文档
4. [Phil Schmid 的 Gemini CLI Cheatsheet](https://www.philschmid.de/gemini-cli-cheatsheet) — 命令速查表
5. [7 Insane Gemini CLI Tips - Dev.to](https://dev.to/therealmrmumba/7-insane-gemini-cli-tips-that-will-make-you-a-superhuman-developer-2d7h) — 文件整理和图片重命名技巧

---

> 本文由「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 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
