Track
OpenCode создан, чтобы выполнять задачи. Это открытый агент, который подключает ИИ‑модель к вашему репозиторию, терминалу и инструментам разработки. Попросите его исправить баг — он найдёт нужные файлы, составит план, отредактирует код, запустит тесты и отреагирует на ошибки. Одна лишь автодополнение так не умеет.
Эта более широкая роль привлекла внимание. На момент написания активный репозиторий OpenCode имел около 189 000 звёзд на GitHub. Я бы не считал звёзды доказательством качества кода, но они показывают, насколько проект интересен.
Реальность не так аккуратна. OpenCode даёт вам выбор моделей и просит этот выбор управлять. Изменение политики провайдера в январе 2026 года показало, как быстро могут меняться варианты. Я расскажу об этом вместе с тем, как работает OpenCode и какое место он занимает.
Небольшая ремарка о названии: если вы ищете OpenCode, можете наткнуться на заархивированный, написанный на Go opencode-ai/opencode репозиторий. Тот проект перестали поддерживать в сентябре 2025 года. Мы сосредоточимся на актуальном проекте на github.com/anomalyco/opencode, созданном командой фреймворка Serverless Stack (SST).
Что такое OpenCode?
OpenCode — это открытый ИИ‑агент для кодинга, выпущенный под лицензией MIT. Он модельно‑агностичен, то есть не привязан к одному провайдеру моделей. Пользователи могут читать исходники и изменять их. Можно также развернуть инструмент у себя. Программа бесплатна. Оплата за модели производится отдельно — об этом ниже в разделе с функциями.

OpenCode — это не большая языковая модель (LLM). Выбранная модель читает подсказки и создаёт ответы. OpenCode предоставляет инструменты для работы с файлами, доступ к оболочке, историю сессий, правила разрешений и интерфейс вокруг этой модели. Это различие важно: смена модели не требует менять остальную часть инструмента.
Его создаёт компания Anomaly (ранее SST), он написан в основном на TypeScript и Bun.

Сравнение заархивированного и текущего репозиториев OpenCode. Изображение автора.
OpenCode не привязан к одному семейству моделей. Через реестр Models.dev он подключается к более чем 75 провайдерам, включая Anthropic, OpenAI, Google, DeepSeek, Groq и локальные модели через Ollama. Некоторые уже существующие подписки также можно подключить — об этом в разделе с функциями.

