План-режим в OpenCode: переключение, план, сборка (2026)
План-режим OpenCode на пальцах: Tab переключает между агентами Plan и Build, планы только для чтения с уточняющими вопросами, отдельные модели на режим — и что делать, если план-режим пропал.
Коротко
- В OpenCode два основных агента — Build и Plan. Tab переключает между ними; бейдж в строке статуса (Plan · Big Pickle, Build · MiMo) всегда показывает, кто сейчас слушает.
- План-режим по дизайну работает только на чтение: правки файлов запрещены или требуют подтверждения, bash спрашивает разрешение — вы получаете анализ репозитория, уточняющие вопросы и план-документ, ни один файл не меняется.
- /models выполняется на каждый режим: сильная модель для планирования (в записи GLM-5.2), дешевая бесплатная для сборки (MiMo V2.5 Free). Закрепляется через agent.model в opencode.json.
- План-режим «пропал»? Обновите CLI, ищите бейдж в строке статуса, а не пункт меню, переназначьте Tab, если терминал его съедает — и помните, что десктоп-приложение все еще в бете.
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
Запустите OpenCode и найдите бейдж режима
Выполните opencode внутри проекта. Терминальный интерфейс открывается со строкой статуса под промптом: там написано Plan или Build плюс активная модель — в записи Plan · Big Pickle OpenCode Zen. Этот бейдж и есть дом план-режима: отдельного меню план-режима искать не нужно. Подсказка в подвале (tab agents) даже говорит, как отсюда уйти.

Приветственный экран OpenCode — до всего один Tab: в строке статуса уже горит Plan · Big Pickle OpenCode Zen.Смотреть на 0:50 - 2
Поймите, что такое план-режим (и что он отказывается делать)
Plan — один из двух основных агентов OpenCode. У Build включены все инструменты; Plan ограничен — по умолчанию правки файлов запрещены или требуют подтверждения, а bash сначала спрашивает. В документации он описан как агент для случаев, когда нужно, чтобы LLM анализировал код, предлагал изменения или создавал планы без реальных модификаций. Попросите его все же реализовать — он откажется, и этот отказ и есть работающая функция.

После смены модели бейдж читается как Plan · GLM-5.2 OpenCode Go — у Plan своя модель, отдельно от Build.Смотреть на 1:35 - 3
Переключайте агентов клавишей Tab
Tab циклит Plan → Build → Plan; Shift+Tab — в обратную сторону. Это кейбинд agent_cycle и весь переключатель целиком — агент, модель и разрешения меняются вместе прямо посреди разговора. Любите меню? ctrl+x a открывает список агентов, ctrl+p — палитру команд, а opencode --agent plan запускает сразу в план-режиме из шелла.
Часть 2 — Планируем работу, только чтение
- 4
Подключите провайдера, чтобы список моделей не был пуст
У свежей установки список моделей пуст, пока не подключен провайдер. Выполните /connect — или выберите Connect provider внизу селектора моделей — и возьмите OpenCode Zen, рекомендуемую недорогую подписку, либо принесите API-ключи Groq, GitHub Copilot, Anthropic или Google. Бесплатных моделей вроде Big Pickle или MiMo V2.5 Free для этого разбора хватит с запасом.

Диалог Connect a provider: OpenCode Zen в роли рекомендуемого, ниже — Groq, GitHub Copilot, Anthropic и Google.Смотреть на 3:05 - 5
Дайте каждому режиму свою модель
Выполните /models в план-режиме и выберите сильную модель для планирования — качество плана решает все остальное. Затем нажмите Tab и выполните /models снова, чтобы назначить подешевле на сборку; в записи GLM-5.2 работает на Plan, а MiMo V2.5 Free — на Build. Закрепить разделение навсегда можно через agent.model в opencode.json.

Диалог Select model с моделями Zen с меткой Free — благодаря списку Recent двойная смена занимает две секунды.Смотреть на 1:13 - 6
Отправьте задачу; ответьте на вопросы агента
В план-режиме описывайте результат, а не шаги — в записи OpenCode просят установить Tailwind CSS в простой HTML-проект. Агент Plan осматривает репозиторий в режиме чтения и возвращает диалог с выбором: тег script через CDN, установка через npm, отдельный бинарник — или впишите свой ответ. Стрелки выбирают; свободный текст работает, когда ни один вариант не подходит.

Диалог уточняющих вопросов агента Plan — четыре варианта плюс запасной выход для собственного ответа, и все это до касания первого файла.Смотреть на 3:00 - 7
Читайте план: верификация и компромиссы
Готовый план — это документ, а не дифф: текущее состояние, решения, чек-лист верификации и раздел компромиссов — план в записи помечает, что Play CDN требует интернета и не подходит для продакшена. Ничего еще не изменено; пункты, которые вы читаете, описывают то, что Build сделает после вашего одобрения.

