Skip to content

Gemini CLI 内置工具让 AI 代理可以读写文件、执行 Shell 命令、联网搜索、管理任务、接入 MCP 服务器等。本页是所有工具的分类总览,每个工具附有功能说明和详细文档链接,方便快速定位你需要了解的工具。

内置工具总览

Gemini CLI 通过工具系统扩展模型能力,让 AI 可以操作本地文件、执行命令、访问网络信息等。工具通常由模型自动调用,但部分支持通过特殊语法手动触发。


工具的调用与安全

自动执行与确认机制

模型在需要时自动调用工具,但 Gemini CLI 会先评估安全策略:

  • 用户确认:修改文件或执行 Shell 命令的工具(mutators)需要你手动批准,CLI 会先显示变更 diff 或精确命令
  • 沙箱隔离:可在安全容器化环境中运行工具,与主机系统隔离(详见 沙箱安全隔离
  • 受信目录:可配置哪些目录允许使用系统工具(详见 可信文件夹

手动触发工具

特殊语法可直接触发特定工具:

  • @路径:将文件或目录内容包含进 Prompt,触发 read_many_files
  • !命令:执行 Shell 命令,触发 run_shell_command

查看可用工具

bash
/tools          # 列出所有已注册工具
/tools desc     # 列出工具及完整描述

文件系统工具

详细参考:文件系统工具

工具类型说明
globSearch在工作区查找匹配 glob 模式的文件
grep_searchSearch在文件内容中搜索正则表达式;别名 search_file_content
list_directoryRead列出指定路径下的文件和子目录
read_fileRead读取单个文件内容,支持文本/图片/音频/PDF
read_many_filesRead读取并合并多个文件;@ 符号触发此工具
replaceEdit在文件中执行精准文本替换(需确认)
write_fileEdit创建或覆盖文件(需确认)

Shell 执行工具

详细参考:Shell 命令工具

工具类型说明
run_shell_commandExecute执行 Shell 命令,支持交互会话和后台进程(需确认)

!命令 语法直接触发此工具。


交互工具

详细参考:交互提问工具(ask_user) | 记忆与任务工具

工具类型说明
ask_userCommunicate通过交互对话请求补充信息或决策(支持 choice/text/yesno)
write_todosOther维护内部任务列表,在 CLI 界面显示执行进度

任务追踪工具(实验性)

通过 experimental.taskTracker 在 settings.json 中启用。

详细参考:记忆与任务工具

工具类型说明
tracker_create_taskOther创建新任务(类型:epic/task/bug)
tracker_update_taskOther更新任务状态/描述/依赖
tracker_get_taskOther通过 6 位 ID 获取任务详情
tracker_list_tasksOther列出任务(可按状态/类型/父任务过滤)
tracker_add_dependencyOther添加任务依赖,确保拓扑执行顺序
tracker_visualizeOther渲染 ASCII 树形任务图

MCP 工具

详细参考:MCP 资源工具 | MCP 服务器完整参考

工具类型说明
list_mcp_resourcesSearch列出已连接 MCP 服务器暴露的所有资源
read_mcp_resourceRead读取指定 URI 的 MCP 资源内容

MCP 服务器的工具通过 mcp_{服务器名}_{工具名} FQN 格式自动注册。


规划工具

详细参考:规划工具(Plan Mode)

工具类型说明
enter_plan_modePlan切换到只读安全规划模式,用于研究和规划复杂变更
exit_plan_modePlan展示最终计划文件,请求用户批准后开始实施

记忆与知识工具

详细参考:记忆与任务工具

工具类型说明
save_memoryThink将事实持久化到 ~/.gemini/GEMINI.md,跨会话保留
activate_skillOther按需加载 .gemini/skills/ 下的专项 Skill
get_internal_docsThink查阅 Gemini CLI 自身文档,确保对功能的理解准确;详见 内部文档工具

Web 工具

详细参考:Web 搜索与抓取工具

工具类型说明
google_web_searchSearchGoogle 搜索获取最新资讯(含来源引用)
web_fetchFetch获取并处理指定 URL 的内容(Plan Mode 下始终需确认)⚠️ 可访问 localhost

系统工具

工具类型说明
complete_taskOther子代理完成任务后将结果返回父代理(用户不可直接调用)

扩展工具

通过以下方式添加自定义工具:

  • MCP 服务器:在 settings.jsonmcpServers 中配置,参见 MCP 服务器完整参考
  • discoveryCommand:在 settings.json 中配置 tools.discoveryCommand 运行自定义工具发现脚本
  • Agent Skills:创建专项 Skill 打包工具集,参见 创建自定义 Skills

常见问题

Q: 如何知道当前会话加载了哪些工具?

A: 在 CLI 内运行 /tools 查看全部已注册工具;/tools desc 附带描述信息。MCP 工具需要服务器连接成功后才会出现在列表中。

Q: 可以禁用某些内置工具吗?

A: 可以通过 settings.json 中的 excludeTools 配置屏蔽特定工具;或通过 Policy Engine 实施更细粒度的工具访问控制。

Q: 自动确认模式(YOLO 模式)下哪些工具不受影响?

A: 在 YOLO 模式下,文件修改和 Shell 命令的确认弹窗会自动批准。但 web_fetch 在 Plan Mode 下始终需要用户确认;enter_plan_mode 工具在 YOLO 模式下不可用。