Appearance
enter_plan_mode 和 exit_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(规划模式)。通常在你用自然语言要求代理"制定计划"时由代理主动调用。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
reason | string | 否 | 简要说明进入规划模式的原因(例:"开始复杂功能实现的规划") |
行为:
- 将 CLI 的审批模式切换为
PLAN - 在 Plan Mode 中,代理只能使用只读工具(文件读取、搜索等),无法修改任何文件
- 向用户显示已进入 Plan Mode 的通知
确认:需要用户确认后才进入 Plan Mode。
输出:发送给模型的消息,例如 Switching to Plan mode.
注意:在 YOLO 模式下,此工具不可用。
exit_plan_mode(退出规划模式)
工具名称:exit_plan_mode
标志规划阶段完成,向用户展示最终计划文件并请求正式批准。
重要前提:代理在调用此工具之前,必须已在对话中与你达成关于实施策略的非正式共识。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
plan_path | string | 是 | 最终计划文件的路径,必须位于项目临时目录内(如 ~/.gemini/tmp/<project>/plans/) |
行为:
- 验证
plan_path是否在允许的目录内,且文件存在且有内容 - 向用户展示完整计划文件内容供审阅
- 用户批准时:
- 将 CLI 切换回用户选择的审批模式(
DEFAULT或AUTO_EDIT) - 标记计划为已批准,开始实施
- 将 CLI 切换回用户选择的审批模式(
- 用户拒绝时:
- 保持在 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 功能,你可以在代理执行过程中随时打入文字引导方向,不需要等整轮结束。