聊Agent编程工具,国内圈子里翻来覆去就是Claude Code、Cursor、Copilot三件套。但海外GitHub上还有一个免费到离谱的选手被严重低估了:谷歌官方的 Gemini CLI(github.com/google-gemini/gemini-cli)。开源(Apache 2.0)、个人Google账号登录就送每天1000次请求、每分钟60次,模型是Gemini 3系列,100万token上下文窗口。对比一下:Claude Code要么绑Pro订阅(20美元/月)要么API按量付费,Gemini CLI这个免费额度几乎是白送一整个终端Agent。
但问题也在这儿——绝大多数人装完它就拿来问两句代码、聊聊天,把它当成了命令行版聊天框。我翻了它最近更新的官方文档(geminicli.com/docs),发现这玩意儿的真实形态是一个可以自己改造的自动化工作台。下面8个玩法,按“杀伤力”排序,全部来自官方文档实测可查,不是玄学。
这是我认为Gemini CLI最被低估的功能,等于让你给自己写“私有Skill”。
操作步骤:在 ~/.gemini/commands/ 下建一个TOML文件,比如 ~/.gemini/commands/git/commit.toml:
description = "根据暂存区改动生成提交信息"
prompt = """
请基于以下 git diff 生成一条 Conventional Commit 提交信息:
```diff
!{git diff --staged}
"""
保存后在CLI里输入 `/git:commit`,它会自动执行 `git diff --staged`,把真实输出塞进prompt再发给模型——**先跑shell拿数据,再让AI基于数据干活**,一气呵成。
几个关键机制(来自官方custom-commands文档):
- **子目录即命名空间**:`git/commit.toml` 自动变成 `/git:commit`,可以组织出一整套命令树
- **`{{args}}` 占位符**:命令后面打的字会注入prompt;在 `!{...}` 里使用时还会自动做shell转义,防注入
- **`@{文件路径}` 注入**:直接把文件内容嵌进prompt,图片、PDF、音频、视频都支持多模态注入
- **项目级覆盖全局级**:`.gemini/commands/`(项目内)的同名命令会覆盖 `~/.gemini/commands/`(全局),而且项目级命令可以提交进git仓库——**团队共享一套AI操作规范**,新人clone下来就有同款工作流
适用场景:代码评审(注入团队规范文档+待审文件)、changelog维护、固定格式的周报生成。你每天重复超过三次的prompt,都值得变成一条命令。
整个执行管线长这样:
```mermaid
flowchart TD
A["输入 /git:commit"] --> B["读取项目内 TOML 命令文件"]
B --> C["解析 !{git diff --staged}"]
C --> D["弹窗确认真实 Shell 命令"]
D --> E["执行并捕获输出"]
E --> F["输出注入进完整 prompt"]
F --> G["发送给 Gemini 生成提交信息"]
很多人要么全程手动点确认点到崩溃,要么直接开YOLO模式裸奔。其实官方设计了三档审批模式,在输入框按 Shift+Tab 循环切换:default(每步确认)→ auto_edit(自动批准文件编辑)→ plan(只读规划模式,Agent只看不动手)。
正确的打开方式是:复杂任务先切plan模式让它出方案,确认无误后切auto_edit放手让它改。另外 Ctrl+Y 可以随时开关YOLO(全自动批准)模式——注意这是全局开关,跑危险操作前记得关回来。
手滑让AI改崩了代码?快速连按两次 Esc 可以回溯浏览之前的交互记录,跳回任意一步重来。配合官方的Checkpointing(会话检查点)机制,复杂任务的中间状态可以保存恢复。这个功能Claude Code用户羡慕了很久,Gemini CLI这边是直接内置的。
gemini -p "你的指令" 就是非交互模式,再加 --output-format json 拿结构化输出,--output-format stream-json 拿逐行JSON事件流(适合监控长任务)。这意味着Gemini CLI可以当免费的可编程AI后端用:
@gemini-cli 还能按需召唤它来调试——1000次/天的免费额度直接变成了免费CI机器人类似Claude Code的CLAUDE.md,Gemini CLI用 GEMINI.md 做持久上下文:全局的放 ~/.gemini/GEMINI.md(你的编码偏好、常用技术栈),项目级的放仓库根目录(架构约定、禁改区域、提交规范)。分层加载意味着一份全局人设+每项目一份局部规则,不用每次开场白重复交代背景。
在 ~/.gemini/settings.json 里配置MCP服务器,之后直接用 @服务器名 调用:
> @github 列出我所有打开的 PR
> @slack 把今天的提交摘要发到 #dev 频道
> @database 查一下最近30天没活跃的用户
一个终端会话里串起代码库、通讯工具和数据库,这才是Agent该有的样子。官方文档还给了一个MCP调用Imagen/Veo/Lyria做图片、视频、音乐生成的示例(vertex-ai-creative-studio的mcp-genmedia项目),媒体生成管线也能命令行化。
从官方快捷键参考页里挑几个最实用的:
| 按键 | 效果 |
|---|---|
Ctrl+R |
反向搜索历史prompt,同Linux shell习惯 |
Ctrl+G |
把当前prompt扔进外部编辑器写——长prompt别在终端里硬敲 |
Ctrl+T |
展开完整TODO任务列表,盯Agent进度 |
Ctrl+B |
查看/切换后台shell,长命令不阻塞对话 |
Alt+M |
切换Markdown渲染,复制原始文本时必备 |
Tab+Tab |
极简/完整UI切换,小屏幕救命 |
?(空输入时) |
呼出快捷键速查面板 |
| 空格(Voice Mode) | 按住说话的语音模式,开车复习代码思路用 |
/vim |
开启Vim编辑模式,NORMAL/INSERT全套支持,dd、cw、5j都能用 |
Vim党看到最后一条应该已经想去装了。
Gemini CLI每周二UTC 20:00发stable版,前一晚23:59发preview版,nightly每天UTC 00:00滚main分支。想尝鲜用 npm install -g @google/gemini-cli@preview,求稳用 @latest。国内用户安装走 npm install -g @google/gemini-cli 或macOS下 brew install gemini-cli 即可,也可以 npx @google/gemini-cli 零安装直跑。
| 维度 | 你以为的Gemini CLI | 实际的Gemini CLI |
|---|---|---|
| 定位 | 命令行聊天框 | 可编程的终端Agent工作台 |
| 价格 | 要么付费要么有限免费 | 个人账号1000次/天、60次/分钟,全功能 |
| 工作流 | 每次手敲长prompt | TOML自造命令,团队git共享 |
| 自动化 | 只能交互式用 | 无头模式+GitHub Action,免费CI机器人 |
| 安全 | 只能全手动或全裸奔 | 三档审批模式+shell命令强制确认弹窗 |
| 犯错成本 | 改崩了重来 | Esc Esc时光机+Checkpointing |
npm install -g @google/gemini-cli,Google账号OAuth登录,零配置零费用/git:commit 的TOML抄进 ~/.gemini/commands/git/,体验shell注入@{规范.md} 注入,做一个 /review 命令Gemini CLI官方还和DeepLearning.AI合作出了一门免费课(搜"Gemini CLI"即可找到),想系统学的可以白嫖。工具是免费的,信息差是有价的——现在你知道了。
本文由「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 等场景全覆盖。