Терминальная сессия OpenCode с показом изменений файлов. Изображение автора.
Хотя OpenCode начинался как терминальный инструмент, сейчас он поставляется как терминальный интерфейс (TUI), бета‑версия настольного приложения для macOS, Windows и Linux, а также расширения для редакторов вроде VS Code. Последний стабильный релиз на момент написания — v1.18.8.
Зачем создали OpenCode
Как я уже упоминал, OpenCode поддерживает модели от многих провайдеров. Его сделали таким, потому что качество и цены моделей меняются, а инструмент, привязанный к одному провайдеру, оставляет пользователю меньше вариантов.
В документации сказано, что OpenCode не связан с каким‑либо провайдером. Упомянутый выше реестр Models.dev предоставляет детали и цены моделей, которыми пользуется OpenCode.
Этот выбор влияет не только на биллинг. У разных моделей разные лимиты контекста, форматы вызова инструментов и типы ввода. OpenCode использует единый интерфейс для этих различий. Разработчик может сменить выбранную модель в том же проекте, не перенося сессию в другой инструмент.
Команда также предпочитает инструменты с приоритетом терминала, которые пользователи могут изучать. Инструкции проекта хранятся в простом файле под названием AGENTS.md. Позже я объясню, как OpenCode создаёт и использует этот файл.
Официальный проект отмечает три проектных решения. Первое — поддержка провайдеров, о которой уже говорилось. Второе — основные элементы управления остаются в терминале. Третье — разделение клиента и сервера. Далее — об этом разделении.
В январе 2026 года Anthropic заблокировала использование потребительских подписок Claude сторонними инструментами через неофициальные каналы. После этого OpenCode добавил другие варианты подписок и использовал собственный шлюз. Пользователи по‑прежнему могли подключаться через других провайдеров.
Этот эпизод объясняет, почему выбор провайдера в OpenCode так важен. Чтобы увидеть, как этим выбором пользуются, дальше посмотрим на сессию.
Как работает OpenCode
OpenCode запускается как клиент и локальный сервер. TUI, настольное приложение, расширения IDE и SDK общаются с этим сервером по HTTP. Тот же сервер поддерживает удалённое подключение через opencode attach <url> и безголовый режим через opencode serve.
Внутри сессии агент читает релевантные файлы, может составить план, редактирует код и по необходимости запускает команды. Интеграция с Language Server Protocol (LSP) затем передаёт диагностические сообщения компилятора и линтера обратно модели, чтобы она могла реагировать на ошибки типов и синтаксиса.
Например, задача может начаться с glob или grep для поиска файлов. Агент может использовать read для их просмотра и edit для изменения выбранных строк. Затем он может выполнить bash, чтобы запустить тест или сборку. Вывод станет частью следующего запроса к модели.
Разделение Build и Plan проще всего понимать как переключатель разрешений. Build — режим по умолчанию, он может читать, писать и выполнять команды. Plan спрашивает перед редактированием файлов или выполнением команд bash. Переключение между ними — клавишей Tab.
Проверки разрешений применяются при вызове инструмента. Проект может разрешить инструмент, заблокировать его или спрашивать пользователя каждый раз. Правила также можно варьировать по шаблонам команд. Например, команда может разрешить рутинные тесты, но спрашивать перед другими командами оболочки.
Сессии хранятся локально на диске в каталоге данных OpenCode. OpenCode автоматически сжимает длинные разговоры. Команды /undo и /redo перемещаются по снимкам файлов на базе Git.
Ключевые возможности OpenCode
OpenCode группирует свои основные функции по доступу к моделям, контексту проекта, выполнению задач и локальному использованию. Ниже — как каждая группа влияет на ход сессии.
Поддержка нескольких моделей
Как уже упоминалось, OpenCode получает список провайдеров через Models.dev. На практике пользователи могут подключить хостинговый сервис, облачную платформу или совместимую с OpenAI конечную точку. GitHub Copilot и логины ChatGPT Plus/Pro дают альтернативу управлению отдельным API‑ключом.
Выбор провайдера не означает, что все модели ведут себя одинаково. Использование инструментов, лимиты контекста, время ответа и цена по‑прежнему зависят от выбранной модели и провайдера. Вызовы к хостинговым моделям также отправляют необходимый кодовый контекст этому провайдеру по его собственным правилам работы с данными.
OpenCode также предлагает два необязательных способа доступа к моделям. OpenCode Zen — это постоплатный шлюз с выбранным списком моделей. OpenCode Go — подписка за $5 в первый месяц, затем $10 в месяц, для выбранных моделей с открытыми весами. Пользователи всё ещё могут указать собственные API‑ключи. Цены могут меняться.
Вот что раздражает: бесплатный инструмент всё равно может привести к счетам от провайдера.
Работа с контекстом репозитория
Выполните /init — и OpenCode сгенерирует AGENTS.md — сводку структуры и соглашений проекта. Команды могут закоммитить этот файл, чтобы сессии начинались с общих инструкций.
Файл может включать команды тестов, имена папок, правила именования и заметки о проекте. Глобальный AGENTS.md может хранить инструкции, используемые в разных проектах. Файл проекта содержит правила для одного репозитория.
Описанные ранее проверки LSP запускаются после правок. Контекст репозитория также включает ссылки на файлы: символ @ подтягивает выбранный файл в подсказку.
Выполнение задач по кодингу
Помимо описанных ранее агентов Build и Plan, OpenCode включает субагентов для многошагового поиска, сканирования кодовой базы и внешней документации. Пользовательские агенты могут иметь собственную модель, подсказку и разрешения на инструменты.
Каждый субагент работает в дочерней сессии, поэтому его сообщения не засоряют основную сессию в той же мере. Пользовательский агент можно ограничить чтением файлов, назначить ему более дешёвую модель или выдать инструкции под одну задачу.
Model Context Protocol (MCP)‑серверы добавляют внешние сервисы. Они задаются в opencode.json, и на инструменты, которые они добавляют, также распространяются описанные ранее проверки разрешений.
Приоритет локальной разработки (и её ограничения)
Термин «локальный приоритет» нуждается в оговорке. Я не стал бы понимать его как обещание, что ничего никогда не покинет машину. Как отмечено в разделе о провайдерах, OpenCode может подключаться к Ollama. Такая настройка держит код и подсказки на локальной инфраструктуре. Хостинговые модели, /share и OpenCode Zen отправляют данные за пределы локальной машины.
Локальное использование всё равно зависит от модели. Малые модели могут возвращать неверные вызовы инструментов или не улавливать связи между файлами. Локальному серверу также нужно достаточно памяти для выбранной модели и достаточно контекстного пространства для файлов, отправляемых с каждым запросом.
Его система разрешений — это защита рабочего процесса, а не изолированная песочница безопасности. Сетевой серверный режим должен использовать OPENCODE_SERVER_PASSWORD и привязываться к localhost. Ранее выявленная проблема неаутентифицированной доступности была исправлена, но серверный режим всё равно не должен быть публично доступен без аутентификации.
Архитектура OpenCode
Как уже упоминалось, OpenCode разделяет клиентов и локальный сервер. Это влияет на конфигурацию и хранимое состояние. API добавляет ещё один способ использовать сервер.
Если вы планируете пользоваться только TUI, можно пропустить детали API. Параграф о конфигурации в конце — тот, который вам пригодится.
Сервер на TypeScript и Bun общается с провайдерами моделей и запускает инструменты. Он также управляет состоянием. Его спецификация OpenAPI 3.1 генерирует официальный @opencode-ai/sdk. Скрипты и пользовательские клиенты могут использовать этот документированный API.
API включает сессии, сообщения, файлы, провайдеров, инструменты, агентов и конфигурацию. Это тот же сервер, который используют собственные клиенты OpenCode. Скрипт может создать сессию или отправить сообщение, не пытаясь управлять TUI.

