基于官方 google-gemini/gemini-cli 整理的本地学习仓库:保留可运行源码,并附分阶段笔记。原项目说明见 README.upstream.md。
官方文档:geminicli.com/docs · 仓库自述:GEMINI.md
| 路径 | 内容 |
|---|---|
packages/cli/ |
终端 UI(Ink)、交互入口 |
packages/core/ |
API、prompt、tools、agent loop |
packages/sdk/ |
无 UI 嵌入同一套 loop |
learning/ |
分阶段学习笔记(Phase 0–5) |
LEARNING.md |
学习路径总览与阅读顺序 |
docs/ |
上游产品 / 贡献者文档 |
README.upstream.md |
上游项目原 README |
把 Gemini 放进终端:理解代码、改文件、跑命令、接 MCP。架构上刻意拆成两层:
packages/cli → Ink UI、输入、渲染(≈ 前端;TTY 交互壳)
packages/core → API、prompt、tools、agent loop(≈ 后端)
学习目标:在现有 runtime 上扩展,做出专用 agent(tools / MCP、GEMINI.md、hooks / policy、必要时 SDK),而不是把 runtime 本身造透。
从 LEARNING.md 进入;各阶段:
| 阶段 | 文档 | 主题 |
|---|---|---|
| 0 | learning/PHASE0-MAP.md |
地图与 mini→Gemini 对照(终点=扩展面) |
| 1 | learning/PHASE1-RUN.md |
本地跑通:入口、TTY/Ink 心智、交互 vs 无 UI |
| 2 | learning/PHASE2-AGENT-LOOP.md |
Loop 形状 + 扩展挂载点(轻读) |
| 3 | learning/PHASE3-TOOLS.md |
主战场:builtin / MCP / SDK、policy、子 agent |
| 4 | learning/PHASE4-PROMPT-MEMORY.md |
主战场:GEMINI.md / hooks / 压缩;主会话 vs sub |
| 5 | learning/PHASE5-CAPSTONE.md |
必做毕业:设计一个业务专用 agent |
- 按 Phase 顺序读;每阶段先看「先读这些文件」,再跟端到端链路。
- 勾掉验收清单再进下一阶段。
- 上游安装与用法仍以
README.upstream.md和官方文档为准;learning/是个人笔记,不进产品导航。
# Node ~20(见 .nvmrc)
npm install
npm run build
npm start # 开发运行