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 命令(具有适当的安全措施和用户确认)。 - 与 Web 交互: 工具可以从 URL 获取内容。
- 执行操作: 工具可以修改文件、写入新文件或在您的系统上执行其他操作(同样,通常带有安全措施)。
- 固定响应: 通过使用工具获取实时或特定的本地数据,Gemini 的响应可以更准确、更相关,并基于您实际的上下文。
如何使用 Gemini CLI 工具
要使用 Gemini CLI 工具,请向 Gemini CLI 提供一个提示。该过程如下:
- 您向 Gemini CLI 提供一个提示。
- CLI 将提示发送到核心。
- 核心将您的提示和对话历史记录一起,将可用工具及其描述/模式列表发送到 Gemini API。
- Gemini 模型分析您的请求。如果它确定需要一个工具,其响应将包含一个执行具有特定参数的特定工具的请求。
- 核心接收此工具请求,对其进行验证,然后(通常在对敏感操作进行用户确认后)执行该工具。
- 工具的输出被发送回 Gemini 模型。
- Gemini 模型使用工具的输出来制定其最终答案,然后通过核心发送回 CLI 并显示给您。
您通常会在 CLI 中看到指示工具何时被调用以及它是否成功或失败的消息。
安全性和确认
许多工具,特别是那些可以修改您的文件系统或执行命令的工具(write_file、edit、run_shell_command),在设计时都考虑了安全性。Gemini CLI 通常会:
- 要求确认: 在执行潜在敏感操作之前提示您,显示将要采取的操作。
- 利用沙箱: 所有工具都受到沙箱执行的限制(请参阅 Gemini CLI 中的沙箱)。这意味着在沙箱中运行时,您希望使用的任何工具(包括 MCP 服务器)都必须在沙箱环境 内部 可用。例如,要通过
npx运行 MCP 服务器,npx可执行文件必须安装在沙箱的 Docker 映像中,或者在sandbox-exec环境中可用。
在允许工具继续之前,务必仔细审查确认提示。
了解更多关于 Gemini CLI 的工具
Gemini CLI 的内置工具可大致分为以下几类:
- 文件系统工具: 用于与文件和目录交互(读取、写入、列出、搜索等)。
- Shell 工具 (
run_shell_command): 用于执行 shell 命令。 - Web 获取工具 (
web_fetch): 用于从 URL 检索内容。 - Web 搜索工具 (
google_web_search): 用于搜索网络。 - 多文件读取工具 (
read_many_files): 用于从多个文件或目录读取内容的专用工具。 - 内存工具 (
save_memory): 用于在会话之间保存和回忆信息。
此外,这些工具还包含: