Gemini CLI 工具

Gemini CLI 内置一系列工具,供模型在本地环境中读取信息、执行操作,从而超越纯文本生成,完成更广泛的任务。

工具概述

在 CLI 中,工具是模型可请求执行的特定功能模块。例如,当你要求“总结 my_document.txt 的内容”时,模型会识别需要读取该文件,并请求执行 read_file 工具。

核心组件(packages/core)负责向模型提供工具定义(Schema)、执行请求并返回结果。

工具能力包括:

  • 访问本地信息:读取文件、枚举目录等;
  • 执行命令:通过 run_shell_command 运行 Shell 命令(配合安全机制与人工确认);
  • 访问网络:抓取 URL 内容或进行搜索;
  • 执行修改:写入或编辑文件(通常需要确认);
  • 增强回答:利用实时或本地上下文提供更准确的响应。

使用流程

  1. 用户向 CLI 提示;
  2. CLI 将提示传递给核心;
  3. 核心连同会话历史、可用工具及其描述发送给 Gemini API;
  4. 模型判断是否需要调用工具;
  5. 核心收到工具请求后进行校验,并在必要时征求用户确认;
  6. 执行工具并返回输出;
  7. 模型基于输出生成最终回答并显示给用户。

CLI 会在工具执行时显示提示及成功/失败状态。

安全与确认

对可能修改系统状态的工具(如 write_fileeditrun_shell_command),CLI 内置多重保护:

  • 执行前提示并请求确认;
  • 支持沙箱运行(详见沙箱文档),确保工具在隔离环境中执行。若在沙箱内运行,需保证相关依赖(如 npx)已在沙箱镜像中可用。

在授予权限前,请务必确认操作内容。

进一步了解

内置工具大致分为:

此外:

  • MCP 服务器 充当模型与本地/外部服务之间的桥梁;
  • 沙箱 提供隔离,降低风险。