Skip to content

enter_plan_modeexit_plan_mode 是 Gemini CLI 的内置规划工具,由代理在执行复杂任务时自动调用。enter_plan_mode 让代理进入只读安全模式专注研究和规划;exit_plan_mode 在规划完成后展示计划文件,等待你批准后再开始实施。

规划工具参考

Plan Mode 相关工具,由代理在执行需要先规划再实施的复杂任务时使用。

Plan Mode 使用教程见 Plan Mode 规划模式


enter_plan_mode(进入规划模式)

工具名称enter_plan_mode

将 CLI 切换到 Plan Mode(规划模式)。通常在你用自然语言要求代理"制定计划"时由代理主动调用。

参数

参数类型必填说明
reasonstring简要说明进入规划模式的原因(例:"开始复杂功能实现的规划")

行为

  • 将 CLI 的审批模式切换为 PLAN
  • 在 Plan Mode 中,代理只能使用只读工具(文件读取、搜索等),无法修改任何文件
  • 向用户显示已进入 Plan Mode 的通知

确认:需要用户确认后才进入 Plan Mode。

输出:发送给模型的消息,例如 Switching to Plan mode.

注意:在 YOLO 模式下,此工具不可用。


exit_plan_mode(退出规划模式)

工具名称exit_plan_mode

标志规划阶段完成,向用户展示最终计划文件并请求正式批准。

重要前提:代理在调用此工具之前,必须已在对话中与你达成关于实施策略的非正式共识。

参数

参数类型必填说明
plan_pathstring最终计划文件的路径,必须位于项目临时目录内(如 ~/.gemini/tmp/<project>/plans/

行为

  1. 验证 plan_path 是否在允许的目录内,且文件存在且有内容
  2. 向用户展示完整计划文件内容供审阅
  3. 用户批准时
    • 将 CLI 切换回用户选择的审批模式(DEFAULTAUTO_EDIT
    • 标记计划为已批准,开始实施
  4. 用户拒绝时
    • 保持在 Plan Mode
    • 将用户反馈返回给模型以修改计划

确认:展示计划内容,明确请求用户正式批准是否开始实施。


Plan Mode 工作流

用户发出复杂任务

代理调用 enter_plan_mode(用户确认)

代理使用只读工具研究代码库
    ↓(可通过 Model Steering 实时引导)
代理草拟计划文件(Markdown 格式)

代理调用 exit_plan_mode 展示计划

用户批准 → 进入实施 / 用户拒绝 → 修改计划

实时引导规划过程的技巧,参见 Plan Mode + Model Steering 教程


常见问题

Q: 我能手动触发 enter_plan_mode 吗?

A: 不能直接调用,这是代理使用的内部工具。但你可以通过自然语言让代理进入规划模式,例如 /plan 我想重构认证模块先制定一个计划,不要直接修改代码

Q: 计划文件保存在哪里?

A: 在 ~/.gemini/tmp/<项目哈希>/plans/ 目录下,文件名由代理自动生成。计划批准后文件保留,可以作为实施过程的参考文档。

Q: 进入 Plan Mode 后我还能修改要求吗?

A: 可以。通过 Model Steering 功能,你可以在代理执行过程中随时打入文字引导方向,不需要等整轮结束。