Gemini CLI实战指南:5个场景吃透终端AI助手,从代码审查到团队规范共享
【免费下载链接】gemini-cliAn open-source AI agent that brings the power of Gemini directly into your terminal.项目地址: https://gitcode.com/GitHub_Trending/gemi/gemini-cli
Gemini CLI 是一个开源的终端 AI 代理,把 Gemini 模型的能力直接搬进你的命令行:审代码、写功能、跑命令、管上下文,都在这一个工具里完成。下面按真实工作场景拆解它的五个核心用法。
接到一个 PR,怎么让 AI 按你的标准来审
很多人第一反应是直接问:"帮我看看这个改动有没有问题。"问题在于,"有没有问题"没有标准——你团队在乎的命名规范、错误处理方式,AI 默认并不知道。
Gemini CLI 的解法是技能(Skills):一个装了指令和资源的目录,需要时才加载进上下文,不占日常额度。项目里已经内置了一批现成的,比如.gemini/skills/code-reviewer/下的 code-reviewer 技能,它会先判断你给的是远程 PR 还是本地 diff,再走 preflight 检查、读 PR 描述、按正确性/可维护性/规范三条线分析,整个流程都写在 SKILL.md 里。
想加自己的标准也很简单,新建.gemini/skills/code-review-expert/SKILL.md:
# 代码审查专家技能 ## 核心原则 - 优先检查安全漏洞(SQL注入、XSS等) - 强制要求单元测试覆盖率 > 80% ## 审查清单 1. 检查API端点是否有身份验证 2. 验证输入数据清理 3. 确保错误处理完整会话开始后,CLI 会扫描技能列表并把名称、描述注入系统提示。模型一旦识别到任务匹配,就会调用activate_skill激活对应技能,你在界面里确认后,SKILL.md正文才进入对话历史。之后每次审代码,它都按你这份清单走,而不是泛泛而谈。
技能查找有明确的层级(从低到高):内置技能 → 扩展技能 → 用户级~/.gemini/skills/→ 工作区级.gemini/skills/。同名技能高层级覆盖低层级。这意味着把技能放进.gemini/skills/随仓库提交,全组人 clone 下来就是同一套审查标准;放进~/.gemini/skills/则是你个人的跨项目通用包。会话中用/skills list能随时查看当前加载了哪些。
团队十个人,能共用同一套项目上下文吗
规范解决了"怎么审",但还有一个更基础的问题:AI 得先知道这个项目是什么。技术栈、命名约定、错误处理模式,每次新开会话都重复讲一遍,谁都没那个耐心。
GEMINI.md 就是为此设计的持久上下文文件,分三层加载,优先级从低到高:
| 层级 | 位置 | 放什么 |
|---|---|---|
| 个人全局 | ~/.gemini/GEMINI.md | 你自己的偏好(语言习惯、常用工具链) |
| 项目级 | 项目根目录.gemini/GEMINI.md | 技术栈、代码规范、安全要求,随仓库共享 |
| 模块级 | 特定子目录的GEMINI.md | 该目录特有的约定,进入相关目录才生效 |
一份典型的项目级文件长这样:
# 技术栈约定 - 主语言:TypeScript 5.0+ - 框架:NestJS + Prisma - 数据库:PostgreSQL + Redis缓存 # 代码规范 - 接口命名以I开头(如IUserService) - 所有公共方法必须有JSDoc注释 - 错误处理使用Result模式 # 安全要求 - 所有API端点必须有速率限制 - 用户输入必须经过严格验证项目根放一份,提交进版本库,新人第一次让 AI 干活,它就已经懂你们的规矩了。官方对这块的说明在 GEMINI.md 文档。
敢不敢直接让 AI 改代码:Plan Mode 的决策
前两个场景都是只读的,风险低。真正让人犹豫的是第三步:让它动手。
这时应该切到 Plan Mode(计划模式)——一种只读审批模式,AI 只能调研和出方案,任何改动都要你确认。两种进入方式:
- 启动时指定:
gemini --approval-mode=plan "审查这个身份验证重构PR,重点关注向后兼容性" - 会话中随时切:输入
/plan 实现双因素认证,或者直接说"帮我规划一下……"
切进去后它先跟你讨论策略,达成一致才生成一份 Markdown 计划,你审阅、编辑、批准,然后它才开始执行。审查一个涉及兼容性的重构 PR,这种"先出图后动工"的节奏比直接放开手脚安全得多,也省得你事后回滚。
一张表选对配置:场景、命令、效果
零散讲完了,把日常会用到的开关合在一张表里,按需取用:
| 场景 | 配置方法 | 效果 |
|---|---|---|
| 团队统一规范 | 根目录提交.gemini/GEMINI.md+.gemini/skills/技能 | 所有人共享同一套审查标准和项目上下文 |
| 让 AI 只出方案不动手 | --approval-mode=plan或/plan | 只读模式,改动需逐条批准 |
| 大代码库分析 | gemini --include-directories src,lib,docs | 把工作区扩展到多目录,配合 1M token 上下文窗口 |
| CI/CD 集成 | --output-format json | 结构化输出,方便脚本解析结果 |
| 网络不稳定 | 本地模型路由(Gemma 等) | 离线也能跑,见 本地模型文档 |
| 查看当前技能 | 会话内/skills list | 确认技能加载与优先级 |
把 Gemini CLI 接进你现有的工具链
编辑器侧:VS Code Companion
终端里干活,编辑器是空的,两边上下文对不上。装 VS Code 配套扩展后,AI 能拿到你当前打开的文件、光标位置和选中代码,改完的 diff 直接在编辑器里审阅、接受。从命令面板执行 "Gemini CLI: Run" 即可拉起会话。
流水线侧:JSON 输出 + 发布工作流
把 CLI 塞进 CI 的关键只有一个参数:--output-format json。输出变成可解析的结构化数据后,"自动跑审查 → 生成发布说明 → 校验兼容性"这类流水线就搭得起来了。项目自己的发布流程就是走 Actions 工作流手动触发 patch 版本,172 次 run 记录里成功失败一目了然。
能力侧:MCP 接内部系统
MCP(Model Context Protocol,模型上下文协议)是扩展工具能力的标准接口。要连内部数据库、公司 API,不用改 CLI 本体,自己写一个 MCP 服务器暴露几个工具(比如query_internal_db)就行,注册进来后和内置工具一样被模型按需调用。具体写法参考 MCP 教程。
常见问题
AI 会不会偷偷改我的代码?不会。默认和 Plan Mode 下它只读,改文件前会有工具调用提示等你确认,批准了才落盘。
仓库太大,上下文装得下吗?Gemini 3 模型提供 1M token 上下文窗口,再配合--include-directories精确圈定要分析的目录,中等规模单体仓库基本够用。
断网的时候还能用吗?可以走本地模型路由,把请求打到本地运行的 Gemma 等模型,网络恢复前不阻塞开发。
技能能跨项目复用吗?能。放~/.gemini/skills/是个人级,任何项目都能加载;放.gemini/skills/随仓库走,则是团队级共享。
下一步
一套工具把"审代码、传规范、管权限、接流水线"串成了一条线,剩下的只是动手。今天就做一件事:在你的项目根目录建一个.gemini/GEMINI.md,把技术栈和三条最重要的代码规范写进去,再跑一次/skills list看看加载了什么。
【免费下载链接】gemini-cliAn open-source AI agent that brings the power of Gemini directly into your terminal.项目地址: https://gitcode.com/GitHub_Trending/gemi/gemini-cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考