Deepseek ArtifactsDeepseek Artifacts
OpenCode 攻略

OpenCode 计划模式:切换、规划、构建(2026)

一文讲清 OpenCode 计划模式:Tab 在 Plan 和 Build 两个代理之间切换、只读规划附带澄清提问、每个模式各配模型,以及计划模式不见了怎么排查。

太长不看版

  • OpenCode 内置两个主代理——Build 和 Plan。按 Tab 即可来回切换;状态栏徽章(Plan · Big Pickle、Build · MiMo)永远显示当前在听谁说话。
  • 计划模式天生只读:文件编辑默认拒绝或需确认,bash 命令会先询问,所以你得到的是仓库分析、澄清提问和一份计划文档——零文件改动。
  • 每个模式分别运行 /models:规划用强模型(视频中是 GLM-5.2),构建用便宜的免费模型(MiMo V2.5 Free)。在 opencode.json 里配 agent.model 可以固定下来。
  • 找不到计划模式?先升级 CLI,去状态栏找徽章而不是菜单项,终端吞 Tab 就改键——另外记住桌面端还是 beta。

13/13 - OpenCode - Plan mode Implementar funcionalidad

频道:Fernando Herrera10:05

观看

OpenCode Full Tutorial: Free Models, Skills & MCPs

频道:Eric Tech23:11

观看

Opencode Is Probably The Best Coding Agent I've Ever Used

频道:DevOps Toolbox

观看

Agents — official documentation

官方文档:opencode.ai/docs

观看

模式语义——Tab 循环切换、每个代理各自的模型、Plan 的权限限制、--agent plan 启动参数——均已对照官方 agents 文档核实;上方视频是视觉与事实来源。主视频里模型的回复是西班牙语,因此截图选的是界面本身能讲清故事的部分。

截图归创作者所有,并附指向精确时间点的深链。未使用任何人脸出镜画面。

一步一步用上 OpenCode 计划模式

第 1 部分 — 认识 Plan 和 Build 两个代理

  1. 1

    启动 OpenCode,找到模式徽章

    在项目目录里运行 opencode。终端界面打开后,提示词下方有一条状态栏,显示 Plan 或 Build 加上当前模型——视频里是 Plan · Big Pickle OpenCode Zen。这个徽章就是计划模式的藏身之处:不存在单独的计划模式菜单等你去找。底部提示(tab agents)甚至直接告诉你怎么离开。

    OpenCode TUI welcome screen with the opencode logo, an Ask anything prompt and the status line reading Plan · Big Pickle OpenCode Zen, showing plan mode active at launch
    OpenCode 的欢迎界面,离一切只差一个 Tab——状态栏已经显示 Plan · Big Pickle OpenCode Zen。在 0:50 观看
  2. 2

    弄清计划模式是什么(以及它拒绝什么)

    Plan 是 OpenCode 两个主代理之一。Build 默认启用全部工具;Plan 则受限——默认文件编辑被拒绝或需要确认,bash 命令也会先询问。文档对它的定位是:当你想让 LLM 分析代码、提出修改建议或制定计划而不做任何实际改动时使用。你硬要它实现,它会拒绝——这个拒绝正是功能在生效。

    OpenCode status line reading Plan · GLM-5.2 OpenCode Go beneath the empty prompt, proving the Plan agent runs its own selected model after switching
    切换模型后徽章显示 Plan · GLM-5.2 OpenCode Go——Plan 用自己的模型,与 Build 互不相干。在 1:35 观看
  3. 3

    用 Tab 切换代理

    按 Tab 在 Plan → Build → Plan 之间循环,Shift+Tab 反向循环。这就是 agent_cycle 键位,也是切换的全部动作——代理、模型和权限会在对话中途一起切换。更喜欢菜单?ctrl+x a 打开代理列表,ctrl+p 打开命令面板,opencode --agent plan 则从终端直接进入计划模式。

