模式
在 Plan / Build 等模式间切换工作流。
本节是对模式(modes)的高层说明,结合 TUI 文档中的用法一起使用。
OpenCode 提供多种“模式”(Mode),用来控制当前交互是偏“规划”还是“直接修改”。最常用的两个是:
- Plan 模式:只生成计划和说明,不直接改代码;
- Build 模式:可以实际改文件、运行命令、执行工具。
你可以在 TUI 右下角看到当前模式,并通过 Tab 等快捷键快速切换。
Plan 模式
Plan 模式适合:
- 设计新功能;
- 规划重构步骤;
- 在大改动前先让 Agent 写出执行方案。
在 Plan 模式下,OpenCode 会:
- 侧重生成“计划文档”(例如任务分解、影响分析、实现思路);
- 默认避免直接编辑文件或运行高风险命令;
- 引导你先确认方案是否合理,再进入 Build 模式执行。
你可以:
- 切换到 Plan 模式(见下文“模式切换”);
- 用自然语言描述你要做的功能或重构;
- 多轮补充细节、让它迭代计划;
- 当方案满意后,再切回 Build 模式让它“按计划执行”。
Build 模式
Build 模式是日常编码时最常用的模式,它允许:
- 编辑/创建文件;
- 运行
bash命令; - 使用 LSP、MCP 等各种工具;
- 直接把计划落实为实际改动。
典型流程:
- 先在 Plan 模式下让 OpenCode写出计划;
- 切回 Build 模式;
- 告诉它“按这个计划执行”;
- 然后再用
/undo//redo管理改动(详见 TUI 文档)。
模式切换
在 TUI 中,你可以通过以下方式切换模式:
- 使用 Tab(或对应的模式切换快捷键);
- 打开
/help或命令面板查看“mode”相关命令; - 某些自定义命令也可以内部指定切换到 Plan / Build。
切换模式不会丢失当前会话,只是改变之后消息的“执行权限”和行为倾向。
与 Agents / Permissions 的关系
模式(modes)和 Agent / Permissions 是三个不同维度:
- Agent 决定“谁”在执行(系统提示词、专长、可用工具);
- Mode 决定“执行策略”(只规划 vs 允许修改);
- Permissions 决定“具体操作是否需要确认”(如
bash/edit)。
常见搭配:
- 在
planAgent + Plan 模式下,做高层设计; - 在
buildAgent + Build 模式下,实际改代码; - 利用 Permissions 把高危操作设为
ask,即便在 Build 模式下也需要你点击确认。
最佳实践
- 大改动前:先 Plan 再 Build;
- 不确定范围的重构:在 Plan 模式里让 Agent 列出受影响文件,再人工确认;
- 团队协作:可以约定“先提交 Plan / 再执行 Build”的流程,把 Plan 当作轻量设计文档。