Appearance
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 # 列出工具及完整描述文件系统工具
详细参考:文件系统工具
| 工具 | 类型 | 说明 |
|---|---|---|
glob | Search | 在工作区查找匹配 glob 模式的文件 |
grep_search | Search | 在文件内容中搜索正则表达式;别名 search_file_content |
list_directory | Read | 列出指定路径下的文件和子目录 |
read_file | Read | 读取单个文件内容,支持文本/图片/音频/PDF |
read_many_files | Read | 读取并合并多个文件;@ 符号触发此工具 |
replace | Edit | 在文件中执行精准文本替换(需确认) |
write_file | Edit | 创建或覆盖文件(需确认) |
Shell 执行工具
详细参考:Shell 命令工具
| 工具 | 类型 | 说明 |
|---|---|---|
run_shell_command | Execute | 执行 Shell 命令,支持交互会话和后台进程(需确认) |
!命令 语法直接触发此工具。
交互工具
详细参考:交互提问工具(ask_user) | 记忆与任务工具
| 工具 | 类型 | 说明 |
|---|---|---|
ask_user | Communicate | 通过交互对话请求补充信息或决策(支持 choice/text/yesno) |
write_todos | Other | 维护内部任务列表,在 CLI 界面显示执行进度 |
任务追踪工具(实验性)
通过
experimental.taskTracker在 settings.json 中启用。
详细参考:记忆与任务工具
| 工具 | 类型 | 说明 |
|---|---|---|
tracker_create_task | Other | 创建新任务(类型:epic/task/bug) |
tracker_update_task | Other | 更新任务状态/描述/依赖 |
tracker_get_task | Other | 通过 6 位 ID 获取任务详情 |
tracker_list_tasks | Other | 列出任务(可按状态/类型/父任务过滤) |
tracker_add_dependency | Other | 添加任务依赖,确保拓扑执行顺序 |
tracker_visualize | Other | 渲染 ASCII 树形任务图 |
MCP 工具
详细参考:MCP 资源工具 | MCP 服务器完整参考
| 工具 | 类型 | 说明 |
|---|---|---|
list_mcp_resources | Search | 列出已连接 MCP 服务器暴露的所有资源 |
read_mcp_resource | Read | 读取指定 URI 的 MCP 资源内容 |
MCP 服务器的工具通过 mcp_{服务器名}_{工具名} FQN 格式自动注册。
规划工具
详细参考:规划工具(Plan Mode)
| 工具 | 类型 | 说明 |
|---|---|---|
enter_plan_mode | Plan | 切换到只读安全规划模式,用于研究和规划复杂变更 |
exit_plan_mode | Plan | 展示最终计划文件,请求用户批准后开始实施 |
记忆与知识工具
详细参考:记忆与任务工具
| 工具 | 类型 | 说明 |
|---|---|---|
save_memory | Think | 将事实持久化到 ~/.gemini/GEMINI.md,跨会话保留 |
activate_skill | Other | 按需加载 .gemini/skills/ 下的专项 Skill |
get_internal_docs | Think | 查阅 Gemini CLI 自身文档,确保对功能的理解准确;详见 内部文档工具 |
Web 工具
详细参考:Web 搜索与抓取工具
| 工具 | 类型 | 说明 |
|---|---|---|
google_web_search | Search | Google 搜索获取最新资讯(含来源引用) |
web_fetch | Fetch | 获取并处理指定 URL 的内容(Plan Mode 下始终需确认)⚠️ 可访问 localhost |
系统工具
| 工具 | 类型 | 说明 |
|---|---|---|
complete_task | Other | 子代理完成任务后将结果返回父代理(用户不可直接调用) |
扩展工具
通过以下方式添加自定义工具:
- MCP 服务器:在
settings.json的mcpServers中配置,参见 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 模式下不可用。