第 2 部分 — 只读地把活儿规划好

  1. 4

    先连接提供商,模型选择器才不空

    全新安装的模型列表是空的,得先连接提供商。运行 /connect——或在模型选择器底部选 Connect provider——然后选推荐的低价订阅 OpenCode Zen,或者带入 Groq、GitHub Copilot、Anthropic、Google 的 API key。像 Big Pickle 或 MiMo V2.5 Free 这样的免费模型足够完成本攻略。

    OpenCode Connect a provider dialog listing OpenCode Zen as recommended above Groq, GitHub Copilot, Anthropic and Google inside the VS Code terminal
    Connect a provider 对话框:推荐 OpenCode Zen,下方还有 Groq、GitHub Copilot、Anthropic 和 Google。在 3:05 观看
  2. 5

    给每个模式各配一个模型

    在计划模式下运行 /models,选一个强模型做规划——规划质量决定下游的一切。然后按 Tab 再运行一次 /models,给构建配个更便宜的;视频里的组合是 Plan 用 GLM-5.2、Build 用 MiMo V2.5 Free。想长期固定这个分工,就在 opencode.json 里配置 agent.model。

    OpenCode Select model dialog with the Recent list highlighting Big Pickle OpenCode Zen marked Free, above GLM-5.2, MiMo V2.5 Pro and MiMo V2.5 Free entries
    带 Free 标签的 Zen 模型选择对话框——有 Recent 列表,切换两次只要两秒钟。在 1:13 观看
  3. 6

    发出任务,回答代理的提问

    在计划模式里描述目标而不是步骤——视频里让 OpenCode 在一个纯 HTML 项目里安装 Tailwind CSS。Plan 代理以只读方式检查仓库,然后弹出一个选择题对话框:CDN script 标签、npm 安装、独立二进制,或者输入你自己的答案。方向键选择;选项都不合适时也可以自由输入。

    OpenCode plan agent asking a multiple-choice question with four install options and a Type your own answer field while the status line reads Plan · GLM-5.2
    Plan 代理的澄清提问对话框——四个选项外加自定义答案的出口,而且此时还没碰任何文件。在 3:00 观看
  4. 7

    读计划:验证与取舍

    最终产出的计划是一份文档,不是 diff:现状、决策、验证清单和取舍(trade-offs)章节——视频里的计划明确标注 Play CDN 需要联网且不适合生产环境。此时还没有任何改动;你读到的条目描述的是你批准后 Build 要做的事。

    OpenCode plan document showing verification and trade-off sections in the chat with the status line still reading Plan · GLM-5.2 OpenCode Go
    计划的验证清单与取舍章节——代价写得明明白白,改动依然是零。在 4:58 观看
  5. 8

    批准;OpenCode 把活儿排给 Build

    计划的结尾是一个交接提问:离开计划模式后就执行这个计划,还是先调整?批准了也依然不会改文件——在你切换代理之前,Plan 保持只读。状态栏仍然显示 Plan;一旦按下 Tab,同一场对话就会带着完整文件权限在 Build 里继续。

    OpenCode conversation showing the full plan document, an approval question about leaving Plan Mode, and Plan and Build badges stacked in the status line
    完整计划加下方的批准提问,状态栏里 Plan 和 Build 两个徽章同时可见。在 5:10 观看

第 3 部分 — 切到 Build 继续推进

  1. 9

    Tab 切到 Build,让它动手

    按 Tab——徽章翻成 Build · MiMo V2.5 Free——然后说"实现它"。Build 拥有全部工具:改 index.html、写 Tailwind 配置,还会生成一张你能看着打勾的 todo 清单。同样的命令在计划模式下只会被拒绝;todo 清单和文件改动只会出现在 Build 这一侧。

    OpenCode status line flipped to Build · MiMo V2.5 Free after pressing Tab, with a Todos checklist appearing as the implementation begins
    按下 Tab 后徽章显示 Build · MiMo V2.5 Free,实现刚开始,Todos 清单就出现了。在 5:20 观看
  2. 10

    把会话管理明白

    ctrl+x l 打开会话列表:每场对话都带名字和日期,ctrl+r 重命名,常回头的可以置顶。会话存在 OpenCode 的全局目录而不是项目里,所以重启也不丢——视频里在草稿闲聊和 Tailwind 会话之间来回跳,一个 token 的上下文都没丢。

    OpenCode Sessions dialog listing named and dated conversations with ping pong highlighted and pin, delete and rename keyboard shortcuts below
    Sessions 对话框——按名字和日期排列的对话,置顶、删除、重命名都只需一次按键。在 9:05 观看
  3. 11

    喜欢窗口和按钮?桌面端还是 beta

    opencode.ai 在终端之外还提供了 macOS、Windows 和 Linux 的桌面端 beta。本攻略的 Tab 加徽章流程属于终端 TUI;桌面 beta 更年轻——如果那边计划模式长得不一样或找不到,先更新应用,或者回到行为有文档保证的终端里跑 opencode。

    opencode.ai homepage with the banner Desktop app available in beta on macOS, Windows, and Linux above the open source AI coding agent headline and curl install command
    opencode.ai 自己的横幅:桌面应用已在 macOS、Windows 和 Linux 上开放 beta——终端仍是基准。在 1:10 观看

