<!-- title: 谷歌白送的AI码农，九成功能在吃灰 -->
<!-- domain: tips-tricks -->

# 谷歌白送的AI码农，九成功能在吃灰

很多人对 Gemini CLI 的印象还停留在“谷歌跟风出的命令行 AI”：装一下，问两句，然后回头继续用 Cursor。海外社区（HN、Reddit r/Bard）从 2025 年 6 月它开源那天起就没这么看过——因为翻开它的仓库文档你会发现，这个免费、Apache 2.0 开源的命令行工具，塞了一堆国内教程几乎没讲过的暗门：三层记忆系统、自定义斜杠命令、文件级“后悔药”、MCP 外挂、无头模式管道。今天这篇把其中 8 个最有价值的暗门一次拆完，每一个都能今晚就上手。

更香的是：阿里巴巴的 Qwen Code 就是直接 fork 自 Gemini CLI（仓库：github.com/QwenLM/qwen-code），所以这 8 招基本原样平移到国产 Qwen 上——学一次，两头白嫖。

## 先交代背景：它是什么，凭什么值得挖

- **安装**：`npm install -g @google/gemini-cli`，装完在项目根目录敲 `gemini` 回车，用个人 Google 账号登录即可。
- **价格**：个人账号登录免费使用。上线时官方公布的免费额度为每分钟 60 次、每天 1000 次请求（Pro 模型），现在的最新额度以官方文档为准；也可在 `/auth` 里切换成自己的 API Key 或 Vertex AI 按量付费。
- **定位**：和 Claude Code、Aider 同类——终端里的 AI 结对程序员。区别是它免费、开源、模型额度大方。

安装这步 90% 的人都会，真正的差距从敲下 `gemini` 之后开始。

## 暗门一：`!` 直通模式，终端里的终端

**怎么做**：在对话框里直接输入 `!git status` 或 `!npm test`。单独输入一个 `!` 可以切换整个 shell 模式，再按一次退出。

**效果**：命令不经过 AI、不烧 token，直接本地执行，但**执行输出会自动进入对话上下文**——AI 看得见，你可以紧接着问“这个报错怎么修”。

**适用场景**：跑测试、看日志、查端口占用之后再让 AI 分析结果。以前你需要复制粘贴，现在一个 `!` 搞定，上下文无缝衔接。

## 暗门二：`@` 引用整个目录，不只是单个文件

**怎么做**：输入 `@` 会弹出文件自动补全，这是常识；冷知识是 `@` 后面可以跟**目录**：`@src/utils/ 总结这个目录下所有模块的职责`。

**效果**：一次把整个目录的代码喂进上下文，不用一个个 `@` 文件。

**适用场景**：接手陌生项目让它画架构图、重构前让它盘点某个包里的重复逻辑。配合下一招的子目录记忆，威力翻倍。

## 暗门三：GEMINI.md 三层记忆系统（最被低估的一招）

大多数人知道项目根目录可以放 GEMINI.md 当项目说明书，但不知道它是**三层结构**：

1. **全局层**：`~/.gemini/GEMINI.md` —— 你的个人偏好（比如“回答用中文”“默认用 pnpm 不用 npm”），对所有项目生效；
2. **项目层**：项目根目录 `GEMINI.md` —— 项目约定（技术栈、目录结构、提交规范），团队可共享进 git；
3. **子目录层**：任何子目录都可以再放一个 GEMINI.md，当 AI 干活干到那个子目录时**按需加载**——大 Monorepo 里避免说明书互相污染。

三个配套命令：`/init` 让 AI 扫描项目自动生成一份初稿；`/memory add "这条记下来"` 在对话中随时追加；`/memory show` 查看当前生效的全部记忆。

还有一个几乎没人用的设置：在 `~/.gemini/settings.json` 里写 `"contextFileName": "AGENTS.md"`，把说明书文件名改成 AGENTS.md——这样 Codex、Cursor 等工具可以和它**共用同一份项目说明书**，一份维护，全家受益。

**怎么做**（5 分钟版）：项目根目录敲 `/init` → 人工补上团队规范 → 提交进 git。

```mermaid
flowchart TD
    A["终端敲 gemini 回车"] --> B["第一层:全局记忆<br/>~/.gemini/GEMINI.md"]
    B --> C["第二层:项目记忆<br/>根目录 GEMINI.md"]
    C --> D["第三层:子目录记忆<br/>干活时按需加载"]
    D --> E["对话中 memory add<br/>随时追加记忆"]
    E --> F["模型带着三层记忆干活"]
```

## 暗门四：自定义斜杠命令，把重复提示词变成 `/一行`

**怎么做**：在项目里建 `.gemini/commands/review.toml`（全局版放 `~/.gemini/commands/`），内容：

```toml
description = "以资深审查者身份审查改动"
prompt = """
请审查以下改动，按严重程度列出问题，最后给一行结论：
{{args}}
"""
```

**效果**：以后在任何对话里敲 `/review` 就是一套完整提示词，`{{args}}` 位置接收你的附加参数。放全局目录则跨项目通用；放进 git 全组共享，团队 prompt 规范从此不再是群公告里的“请用这段话”。

**适用场景**：代码审查、写周报、生成 commit message、按固定模板写测试——凡是你要“反复说同样的话”的场景。

## 暗门五：两副后悔药——文件回滚和对话回滚

- **文件级**：启动时加 `--checkpointing`，AI 每次改文件前自动存档，改崩了敲 `/restore` 一键还原到任意一步。
- **对话级**：`/chat save 分支A` 保存当前对话快照，`/chat list` 列出存档，`/chat resume 分支A` 读档。让 AI 试两条不同的重构路线？先存档再开跑，哪条不行读档重来。

