如果你只知道 Claude Code、Cursor,那你正在错过海外终端圈这半年最"白"的一把刀——Gemini CLI。这是 Google 自己开源(Apache 2.0)、装在终端里跑的 AI agent,登录一个普通 Google 账号就白送 每分钟 60 次、每天 1000 次的额度,配的是 Gemini 3 级别模型和 1M token 上下文窗口。
问题是,国内九成人把它当"问答框"用:装好,问一句,答一句,没了。但翻一遍它的官方仓库 docs/cli/ 目录你会发现,这玩意儿藏着 auto-memory、model steering、本地 Gemma 路由、token 缓存、rewind 时光机、checkpointing 影子 Git、headless 无头模式、custom commands——整整八道暗门。今天逐个拆,每个都给你操作步骤 + 预期效果 + 适用场景,抄完立刻能用。
这是我个人认为最被低估的一个。绝大多数人手写 GEMINI.md 写到手酸,但 Gemini CLI 有个实验性功能叫 Auto Memory,它会在后台翻你过去的会话记录,自动提炼出"可复用的记忆"和"可复用的技能(SKILL.md)",写成 .patch 补丁,丢进一个收件箱等你审批。
操作步骤:
1. 打开 ~/.gemini/settings.json(全局)或项目里的 .gemini/settings.json(仅当前项目);
2. 加入:
json
{ "experimental": { "autoMemory": true } }
3. 重启 Gemini CLI;
4. 之后任意时刻输入 /memory inbox 打开收件箱,可以 Read / Promote(提升为正式 skill)/ Discard / Apply。
触发条件(它不会乱挖): 只处理空闲超过 3 小时且至少有 10 条用户消息的会话,正在跑的、太短的、子 agent 的会话一律忽略。提取跑在 Gemini Flash 预览模型上,且默认没强证据不产出任何东西,不会污染你的记忆。
预期效果: 你不用手写每一个 SKILL.md。比如你三次会话都让它"先跑 pnpm test:unit 再改代码",它会自己把这个流程提炼成一个 skill,下次直接复用。适用于: 有固定工作流、反复踩同一个坑、想给团队沉淀 SOP 的人。
信息差点:Claude Code 那边社区还在手搓 skill 库,Gemini CLI 这边已经能"自动挖矿"了。
普通 agent 跑起来就是个黑盒,你想纠偏只能 Ctrl+C 打断重来。Model Steering 让你在模型正在转圈(spinner 转动)的时候直接输入文字、回车,它会把这段话塞进下一轮上下文,模型当场重新评估计划。
操作步骤:
1. /settings 里搜 Model Steering 打开;或在 settings.json 写 "experimental": { "modelSteering": true };
2. 开始一个任务,比如"重构数据库服务";
3. 看到它往错方向走时,在输入框打字(不用等它停),回车。
常用纠偏话术(直接抄):
- 纠正路径: "Actually, the utilities are in src/common/utils."
- 跳过步骤: "Skip the unit tests for now and just focus on the implementation."
- 补上下文: "The User type is defined in packages/core/types.ts."
- 改方向: "Stop searching the codebase and start drafting the plan now."
预期效果: 省掉"打断→重启→重新喂上下文"这一整套,长任务里能省几十次来回。适用于: Plan Mode 长任务、复杂重构、agent 容易跑偏的场景。
这是省钱暗门。Gemini CLI 默认把"该用哪个模型"这种路由判断也发给云端模型,吃你的额度。它支持用本地跑的 Gemma 模型来做路由决策,延迟差不多,但不花云端 token。
操作步骤:
gemini gemma setup
跟着向导走完即可,之后 settings.json 里会开启本地路由器。模型选择的优先级链是这样的(记住这条,下面要考):
flowchart TD
A[启动 Gemini CLI] --> B{--model 命令行参数?}
B -- 有 --> M1[用 --model 指定的模型]
B -- 没有 --> C{GEMINI_MODEL 环境变量?}
C -- 有 --> M2[用 GEMINI_MODEL]
C -- 没有 --> D{settings.json model.name?}
D -- 有 --> M3[用 model.name]
D -- 没有 --> E{本地 Gemma 路由器开启?}
E -- 是 --> M4[本地 Gemma 决定路由到哪个模型]
E -- 否 --> F[默认 auto 自动路由]
M1 --> Z[执行当前请求]
M2 --> Z
M3 --> Z
M4 --> Z
F --> Z
预期效果: 路由判断这种"小而频繁"的调用不再消耗云端配额。适用于: 重度用户、想压低 API 成本的团队。
这是最反直觉、也最值钱的一个信息差。Gemini CLI 有 token 缓存功能,能复用之前的系统指令和上下文,大幅减少后续请求处理的 token 数。但官方文档白纸黑字写着:
Token caching 适用于:API key 用户(Gemini API key)、Vertex AI 用户。 Token caching 不适用于:OAuth 用户(Google 个人/企业账号)——Code Assist API 暂不支持缓存内容创建。
翻译成人话:你用 Google 账号 OAuth 登录白嫖的那 1000 次/天,是没有 token 缓存的! 同样的长上下文反复请求,OAuth 模式每次都全量计费。
操作步骤:
1. 去 Google AI Studio 申请一个 API key;
2. export GEMINI_API_KEY="你的key",或写进 settings.json;
3. 跑 /stats,输出里会显示 cached token savings(缓存省了多少 token)。
预期效果: 重度长上下文场景下,缓存命中能省下一大笔 token。适用于: 把大代码库/长文档反复喂进去迭代的人。别适用: 只是偶尔问答的轻用户,OAuth 免费额度够用,没必要上 key。
agent 改崩了代码怎么办?/rewind 一键回到之前的任意一步,而且精细到三档可选。
操作步骤:
- 输入 /rewind 回车,或者直接连按两下 Esc;
- 用上下键在历史交互列表里选一个点(最底的最近),右侧预览显示该步的用户 prompt 和改了几个文件;
- 回车确认后,三选一:
1. Rewind conversation and revert code changes(对话和代码都回退)
2. Rewind conversation(只回退对话,代码改动保留)
3. Revert code changes(只回退代码,对话保留)
预期效果: agent 跑歪了不用从头来,精准回到岔路口换条路。注意: rewinding 只撤销 AI 编辑工具的改动,你手改的、或用 shell ! 跑的命令改动它不管;跨压缩点也能用(它会从存储的 session 数据重建历史)。
配合 Rewind 用的还有个更强的:Checkpointing。每次 AI 要改文件前,它会自动在你主目录下一个影子 Git 仓库里做一次快照(commit),完全不碰你项目自己的 Git。
操作步骤:
1. 在 settings.json 里加(注意:--checkpointing 命令行参数在 0.11.0 版本已被移除,只能走配置文件):
json
{ "general": { "checkpointing": { "enabled": true } } }
2. 快照存在 ~/.gemini/history/<project_hash>,对话历史和工具调用存 JSON 在 ~/.gemini/tmp/<project_hash>/checkpoints;
3. 输入 /restore 列出所有快照(文件名形如 2026-07-11T10-00-00_000Z-my-file.txt-write_file),选一个恢复——它会把文件回滚、对话还原、并重新提议当初那个工具调用,让你再跑/改/忽略。
预期效果: 敢让 agent 大刀阔斧改代码了,反正随时 /restore 回来。适用于: 大重构、实验性改动、不信任 agent 改动的谨慎派。
Gemini CLI 不只能交互,它能在脚本/CI 里非交互式运行,吐结构化 JSON。这是把它从"工具"升级成"基础设施"的钥匙。
操作步骤:
# 最简:-p 传 prompt
gemini -p "总结这个仓库的架构"
# 要结构化输出
gemini -p "列出所有 TODO" --output-format json
# 要流式事件(JSONL)
gemini -p "重构入口文件" --output-format json
JSON 输出 schema: response(最终答案)、stats(token 用量、API 延迟)、error(可选)。流式模式吐 init / message / tool_use / tool_result / error / result 几种事件。
退出码(写 CI 脚本必背):
| 退出码 | 含义 |
|--------|------|
| 0 | 成功 |
| 1 | 一般错误 / API 失败 |
| 42 | 输入错误(prompt 或参数无效)|
| 53 | 轮次超限(turn limit exceeded)|
预期效果: 把 Gemini CLI 嵌进 GitHub Action、cron、shell 管道,做自动 PR review、issue 分诊。适用于: DevOps、想做 AI 自动化流水线的人。官方还专门有 Gemini CLI GitHub Action,在 issue/PR 里 @gemini-cli 就能召唤它。
/命令最后这个是把"重复劳动"固化的。你天天打的那个 prompt,存成 .toml 文件,以后一个 /命令 搞定,还能带参数、跑 shell、注入文件。
操作步骤:
1. 全局命令放 ~/.gemini/commands/,项目命令放 <项目>/.gemini/commands/(项目同名命令永远覆盖全局,可提交进 git 团队共享);
2. 命名即命名空间:子目录用 /,渲染成 :。比如 git/commit.toml → /git:commit;
3. 改完跑 /commands reload 热加载,/commands list 看全部;
4. 文件用 TOML v1 格式:
# ~/.gemini/commands/git/commit.toml → /git:commit
description = "基于 staged 改动生成 Conventional Commit 消息"
prompt = """
请基于下面这段 git diff 生成 Conventional Commit 消息:
!{git diff --staged}
"""
三个魔法占位符(核心):
- {{args}}——把命令后面的参数注入。在 shell 块 !{...} 里会自动 shell 转义,防注入;
- !{...}——在 prompt 里直接跑 shell 命令并把输出注入(会先让你确认,安全检查);
- @{...}——注入文件/目录内容,且支持多模态:指向 PNG/JPEG/PDF/音频/视频会正确编码成多模态输入,目录会递归列文件(尊重 .gitignore / .geminiignore)。
组合技示例: /review FileCommandLoader.ts,prompt 里写 @{docs/best-practices.md},它会把最佳实践文档内容 + 你给的文件名一起喂进去做 review。
预期效果: 团队 SOP 一键化,新人 /<命令> 就能跑标准流程。适用于: 有重复 review/commit/changelog/test 流程的团队。
| 维度 | 你知道的(10%) | 别人知道但你不知道的(90%) |
|---|---|---|
| 定位 | 免费问答框 | 开源 agent,1000次/天、1M上下文、Gemini 3 |
| 记忆 | 手写 GEMINI.md | Auto Memory 自动挖 skill 库 |
| 控制 | 跑崩了只能重启 | Model Steering 运行中插话 |
| 成本 | 免费登录最香 | OAuth 不给 token 缓存,API key 才给 |
| 撤销 | 手动 git reset | 双击 Esc rewind + 影子 Git checkpointing |
| 自动化 | 只能交互 | Headless + 退出码 42/53,可进 CI |
| 复用 | 复制粘贴 prompt | Custom Commands:!{} @{} {{args}} 三连 |
npm install -g @google/gemini-cli,Google 账号登录,先吃满每天 1000 次免费额度。"autoMemory": true + "modelSteering": true,立刻拿到暗门一、二。/stats 看 token 缓存省了多少(暗门四)。/git:commit 抄一个,体会 !{} 注入的爽感。本文由「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 等场景全覆盖。
