📖 中英段落对照阅读

项目概览

Gemini CLI 是 Google 官方开源的终端 AI Agent,将 Gemini 模型能力直接带入命令行。定位是轻量级、可扩展的终端开发助手。

技术栈

维度技术
语言TypeScript (ES Module)
包管理npm (monorepo)
构建esbuild
运行时Node.js
协议MCP (Model Context Protocol), A2A (Agent-to-Agent)

目录结构

gemini-cli/
├── packages/
│   ├── a2a-server/          # A2A (Agent-to-Agent) 协议服务端
│   ├── cli/                 # CLI 主入口,终端交互逻辑
│   ├── core/                # 核心引擎:工具调用、上下文管理、模型交互
│   ├── devtools/            # 开发者工具集成
│   ├── sdk/                 # 对外 SDK
│   ├── test-utils/          # 测试工具
│   └── vscode-ide-companion/# VS Code 插件伴侣
├── schemas/                 # JSON Schema 定义
├── tools/                   # 内置工具实现
├── evals/                   # 评估/评测脚本
├── integration-tests/       # 集成测试
├── memory-tests/            # 长上下文/记忆测试
└── sea/                     # Single Executable App (单文件可执行)

核心入口与公共 API

模块入口职责
CLIpackages/cli/dist/index.js (gemini 命令)终端 UI、用户输入处理、会话管理
Corepackages/core/dist/index.js工具编排、LLM 调用、上下文构建
A2A Serverpackages/a2a-server/多 Agent 协作协议实现
SDKpackages/sdk/第三方集成接口

亮点设计

1. A2A (Agent-to-Agent) 协议支持

packages/a2a-server/ 是 Gemini CLI 区别于其他 CLI 工具的关键。它实现了 Google 提出的 Agent 间通信标准,允许多个 Agent 协作完成任务。

2. MCP (Model Context Protocol) 扩展

内置 MCP 支持,可接入自定义工具集成。这是当前 Agent 工具生态的事实标准。

3. 单文件可执行 (SEA)

sea/ 目录下实现将 Node.js 应用打包为单二进制文件,便于分发和安装。

4. 内置工具集

  • Google Search grounding
  • 文件操作
  • Shell 命令执行
  • Web 内容获取

待深入研究

  • packages/core/ 中的工具调用编排逻辑(Tool Use → Execution → Observation 循环)
  • A2A 协议的具体消息格式和状态机实现
  • 长上下文(1M token)的窗口管理和记忆策略
  • SEA 打包技术的实现细节
  • 与已有笔记 MCP 核心概念 的关联

与知识库的关联