OpenCode 计划模式 vs 构建模式

两者都是共享同一场对话的主代理;变的是各自能做什么、由哪个模型来回答。真正重要的差异:

  • 1改动的权限:Build 启用全部工具;Plan 的文件编辑默认拒绝或需确认,bash 先询问。这是应用层的权限强制——不是模型能自己说服自己忽略的客套指令。
  • 2每个模式一个模型:/models 只作用于当前代理,所以 Plan 可以跑强推理模型,Build 跑快的免费模型——视频里是 GLM-5.2 和 MiMo V2.5 Free。opencode.json 的 agent.model 可以固定这个分工。
  • 3输出的形状:Plan 给出检查摘要、澄清提问和带验证步骤与取舍的计划文档;Build 给出编辑、新建文件和 todo 清单。
  • 4切换成本:一次 Tab,对话中途生效,Shift+Tab 可逆。状态栏徽章永远标明当前代理,所以"计划模式不生效"的时刻,往往只是徽章在悄悄显示 Build。
  • 5失败时的表现:让 Plan 实现,它会拒绝并复述计划;让 Build 实现,它立刻动手。想要改动?先 Tab——全部仪式就这么多。
  • 6可扩展性:两者都是内置主代理;你在 opencode.json 或 .opencode/agents/*.md 里定义的自定义代理也会加入同一条 Tab 循环,可以做出自己的只读评审或规划变体。

和 Claude Code 的计划模式相比:思路相同,机制不同。Claude Code 按 Shift+Tab 直到出现 plan mode,并在你批准前锁住编辑;OpenCode 的信号是状态栏徽章,而且它的双模型分工是显式配置,不是某个模型的附带行为。

OpenCode 计划模式不见了或不生效?

大多数"plan mode not working"的求助最终都落在其中一条——都不用翻论坛:

  • 1CLI 太旧。代理循环和分代理模型都是比较新的能力;如果 Tab 按了没有 Plan 徽章,先查 opencode --version,再用 curl -fsSL https://opencode.ai/install | bash 重装。
  • 2你在找菜单项。计划模式没有设置页面——它就是状态栏上的徽章。徽章显示 Build,就说明你在构建模式;按一次 Tab 就翻过来了。
  • 3Tab 没反应。可能是终端把它吞了。改用 ctrl+x a(代理列表)或 ctrl+p(命令面板),并在 tui.json 里把 agent_cycle 改成终端不抢占的键。
  • 4你在用桌面 beta。有文档保证的 Tab 流程属于终端;macOS、Windows 和 Linux 上的桌面应用是更年轻的 beta。先更新,或者直接在终端里跑 opencode。
  • 5自定义代理改变了循环。opencode.json 或 .opencode/agents/ 里定义的代理也会成为主代理、加入 Tab 轮换——Plan 可能只是远了一次按键,或者你的配置改掉了默认项。
  • 6恢复会话后的困惑。opencode -c 会重开上一场对话,徽章显示的是当前激活的代理。恢复后扫一眼状态栏;有意外,一次 Tab 就能纠正。

不会坏的东西:模型选择。Plan 的只读行为来自权限设置,任何已连接的模型都能安全规划——弱模型只是规划得更差。如果 OpenCode 真在徽章显示 Plan 时改了文件,那是值得上报的 bug;实际上先看徽章,因为它几乎总是 Build。

常见问题

相关 AI 编程攻略