**适用场景**：大规模重构、批量改动。免费工具配免费后悔药，比很多人想象中稳。

## 暗门六：省额度三件套——`/stats`、`/compress`、模型切换

免费额度也是钱，HF 社区调 API 的老哥们最懂。三个习惯：

1. **`/stats`**：随时查看本次会话 token 消耗明细，知道钱花在哪；
2. **`/compress`**：把冗长的历史对话压缩成一份摘要替换掉原上下文，长会话续命神器——上下文越肥，每次请求烧的额度越多，长对话定期压一次能省一大截；
3. **`/model` 切换**：跑腿活（改注释、写脚本）切到 flash 级小模型，硬仗（架构设计、复杂调试）再切回 Pro。全用 Pro 是最常见的浪费。

## 暗门七：MCP 外挂，让它自己开浏览器干活

Gemini CLI 原生支持 MCP（Model Context Protocol），改 `.gemini/settings.json`：

```json
{
  "mcpServers": {
    "browser": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}
```

**效果**：重启后它多了一双“手”——可以直接操作浏览器：打开你本地跑起来的页面、点按钮、填表单、截图回来分析。“改完这个 Bug 自己验一遍”从愿望变成一条指令。

配套两个自查命令：`/tools` 列出当前所有可用工具，`/mcp list` 查看 MCP 连接状态。接上 Playwright 只是入门，文件系统、数据库、Figma 等各类 MCP server 都能按同样格式挂进来（各 server 的具体配置以其官方文档为准）。

## 暗门八：无头模式管道——把它接进脚本和 CI

这是国内外教程差距最大的一块。Gemini CLI 有完整的非交互模式：

- `gemini -p "用一句话总结这个仓库是干嘛的"`：单发问、单发答，不进交互界面；
- `git diff | gemini -p "为这次改动写一条 commit message"`：标准输入管道，任何命令的输出都能喂给它；
- 配合官方提供的 GitHub Action，可以把 gemini 挂进 CI 流水线：PR 一提交自动审查、issue 自动打标签分诊——相当于给仓库配了个不要工资的第一遍审查员。

```mermaid
flowchart TD
    A["cron 定时任务"] --> B["脚本抓数据<br/>git diff 或日志"]
    B --> C["管道喂给 gemini -p"]
    C --> D["无界面模式直接出结论"]
    D --> E["写回文件或发通知"]
```

**适用场景**：日常脚本里加一步“AI 判断”、CI 里自动审 PR、定时任务跑日报。这一招让 Gemini CLI 从“聊天工具”升级成“可编排的自动化引擎”。

## 安全提醒：YOLO 模式别裸奔

加 `--approval-mode yolo` 可以让 AI 免确认自动执行一切，配合前两招确实爽，但等于把键盘整个交出去。正确姿势是套一层 `--sandbox`（基于 Docker/Podman 容器或 macOS Seatbelt 沙箱）再开 YOLO——先关进笼子，再放权限。

## 信息差总结

| 你以为的 | 实际上的 |
|---|---|
| Gemini CLI 就是个免费聊天框 | 它是能挂 MCP、能进 CI 的自动化引擎 |
| 提示词要每天重新打 | 三层 GEMINI.md + 自定义命令，一次沉淀终身复用 |
| 免费额度不经用 | `/stats` + `/compress` + 大小模型切换，能省一半以上 |
| 它只能人肉交互 | 无头模式 + 管道，是写给脚本和 CI 用的 |
| 国内用不上 | Qwen Code fork 自它，八招几乎原样通用 |

## 与国内方案的对比

- **Qwen Code**（github.com/QwenLM/qwen-code）：fork 自 Gemini CLI，本文八招基本通用（GEMINI.md 换成 QWEN.md），模型换 Qwen 系列，官方给 OAuth 登录用户留了可观的免费额度（具体数额以官方页面为准）。国内网络环境下的首选平替。
- **Claude Code**：能力上限更高，但按订阅收费，适合关键项目；Gemini CLI 免费额度适合当日常跑量主力。
- **各家 IDE 插件**：图形界面顺手，但“脚本化、CI 化”这最后一公里只有 CLI 能走。

## 行动指南（今晚就能做完）

1. `npm install -g @google/gemini-cli`，项目根目录 `gemini` 登录；
2. 敲 `/init` 生成项目说明书，补上团队规范后提交进 git；
3. 建一个 `.gemini/commands/review.toml`，把你最常重复的提示词固化成 `/命令`；
4. 按第七招配上 Playwright MCP，让它自己开浏览器验证页面；
5. 把“git diff 管道进 `gemini -p` 写 commit message”写进你的 shell 别名——这是最容易坚持下来的第一个自动化。

## 参考来源

1. Gemini CLI 官方仓库：https://github.com/google-gemini/gemini-cli
2. 官方仓库文档目录（slash 命令、MCP、checkpointing 详解）：https://github.com/google-gemini/gemini-cli/tree/main/docs
3. Google 官方文档站：https://developers.google.com/gemini-code-assist/docs/gemini-cli
4. Qwen Code（fork 自 Gemini CLI）：https://github.com/QwenLM/qwen-code
5. npm 安装页：https://www.npmjs.com/package/@google/gemini-cli

> 注：以上均为官方固定地址。个别命令参数可能随版本更新变化，以仓库 docs 目录的最新说明为准。

---
> 本文由「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)