Чек-лист верификации и раздел компромиссов плана — честно названные издержки, и по-прежнему ноль измененных файлов.Смотреть на 4:58 - 8
Одобрите — OpenCode передаст эстафету Build
План заканчивается вопросом-передачей: попробовать этот план, когда выйдете из план-режима, или сначала что-то подправить? Одобрение все еще ничего не правит — Plan остается только для чтения, пока вы не смените агента. В строке статуса по-прежнему Plan; в момент нажатия Tab тот же разговор продолжается в Build с полным доступом к файлам.

Полный план с вопросом об одобрении под ним, и оба бейджа — Plan и Build — видны в строке статуса.Смотреть на 5:10
Часть 3 — Переключаемся на Build и двигаемся дальше
- 9
Tab на Build — и пусть реализует
Нажмите Tab — бейдж переворачивается в Build · MiMo V2.5 Free — и скажите «реализуй». У Build есть все инструменты: он правит index.html, пишет конфиг Tailwind и вычеркивает пункты todo-листа, который вы видите в прямом эфире. Та же команда в план-режиме — и OpenCode откажет; todo-лист и правки появляются только на стороне Build.

После Tab бейдж читается как Build · MiMo V2.5 Free, и с началом реализации появляется список Todos.Смотреть на 5:20 - 10
Держите сессии в порядке
ctrl+x l открывает список сессий: каждый разговор с именем и датой, переименование через ctrl+r, а возвращающиеся можно закрепить. Сессии живут в глобальной папке OpenCode, а не в проекте, поэтому переживают перезапуски — в записи перескакивают между болтовней-черновиком и сессией с Tailwind, не потеряв ни токена контекста.

Диалог Sessions — разговоры с именами и датами, а закрепление, удаление и переименование в одном нажатии.Смотреть на 9:05 - 11
Предпочитаете окна и кнопки? Десктоп пока в бете
opencode.ai рекламирует рядом с терминалом десктоп-приложение в бете для macOS, Windows и Linux. Поток «Tab и бейдж» из этого гайда относится к TUI, а десктопная бета — более молодой софт: если план-режим там выглядит иначе или отсутствует, обновите приложение или запустите opencode в терминале, где поведение задокументировано.

Собственный баннер opencode.ai: десктоп-приложение доступно в бете на macOS, Windows и Linux — эталон остается за терминалом.Смотреть на 1:10
План-режим OpenCode против build-режима
Оба — основные агенты, разделяющие один разговор; меняется то, что каждому разрешено, и какая модель отвечает. Различия, которые имеют значение:
- 1Право менять: Build включает все инструменты; у Plan правки файлов по умолчанию запрещены или требуют подтверждения, а bash сначала спрашивает. Это принуждение на уровне разрешений приложения — а не вежливая инструкция, которую модель может уговорить себя игнорировать.
- 2Модель на режим: /models действует на активного агента, поэтому Plan может гонять сильный ризонер, пока Build работает на быстрой бесплатной модели — в записи GLM-5.2 и MiMo V2.5 Free. agent.model в opencode.json фиксирует разделение.
- 3Форма ответа: Plan отвечает сводками осмотра, уточняющими вопросами и план-документом с шагами верификации и компромиссами; Build — правками, созданными файлами и todo-листом.
- 4Цена переключения: одно нажатие Tab, посреди разговора, обратимо через Shift+Tab. Бейдж в строке статуса всегда называет активного агента, поэтому момент «plan mode not working» чаще всего — это просто бейдж, тихо говорящий Build.
- 5Поведение при отказе: попросите Plan реализовать — он откажется и повторит план; попросите Build — он тут же правит файлы. Нужны изменения? Сначала Tab — вся церемония.
- 6Расширяемость: оба — встроенные основные агенты; кастомные агенты из opencode.json или .opencode/agents/*.md вступают в тот же цикл Tab — можно завести свои review-only или планирующие вариации.
В сравнении с план-режимом 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, вы в build-режиме; одно нажатие Tab, и он перевернется.
- 3Tab ничего не делает. Ваш терминал, возможно, его глотает. Используйте ctrl+x a (список агентов) или ctrl+p (палитру команд), а agent_cycle в tui.json переназначьте на клавишу, которую терминал не перехватывает.
- 4Вы в десктопной бете. Задокументированный поток на Tab относится к терминалу; десктоп-приложение для macOS, Windows и Linux — более молодой бета-софт. Обновите его или запустите opencode в терминале.
- 5Кастомный агент изменил цикл. Агенты, определенные в opencode.json или .opencode/agents/, тоже становятся основными и попадают в ротацию Tab — Plan мог оказаться на нажатие дальше, или ваша конфигурация переименовала дефолт.
- 6Путаница после возобновления. opencode -c заново открывает последний разговор, а бейдж показывает, какой агент активен сейчас. После возобновления взгляните на строку статуса; удивила — один Tab все исправит.
Что не ломается: выбор модели. Поведение «только чтение» у Plan идет из настроек разрешений, поэтому любая подключенная модель планирует безопасно — слабая модель просто планирует хуже. Если бы OpenCode правил файлы при бейдже Plan, это был бы баг для репорта; на практике сначала смотрите на бейдж — почти всегда это Build.
