Gemini CLI 工具
Gemini CLI 工具
Section titled “Gemini CLI 工具”Gemini CLI 包含内置工具,Gemini 模型使用这些工具与本地环境交互,获取信息并执行操作。这些工具增强了 CLI 的功能,使其不仅能进行文本生成,还能协助处理各种任务。
Gemini CLI 工具概览
Section titled “Gemini CLI 工具概览”在 Gemini CLI 的上下文中,工具是 Gemini 模型可以请求执行的具体功能或模块。例如,如果你让 Gemini “总结 my_document.txt 的内容”,模型很可能会识别出需要读取该文件,并请求执行 read_file 工具。
核心组件 (packages/core) 管理这些工具,向 Gemini 模型展示它们的定义(架构),在请求时执行它们,并将结果返回给模型以进一步处理成面向用户的响应。
这些工具提供以下功能:
- 访问本地信息: 工具允许 Gemini 访问你的本地文件系统,读取文件内容,列出目录等。
- 执行命令: 通过
run_shell_command等工具,Gemini 可以运行 shell 命令(具备适当的安全措施和用户确认)。 - 与网络互动: 工具可以从 URL 获取内容。
- 采取行动: 工具可以修改文件,写入新文件,或在你的系统上执行其他操作(通常也会采取保护措施)。
- 使响应更具体: 通过使用工具获取实时或特定的本地数据,Gemini 的响应可以更准确、更相关,并且基于你的实际情境。
如何使用 Gemini CLI 工具
Section titled “如何使用 Gemini CLI 工具”要使用 Gemini CLI 工具,请向 Gemini CLI 提供提示。这个过程如下进行:
- 你向 Gemini CLI 提供提示词。
- CLI 将提示词发送到核心程序。
- 核心程序会连同你的提示词和对话历史,将可用的工具及其描述/架构发送到 Gemini API。
- Gemini 模型分析你的请求。如果它确定需要某个工具,其响应将包括执行特定工具并带有某些参数的请求。
- 核心程序接收到这个工具请求,验证它,并在用户确认(对于敏感操作通常是必需的)后执行该工具。
- 工具的输出将被发送回 Gemini 模型。
- Gemini 模型使用工具的输出来制定最终答案,然后通过核心程序发送回 CLI 并展示给你。
你通常会在 CLI 中看到工具调用以及它成功或失败的消息。
许多工具,尤其是那些可以修改你的文件系统或执行命令的工具,在设计时都考虑到了安全性。Gemini CLI 通常会:
- 需要确认: 在执行潜在的敏感操作之前提示你,向你展示即将执行的操作。
- 利用沙盒机制: 所有工具都受到沙盒机制的限制(请参阅 Gemini CLI 中的沙盒机制)。这意味着在沙盒环境中操作时,你希望使用的任何工具(包括 MCP 服务器)必须在沙盒环境内部可用。例如,要通过
npx运行 MCP 服务器,必须在沙盒的 Docker 镜像中安装npx可执行文件,或者在sandbox-exec环境中可用。
在允许工具继续之前,仔细审查确认提示非常重要。
了解更多关于 Gemini CLI 的工具
Section titled “了解更多关于 Gemini CLI 的工具”Gemini CLI 的内置工具可以大致分类如下:
文件系统工具: 用于与文件和目录交互(读取、写入、列出、搜索等)。
Shell 工具 (run_shell_command): 用于执行 Shell 命令。
网络获取工具 (web_fetch): 用于从 URL 获取内容。
网络搜索工具 (google_web_search): 用于网络搜索。
内存工具 (save_memory): 用于跨会话保存和回忆信息。
待办工具 (write_todos): 用于管理复杂请求的子任务。
此外,这些工具还包括:
MCP 服务器:MCP 服务器作为 Gemini 模型与您的本地环境或其他服务(如 API)之间的桥梁。 沙盒:沙盒将模型及其更改与您的环境隔离,以降低潜在风险。