Gemini CLI 工具
Gemini CLI 内置一系列工具,供模型在本地环境中读取信息、执行操作,从而超越纯文本生成,完成更广泛的任务。
工具概述
在 CLI 中,工具是模型可请求执行的特定功能模块。例如,当你要求“总结 my_document.txt 的内容”时,模型会识别需要读取该文件,并请求执行 read_file 工具。
核心组件(packages/core)负责向模型提供工具定义(Schema)、执行请求并返回结果。
工具能力包括:
- 访问本地信息:读取文件、枚举目录等;
- 执行命令:通过
run_shell_command运行 Shell 命令(配合安全机制与人工确认); - 访问网络:抓取 URL 内容或进行搜索;
- 执行修改:写入或编辑文件(通常需要确认);
- 增强回答:利用实时或本地上下文提供更准确的响应。
使用流程
- 用户向 CLI 提示;
- CLI 将提示传递给核心;
- 核心连同会话历史、可用工具及其描述发送给 Gemini API;
- 模型判断是否需要调用工具;
- 核心收到工具请求后进行校验,并在必要时征求用户确认;
- 执行工具并返回输出;
- 模型基于输出生成最终回答并显示给用户。
CLI 会在工具执行时显示提示及成功/失败状态。
安全与确认
对可能修改系统状态的工具(如 write_file、edit、run_shell_command),CLI 内置多重保护:
- 执行前提示并请求确认;
- 支持沙箱运行(详见沙箱文档),确保工具在隔离环境中执行。若在沙箱内运行,需保证相关依赖(如
npx)已在沙箱镜像中可用。
在授予权限前,请务必确认操作内容。
进一步了解
内置工具大致分为:
- 文件系统工具:读取/写入/搜索文件与目录;
- Shell 工具:执行 Shell 命令;
- Web Fetch 工具:抓取网页内容;
- Web Search 工具:进行网络搜索;
- 多文件读取工具:批量读取文件内容;
- 记忆工具:跨会话存储信息。
此外: