Gemini CLI 官方二维码

Gemini CLI 工具

Gemini CLI 包含内置工具,Gemini 模型使用这些工具与您的本地环境交互、访问信息和执行操作。这些工具增强了 CLI 的功能,使其能够超越文本生成,并协助完成各种任务。

Gemini CLI 工具概述

在 Gemini CLI 的上下文中,工具是 Gemini 模型可以请求执行的特定函数或模块。例如,如果您要求 Gemini “总结 my_document.txt 的内容”,模型可能会识别出需要读取该文件,并请求执行 read_file 工具。

核心组件 (packages/core) 管理这些工具,向 Gemini 模型提供其定义(模式),在请求时执行它们,并将结果返回给模型以进一步处理成面向用户的响应。

这些工具提供以下功能:

  • 访问本地信息: 工具允许 Gemini 访问您的本地文件系统、读取文件内容、列出目录等。
  • 执行命令: 使用 run_shell_command 等工具,Gemini 可以运行 shell 命令(具有适当的安全措施和用户确认)。
  • 与网络交互: 工具可以从 URL 获取内容。
  • 采取行动: 工具可以修改文件、写入新文件或在您的系统上执行其他操作(同样,通常带有安全措施)。
  • 基础响应: 通过使用工具获取实时或特定的本地数据,Gemini 的响应可以更准确、更相关,并以您的实际情况为基础。

如何使用 Gemini CLI 工具

要使用 Gemini CLI 工具,请向 Gemini CLI 提供提示。该过程如下:

  1. 您向 Gemini CLI 提供提示。
  2. CLI 将提示发送到核心。
  3. 核心连同您的提示和对话历史记录,向 Gemini API 发送可用工具及其描述/模式的列表。
  4. Gemini 模型分析您的请求。如果它确定需要一个工具,其响应将包括一个请求,以使用某些参数执行特定工具。
  5. 核心接收此工具请求,对其进行验证,并(通常在用户确认敏感操作后)执行该工具。
  6. 工具的输出将发送回 Gemini 模型。
  7. Gemini 模型使用该工具的输出来制定其最终答案,然后通过核心将其发送回 CLI 并显示给您。

您通常会在 CLI 中看到指示何时调用工具以及它是否成功或失败的消息。

安全和确认

许多工具,尤其是那些可以修改您的文件系统或执行命令(write_fileeditrun_shell_command)的工具,在设计时都考虑到了安全性。Gemini CLI 通常会:

  • 要求确认: 在执行潜在的敏感操作之前提示您,向您显示即将采取的操作。
  • 利用沙盒: 所有工具都受到沙盒强制执行的限制(请参阅 README)。这意味着在沙盒中操作时,您希望使用的任何工具(包括 MCP 服务器)都必须在沙盒环境中可用。例如,要通过 npx 运行 MCP 服务器,npx 可执行文件必须安装在沙盒的 Docker 镜像中,或者在 sandbox-exec 环境中可用。

在允许工具继续操作之前,请务必仔细查看确认提示。

了解有关 Gemini CLI 工具的更多信息

Gemini CLI 的内置工具可大致分为以下几类:

  • 文件系统工具: 用于与文件和目录交互(读取、写入、列出、搜索等)。
  • Shell 工具 (run_shell_command): 用于执行 shell 命令。
  • Web 抓取工具 (web_fetch): 用于从 URL 检索内容。
  • Web 搜索工具 (web_search): 用于搜索网络。
  • 多文件读取工具 (read_many_files): 一种专门用于从多个文件或目录读取内容的工具,通常由 @ 命令使用。
  • 内存工具 (save_memory): 用于在会话之间保存和调用信息。

此外,这些工具还包含:

  • MCP 服务器: MCP 服务器充当 Gemini 模型与您的本地环境或其他服务(如 API)之间的桥梁。
  • 沙盒: 沙盒将模型及其更改与您的环境隔离开来,以降低潜在风险。