Вышел OpenCode 2.0: фоновый сервис, новый API и code mode для MCP

Вышел OpenCode 2.0: фоновый сервис, новый API и code mode для MCP

Команда OpenCode опубликовала анонс версии 2.0 своего кодинг-агента и называет её масштабной переработкой. По словам авторов, релиз опирается на опыт миллионов ежедневных пользователей. Ниже главные изменения, которые перечислены в посте.

Сервис. Клиент-серверная модель в OpenCode была с самого начала, но по умолчанию её не использовали, ею в основном пользовались опытные пользователи. В 2.0 сервер автоматически запускается как единый фоновый процесс на машине, и TUI, веб-интерфейс и десктопное приложение работают с одним и тем же центральным процессом. Программный клиент @opencode/client сам находит локальный сервис, что удобно для задач по расписанию; вызывать сервис можно и командами opencode api. Его можно открыть для других хостов командой /pair или opencode pair; авторы говорят, что готовят нативные приложения, использующие этот сценарий.

API. Старый API, по признанию авторов, разрастался хаотично и был плохим. Его написали с нуля, изучив необычные сценарии использования у миллионов пользователей. OpenCode знает собственный API и сам вызывает его, например, чтобы перенести текущую сессию в git worktree при начале новой работы. Новый пакет @opencode/client содержит клиенты для обычного JavaScript и для Effect.

Code mode. В пакете @opencode/codemode написан минимальный JavaScript-интерпретатор. Он принимает MCP-серверы или OpenAPI-эндпоинты и превращает их в функции, которые агент вызывает в скрипте, без виртуальных машин Node.js и встраивания QuickJS. Скрипт может вызвать инструмент, обработать результаты и вызвать другой инструмент за один обмен с моделью, а не по одному вызову. Все MCP-серверы в 2.0 по умолчанию включены в codemode, поэтому, как утверждают авторы, можно подключить тысячу серверов при минимальном раздутии контекста, а агент сам найдёт и скомбинирует их.

Фоновые задачи. Добавлены фоновые субагенты: основной агент передаёт часть работы другому и продолжает свою. Это происходит автоматически, но можно запустить вручную, в том числе с другой моделью, например: «запусти фонового субагента fable, чтобы он проверил этот код». Также добавлены фоновые shell-команды: инструмент можно вызывать асинхронно, и долгая работа не блокирует основного агента, а по завершении он получает уведомление. Если команда или субагент в переднем плане работают дольше ожидаемого, горячая клавиша переносит их в фон.

Плагины. Система плагинов в 1.0 была, но ей не уделяли внимания. Чтобы это исправить, почти каждую функцию 2.0 реализовали как внутренний плагин, таких теперь больше 80, что, по словам авторов, гарантирует поддержку Plugin API в порядке. Плагины TUI из экспериментальных переведены в стабильные; интерфейс построен на OpenTUI. Всё в OpenCode 2.0 поддерживает горячую перезагрузку, поэтому агент может написать плагин для самого себя посреди сессии и сразу им пользоваться.

SDK. Пакет @opencode/sdk позволяет использовать OpenCode как библиотеку; это тот же код, что запускает CLI. Из него можно собрать урезанную версию, работающую на сервере или в специализированных средах вроде Durable Objects, и подключаться к ней любым клиентом OpenCode по стандартному серверному протоколу. Есть и необязательный API на основе Effect. SDK ещё в разработке, но уже пригоден к использованию.

Обновление. CLI обновляется с последней версии 1.x командой opencode upgrade --major, десктопное приложение скачивается заново. Несовместимые изменения: плагины 1.0 не работают в 2.0, серверный API полностью другой, конфигурация tui.json перенесена в json. Остальные изменения обратно совместимы. Авторы советуют направить OpenCode на документ о миграции, чтобы он сам перенёс настройки.

Ключевые факты

  • В OpenCode 2.0 сервер по умолчанию работает единым фоновым процессом, к которому подключаются TUI, веб-интерфейс и десктопное приложение.
  • API переписан с нуля; новый пакет @opencode/client содержит клиенты для обычного JavaScript и Effect, а @opencode/sdk позволяет использовать OpenCode как библиотеку.
  • Пакет @opencode/codemode превращает MCP-серверы и OpenAPI-эндпоинты в функции для скриптов агента; все MCP-серверы по умолчанию включены в этот режим.
  • Добавлены фоновые субагенты (в том числе с другой моделью) и фоновые shell-команды, которые не блокируют основного агента.
  • Есть несовместимые изменения: плагины 1.0 не работают в 2.0, серверный API полностью другой, конфигурация tui.json перенесена в json.

Почему это важно

OpenCode 2.0 меняет архитектуру кодинг-агента: вместо отдельных клиентов, которые мало кто связывал через сервер, теперь единый фоновый сервис, общий для TUI, веба и десктопа. Поверх него авторы ставят скриптовый режим для MCP и OpenAPI, где агент собирает цепочки вызовов в одном скрипте, и фоновые субагенты с асинхронными shell-командами. Это отражает заявленный подход: дать моделям, которые, по словам авторов, хорошо справляются с оркестрацией, возможность проявить эту способность.

Кому это важно

Пользователям OpenCode, которым предстоит миграция с 1.x. Авторам плагинов, чьи плагины 1.0 в 2.0 не заработают. Тем, кто пишет скрипты и автоматизацию (в том числе задачи по расписанию) поверх агента через @opencode/client или собирает собственную сборку на @opencode/sdk, в том числе для серверных сред вроде Durable Objects. Также тем, кто подключает много MCP-серверов и упирается в раздувание контекста.

Как это применить

Чтобы обновить CLI, нужно быть на последней версии 1.x и выполнить opencode upgrade --major; десктопное приложение скачивается заново. Скрипты могут обращаться к локальному сервису через @opencode/client: он сам находит его. Фоновые субагенты можно запускать вручную, в том числе с другой моделью, а долгую команду или субагента перенести в фон горячей клавишей. Для миграции авторы советуют указать самому OpenCode документ об изменениях, чтобы он перенёс настройки. Цены и лицензия в тексте не упомянуты.

Можно ли доверять

Это анонс от самой команды OpenCode, то есть первоисточник, но и материал рекламного характера: оценки вроде «более чем любой другой кодинг-агент» и «улучшения производительности» даны без бенчмарков и измерений. Цифра «миллионы ежедневных пользователей» не расшифрована и не подтверждена. Утверждение про тысячу MCP-серверов при минимальном раздутии контекста, слова авторов, а не результат замера. Имена авторов в тексте не указаны.

Риски и подводные камни

Релиз содержит несовместимые изменения: плагины 1.0 не работают, серверный API полностью другой, конфигурация tui.json перенесена в json, поэтому внешние интеграции придётся переделывать. SDK, по словам авторов, всё ещё в разработке, «поскольку многое меняется», так что его интерфейс может сдвигаться. Нативные приложения для подключения к открытому сервису пока только «в работе», сроки не названы. Горячая перезагрузка и самостоятельное написание плагинов агентом удобны, но результат такой генерации стоит проверять.

«OpenCode 2.0, это масштабная переработка.»

— из анонса OpenCode 2.0