OpenCode 核心模式:Plan 与 Build
📚 分类: AI编程工具教程 ⏱️ 预计耗时: 10 分钟 🎯 难度: 入门 🔧 环境要求: 已安装并登录 OpenCode(参考《OpenCode 快速入门》)
你将学到什么
完成本教程后,你将能够:
- [ ] 区分 OpenCode 的 Plan(规划) 与 Build(构建) 两种核心工作模式
- [ ] 掌握切换两种模式的快捷键
Tab - [ ] 在 Plan 模式 下与 AI 有效讨论并生成代码修改方案
- [ ] 在 Build 模式 下让 AI 执行代码修改、创建文件和运行命令
- [ ] 使用
/undo等常用命令来管理 AI 的变更
最终效果
你将能像与一位资深工程师协作一样,先和 OpenCode 讨论需求、生成计划,再让它执行计划、修改代码。遇到问题时,你也能熟练地撤销操作,掌控整个开发流程。
前置准备
在开始前,请确认你已经:
- 安装了 OpenCode:确保你可以在你的 IDE(如 VS Code)中成功打开 OpenCode 对话框。
- 打开了一个项目:任意一个你熟悉的代码项目即可,以便进行后续的测试操作。
第 1 步:了解 Plan 模式 —— 你的“架构师”
🎯 目标:理解 Plan 模式的作用,并成功切换到这个模式。
📝 操作:
- 在 OpenCode 的对话框中,按下键盘上的
Tab键。 - 观察对话框界面的变化。你会看到模式指示器从默认状态切换为 “Plan”。
🤔 为什么要这样做? OpenCode 默认处于一种模式。按下 Tab 键是一个全局快捷键,用于在 Plan(规划) 和 Build(构建) 两种模式之间切换。切换到 Plan 模式后,AI 的行为会立即改变。
✅ 验证: 当对话框顶部或输入框附近显示 “Plan Mode” 或类似标识时,说明你已经成功切换到了规划模式。
💡 提示:在 Plan 模式下,你可以输入任何需求,比如:“我想给这个应用添加一个用户登录功能,该怎么做?” AI 不会 立即修改你的代码,而是会分析你的项目结构,然后输出一份详细的实施计划。
第 2 步:在 Plan 模式下与 AI 讨论
🎯 目标:体验 Plan 模式下 AI 的“只读分析”行为,并与之交互优化方案。
📝 操作:
- 确保你处于 Plan 模式。
- 在对话框中输入一个复杂的任务,例如:“帮我重构一下项目中的
utils/database.js模块,使其更易于测试。” - 按下回车发送消息。
- 观察 AI 的回复。它会分析代码,并给出一个包含步骤、涉及文件和修改思路的规划。
✅ 验证: AI 的回复应该是一份计划,而不是直接修改你的代码。你可以看到类似以下结构的回答:
分析:
utils/database.js目前将数据库连接和查询逻辑耦合在一起... 计划:
- 创建一个新的
DatabaseConnection类,负责管理连接。- 将查询逻辑提取到独立的
QueryService中。- 修改
utils/database.js以使用新的类。 涉及文件:utils/database.js,src/services/QueryService.js
- 尝试交互:你可以继续提问,比如:“第二步能不能改成使用工厂模式?” AI 会据此调整它的计划。
💡 提示:在 Plan 模式下,你甚至可以拖入一张 UI 设计图或截图,让 AI 基于视觉稿生成前端实现方案。这是一个非常强大的功能。
第 3 步:切换到 Build 模式 —— 你的“工程师”
🎯 目标:将 AI 从“架构师”角色切换为“工程师”,让它开始执行代码。
📝 操作:
- 当你对第 2 步中 AI 生成的计划感到满意后,再次按下键盘上的
Tab键。 - 观察对话框界面的变化。模式指示器会从 “Plan” 切换为 “Build”。
✅ 验证: 当对话框顶部或输入框附近显示 “Build Mode” 或类似标识时,说明你已经成功切换到了构建模式。
🤔 为什么要这样做? 只有在 Build 模式下,AI 才有权限去读取和写入你的项目文件。切换模式是告诉 AI:“计划已经确认,现在开始执行。”
第 4 步:在 Build 模式下执行操作
🎯 目标:观察 AI 如何在 Build 模式下自动创建文件、修改代码,并处理可能出现的错误。
📝 操作:
- 确保你处于 Build 模式。
- 在对话框中直接发送一条执行命令,例如:“请按照我们刚才讨论的计划,开始重构
utils/database.js。” - 观察 AI 的行为。它会开始:
- 修改代码:在你的文件中直接写入新的代码。
- 创建文件:如果计划中包含了新文件,它会自动创建。
- 运行命令:如果需要安装依赖(如
npm install),它会向你请求授权。你需要在对话框中点击“允许”或类似按钮。
✅ 验证: 你会看到项目文件被实时修改。例如,utils/database.js 的内容发生了变化,同时项目目录中可能新增了 src/services/ 文件夹和 QueryService.js 文件。
⚠️ 常见错误: 如果 AI 修改代码后,你的终端报错(比如编译错误),不要慌。OpenCode 通常能自动读取终端报错信息,并尝试再次修改代码来修复它。你只需要等待它完成即可。
第 5 步:管理变更 —— 撤销与重做
🎯 目标:学会使用 /undo 和 /redo 命令来掌控 AI 的修改。
📝 操作:
撤销操作:如果 AI 刚刚做出的修改不符合你的预期,请在对话框中输入:
text/undo然后按回车。AI 会立即撤销它上一步所做的所有代码变更。
重做操作:如果你不小心撤销了,可以输入以下命令恢复:
text/redo然后按回车。AI 会重做上一步撤销的操作。
✅ 验证: 输入 /undo 后,你之前被修改的文件会恢复到 AI 修改前的状态,就像 Git 的回滚一样。
💡 提示:这是一个非常安全的机制。你完全可以放心地让 AI 去尝试修改代码,因为任何不满意的结果都可以通过 /undo 一键回滚。
进阶技巧(可选)
掌握基础后,你可以尝试使用这些常用命令:
/init:在新项目中输入此命令,AI 会自动创建一个AGENTS.md文件。这个文件就像项目的“说明书”,可以帮助 AI 更好地理解你的项目架构和编码规范。/connect:用于连接云端账号,管理你的订阅计划或 API Key。/share:生成当前对话的分享链接,方便你与团队成员讨论问题。
常见问题 (FAQ)
Q1: 我按了 Tab 键,但模式没有切换?A: 请确保你的光标焦点在 OpenCode 的对话框输入框中。如果焦点在编辑器的其他位置,Tab 键可能被其他功能占用。
Q2: 在 Build 模式下,AI 直接修改了代码,我很害怕,怎么回退?A: 立刻输入 /undo 并按回车。这是最安全、最快捷的回滚方式。
Q3: AI 运行命令(如 npm install)时卡住了怎么办?A: 它可能在等待你的授权。请检查对话框,通常会有“Allow”(允许)或“Deny”(拒绝)的按钮。点击“Allow”即可继续。
总结
恭喜你完成了本教程!🎉
回顾一下我们今天学到的核心内容:
- 两种核心模式:Plan 模式是“架构师”,负责分析并制定计划;Build 模式是“工程师”,负责执行计划、修改代码。
- 切换快捷键:使用
Tab键在 Plan 和 Build 模式之间快速切换。 - 安全机制:通过
/undo命令,你可以轻松撤销 AI 的任何一次代码修改,毫无风险。 - 常用命令:掌握
/init、/connect、/share等命令,可以让你更高效地使用 OpenCode。