Клиенты OpenCode подключаются к одному серверу. Изображение автора.
Перечисленные ранее интерфейсы выступают клиентами: TUI, настольное приложение, расширение IDE и opencode web. Каждый общается с одним и тем же серверным процессом. Отдельное устройство может подключиться к существующей сессии через этот процесс.
Команда opencode serve запускает сервер без обычного TUI. Команда opencode web добавляет браузерный клиент. Обе команды требуют аутентификации, если к серверу можно добраться с другого устройства.
Конфигурация хранится в проектном opencode.json или opencode.jsonc, с глобальным файлом по умолчанию ~/.config/opencode/opencode.json. Он управляет моделями, разрешениями, MCP‑серверами и пользовательскими агентами. Как описано в разделе о процессах, история сессий и логи инструментов остаются в локальных файлах, если пользователь их не шарит.
Распространённые процессы в OpenCode
Одни и те же части OpenCode применимы к нескольким типичным задачам разработки ПО. Примеры ниже показывают, где по‑прежнему важна проверка человеком.
Создание новых функций
Используя описанный ранее процесс Plan‑to‑Build, разработчик может запросить функцию и просмотреть предложенные шаги до любых правок. Нажатие Tab переводит задачу в режим Build для изменения кода и запуска тестов.
План можно скорректировать до любых изменений в файлах. Я бы использовал этот обзор, чтобы уточнить объём, назвать файлы, которые нельзя менять, или добавить требования к тестам.
Рефакторинг существующего кода
Тот же процесс Plan‑to‑Build подходит для рефакторинга. Режим Plan может выявить зависимости и места вызовов до того, как режим Build применит правки. Если результат неверен, /undo восстановит прежний снимок. Пользователь всё равно должен просмотреть дифф, потому что пройденные тесты не гарантируют, что все публичные интерфейсы остались прежними.
Отладка приложений
Для отладки OpenCode может сочетать стек‑трейс с информацией о типах от языкового сервера. Он может предложить правку, повторить шаги, вызвавшие ошибку, и проверить результат. Без чётких шагов воспроизведения он может лишь подтвердить, что код собирается или что существующие тесты проходят.
Написание тестов
Как отмечалось, режим Build может редактировать файлы и выполнять команды. Для написания тестов это означает, что он может создать тест, прочитать результат и внести ещё правки. Полный набор тестов даёт больше обратной связи, но занимает больше времени.
Качество тестов всё равно требует проверки человеком. Сгенерированный тест может воспроизводить реализацию вместо проверки поведения, от которого зависят пользователи.
Понимание больших кодовых баз
Раздел о репозитории объяснял, как /init создаёт заметки о проекте. После этого вопрос вроде «Как здесь устроена аутентификация?» может направить поиск. Субагент @general может искать по нескольким частям репозитория.
Конкретные вопросы обычно дают более ясные результаты, чем просьбы объяснить весь репозиторий. Ссылки на файлы с @ могут ещё сильнее сузить поиск.
OpenCode и другие ИИ‑агенты для кодинга
Эти инструменты различаются лицензией, поддержкой моделей, интерфейсом и биллингом. Я сравниваю их по этим пунктам, а не рассматриваю один инструмент как выбор по умолчанию.
OpenCode и Claude Code
У нас есть отдельная статья OpenCode против Claude Code с подробностями. Claude Code — проприетарный инструмент, использующий модель и систему аккаунтов Anthropic. OpenCode распространяется под MIT и просит пользователя выбрать провайдера. Он также даёт доступ к исходному коду и конфигурации. Как упоминалось в разделе истории, потребительские подписки Claude больше не работают через OpenCode, поэтому для использования Claude нужен тарифицируемый API‑ключ Anthropic.
Оба инструмента могут читать файлы, вносить изменения, выполнять команды и использовать MCP‑серверы. Главная разница — доступ к моделям: Claude Code остаётся в рамках описанной выше экосистемы Anthropic, а OpenCode может подключать других провайдеров или локальную конечную точку.
OpenCode и Cursor
Cursor — это IDE на базе VS Code, которая также предлагает CLI и облачных агентов. Основной процесс держит подсказки, изменения файлов и действия агента внутри редактора. OpenCode использует перечисленные ранее интерфейсы терминала, настольного приложения и редактора. Cursor работает по платным подпискам. ПО OpenCode бесплатно, но пользователи могут платить провайдеру модели за токены. Главные различия — интерфейс работы, выбор модели и способ биллинга.
Cursor также включает встроенное дополнение кода при наборе. OpenCode фокусируется на задачах, поручаемых агенту, и не заменяет такую форму дополнения. Некоторые разработчики могут использовать оба типа инструментов для разных задач.
OpenCode и Cline
Cline в основе — открытый агент BYOK с интерфейсами VS Code и CLI. У него также есть клиент для JetBrains, хотя на момент написания этот клиент не является открытым. И Cline, и OpenCode поддерживают MCP и позволяют задавать правила одобрения. Cline размещает элементы управления редактора в боковой панели. OpenCode использует терминальные сессии, которые могут работать отдельно от редактора. Выбор зависит главным образом от того, где разработчику удобнее просматривать и одобрять изменения.
Cline использует лицензию Apache 2.0. OpenCode — упомянутую MIT. Обе допускают просмотр исходников и изменения, но их интерфейсы и проектные файлы различаются.
Aider и Codex CLI — тоже терминальные агенты для кодинга. OpenCode охватывает терминал, рабочий стол и IDE в рамках одного проекта и поддерживает модели от нескольких провайдеров.
Установка и начало работы с OpenCode
Официальный скрипт установки работает на большинстве Unix‑подобных систем. Он предоставляет один из способов установки инструмента командной строки:
Команда скачивает бинарник OpenCode и добавляет его в окружение пользователя. Пакетный менеджер может подойти лучше, если обновления управляются вместе с остальной системой.
curl -fsSL https://opencode.ai/install | bash
Варианты через пакетные менеджеры включают npm i -g opencode-ai@latest, brew install anomalyco/tap/opencode на macOS и Linux, а также scoop install opencode или choco install opencode в Windows. Доступно настольное приложение для macOS, Windows и Linux. В Windows документация OpenCode рекомендует WSL, поскольку некоторые функции файловой системы и оболочки там работают лучше.
Установка не включает доступ к модели. Для первой сессии всё равно нужен один из способов доступа, описанных в разделе о множестве моделей.
После установки первый запуск короткий. Он охватывает подключение провайдера и начальную настройку проекта:
- Запустите
opencodeв каталоге вашего проекта, чтобы открыть TUI. - Выполните
/connect, чтобы добавить провайдера модели — будь то прямой API‑ключ, логин Copilot или ChatGPT, либо подключение OpenCode Zen или Go. - Выполните
/init, чтобы создать файлAGENTS.md, описанный ранее, затем закоммитьте его, если команде нужны общие инструкции. - Используйте
Tab, чтобы переключаться между режимами Plan и Build, описанными выше.
Эти шаги покрывают начальную настройку. Полные варианты провайдеров и конфигурации — в документации OpenCode.
Кому подойдёт OpenCode?
Подойдёт ли OpenCode, зависит от предпочтительного интерфейса, настроек моделей и уровня контроля. По рассмотренным функциям он может подойти следующим пользователям и командам:
Подойдёт:
- Разработчикам, которые не хотят быть привязаны к одному провайдеру модели и хотят переключаться по цене или возможностям
- Командам в регулируемых или чувствительных к приватности средах, которым нужно держать код на локальной инфраструктуре
- Разработчикам с приоритетом терминала, которым комфортны CLI‑процессы и конфигурационные файлы
- Контрибьюторам open source, которые хотят изучать, форкать или расширять сам инструмент
- Разработчикам, которые предпочитают биллинг по токенам вместо фиксированной подписки на ПО
Не подойдёт:
- Тем, кто хочет управляемый продукт с минимальной или нулевой настройкой
- Разработчикам, которым в основном нужно встроенное автодополнение, а не автономный агент
- Тем, кто планирует использовать только Claude и предпочитает подписку тарификации по API
- Тем, кто совсем не хочет работать с терминалом, хотя настольное приложение частично сокращает этот разрыв
Это различия в рабочих процессах, а не меры качества кода. Больше контроля над моделями и разрешениями означает и больше настроек.
Будущее OpenCode
Я почти убрал этот раздел, потому что дорожные карты быстро устаревают. Но уже вышедшие изменения показывают направление работы команды.
За первый год OpenCode выпустил более 800 версий. Недавние релизы добавили вкладки в настольном приложении и экспериментальных фоновых агентов. Это количество релизов говорит об активности, но я бы не рассматривал его как обещание стабильности или будущих функций.
Обсуждавшиеся выше варианты Zen и Go добавили способы оплаты наряду с BYOK. Поддержка MCP и субагенты также остаются активными частями проекта. Эти же области меняются и в других инструментах для кодинга.
Публичной дорожной карты, подтверждающей следующую функцию или дату её релиза, нет. Утверждения о будущем остаются неопределёнными.
Вывод
Главная мысль из введения — разделение агента и модели. Списки провайдеров меняются, цены двигаются, правила доступа сдвигаются, подписки исчезают; OpenCode может оставаться на месте, пока меняется выбранная модель. Но такое разделение требует работы: кому‑то всё равно нужно управлять настройкой, разрешениями и биллингом.
Мой взгляд прост: выбирайте по тому, сколько контроля вы готовы брать на себя. Единого варианта для всех разработчиков или команд нет.
Смежные материалы: руководство по Claude Code и курс «AI‑ассистированное программирование для разработчиков».
FAQs
OpenCode действительно бесплатно?
Как уже упоминалось, программное обеспечение под MIT бесплатно. Затраты зависят от выбранного пути доступа к моделям: токены провайдера, Zen или Go, либо железо для локальной модели.
Могу ли я использовать модели Claude в OpenCode?
Да, через стандартный API‑ключ Anthropic. Как упоминалось ранее, личные подписки Claude Pro и Max нельзя направить через OpenCode, поэтому Anthropic тарифицирует такое использование по ставкам API.
Работает ли OpenCode без подключения к интернету?
Да. В разделе о локальных моделях объяснялось, что OpenCode может подключаться через Ollama или другую конечную точку, совместимую с OpenAI. Меньшие локальные модели могут делать больше ошибок вызовов инструментов, чем крупные хостинговые модели.
Является ли заархивированный репозиторий opencode-ai/opencode тем же проектом?
Нет. Как упоминалось во введении, тот проект на Go был заархивирован в сентябре 2025 года. Дополнительная проверка — формат конфигурации: руководства, использующие старые команды или файл .yml, не относятся к текущему проекту.
Как OpenCode относится к приватности моего исходного кода?
Как описано в разделе о локальном использовании, запросы к хостинговой модели покидают машину. Сам OpenCode код не сохраняет. Команда /share — ещё одно исключение, так как она загружает сессию по публичной ссылке, пока пользователь не отменит шаринг.