Gemini CLI 项目介绍
项目定位
Google 官方开源的终端 AI 编程助手,将 Gemini 模型直接集成到命令行工作流中,支持交互式 TUI、无头脚本和 SDK 编程三种模式。
核心能力
- 代码理解与生成:读写、编辑、调试代码,支持多模态输入(图片、PDF 等)
- 事件驱动的工具调度:基于 Scheduler 的并行/串行工具执行,支持批量并行执行和逐轮确认
- 多 Agent 架构:支持本地/远程子 Agent 委托执行,基于 A2A 协议可跨进程调度
- Skills 技能系统:支持内置、用户、工作区、扩展四层技能发现与激活
- Hooks 钩子系统:BeforeAgent/BeforeModel/AfterModel/BeforeToolSelection/AfterToolSelection 五类钩子可拦截和修改模型调用
- 高级上下文管理:基于图结构的 ContextManager + 多处理器管线,支持节点级增量渲染和令牌蒸馏
- 智能模型路由:CompositeStrategy 链式路由(Fallback → Override → ApprovalMode → Gemma 分类器 → 通用分类器 → 数值分类器 → Default)
- 对话检查点:基于 Git 的 checkpoint 系统,可在执行中途保存状态并恢复
- MCP 协议集成:原生支持 Model Context Protocol,可接入任意 MCP 服务器扩展工具
- 沙箱与策略引擎:Policy Engine 支持规则/安全检查器/Hook 检查器三层决策,集成多种沙箱实现
- SDK 可编程:提供
GeminiCliAgent / GeminiCliSession API,支持自定义工具、技能和异步事件流消费
技术栈
| 层级 | 技术 |
|---|
| 语言 | TypeScript (Node.js) |
| 构建 | Vite + esbuild |
| 测试 | Vitest |
| UI | React + Ink (TUI) |
| 模型 | Google GenAI SDK (@google/genai) |
| 包管理 | npm workspaces (monorepo) |
架构概览
快速体验
npm install -g @google/gemini-cli
教程导读
本教程分为 AI 应用 和 编程核心 两个部分:
AI 应用教程(ai/ 目录)
编程核心教程(dev/ 目录)
| 章节 | 主题 |
|---|
| 01 | Monorepo 架构与包设计 |
| 02 | 声明式工具定义模式 |
| 03 | React Ink TUI 工程 |
| 04 | Hooks 钩子系统实现 |
| 05 | 沙箱与策略引擎 |
| 06 | 测试策略 |