Перейти к содержимому

OpenCode

OpenCode — открытый (open source, лицензия MIT) кодинг-агент, главная особенность которого — независимость от провайдера моделей. В отличие от фирменных харнесов (agent harness), привязанных к моделям своей компании, OpenCode позволяет работать с моделями Anthropic, OpenAI, Google, десятков других провайдеров и с локальными моделями, а также переключаться между ними в любой момент.

Основной форм-фактор — терминальный интерфейс TUI (text user interface): полноэкранное приложение в терминале с историей диалога, подсветкой изменений и командами. Есть также десктоп-приложение и IDE-расширение. Проект начинался в команде SST, сейчас развивается компанией Anomaly; репозиторий — github.com/anomalyco/opencode.

Стандартный набор инструментов кодинг-агента: чтение и редактирование файлов, поиск по коду, запуск команд, веб-запросы. Дополнительно OpenCode интегрируется с LSP (Language Server Protocol), теми же языковыми серверами, что используют редакторы кода, и за счёт этого точнее понимает структуру проекта: определения, ссылки, ошибки компиляции.

Для каждого инструмента настраиваются разрешения: allow (выполнять без вопросов), ask (спрашивать подтверждение), deny (запретить), в том числе по маскам конкретных команд.

В OpenCode встроены два основных режима-агента, переключаемых клавишей Tab:

  • Build — полный доступ к инструментам, обычная работа над кодом;
  • Plan — режим анализа и планирования, в котором агент не вносит изменений.

Помимо них есть встроенные субагенты — вспомогательные агенты с отдельным контекстным окном: например, read-only агент для исследования кодовой базы или для изучения документации зависимостей. Основной агент вызывает их сам, либо вы обращаетесь к ним явно через @имя в сообщении. Собственных агентов и субагентов можно описывать markdown-файлами с frontmatter (модель, промпт, разрешения) в папке .opencode/agents/; по духу это близко к скилам, хотя формат свой.

  • Роль памяти проекта играет файл AGENTS.md, тот же формат, что у Codex и других харнесов; команда /init создаёт его по содержимому репозитория.
  • MCP поддерживается: локальные и удалённые MCP-серверы подключаются через конфигурацию opencode.json, их инструменты становятся доступны агенту.

Это главная причина выбирать OpenCode. Через каталог Models.dev доступны более 75 провайдеров: Anthropic, OpenAI, Google, Mistral, DeepSeek, локальные модели через Ollama и другие. Подключить их можно командой /connect (или opencode auth login) в интерфейсе.

Платить можно по-разному:

  • Свои API-ключи — вы платите провайдеру за токены напрямую, OpenCode бесплатен.
  • Существующие подписки — можно подключить, например, аккаунт ChatGPT или GitHub Copilot и использовать их лимиты.
  • OpenCode Zen — необязательный платный шлюз от разработчиков с отобранными и протестированными моделями; удобен, если не хочется заводить ключи у каждого провайдера.

Смена модели посреди работы — обычное дело: дорогую модель берут для сложной задачи, дешёвую оставляют для рутины. Почему это может быть важно, мы обсуждали на странице «Провайдеры и семейства моделей».

Сильные стороны:

  • Свобода выбора модели: не привязаны ни к одному провайдеру, можно сравнивать модели на своих задачах и переключаться при выходе новых.
  • Открытый исходный код и активное сообщество; можно изучить и доработать под себя.
  • Гибкая система агентов, разрешений и конфигурации; LSP-интеграция.
  • Бесплатен сам по себе: платите только за модели.

Ограничения:

  • Фирменные харнесы (Claude Code, Codex) иногда тоньше настроены под «свои» модели: провайдер обучает модель и обвязку вместе. Универсальный харнес такой подгонки не имеет.
  • Новые возможности провайдеров могут появляться в OpenCode с задержкой: сообществу нужно время на поддержку.
  • Обилие настроек (провайдеры, агенты, разрешения) требует больше внимания при первичной настройке, чем «включил и работает» у фирменных инструментов.
  • Тем, кто не хочет привязываться к одному провайдеру или хочет сравнивать модели на реальных задачах.
  • Командам с требованиями к инфраструктуре: свои ключи, свои лимиты, локальные модели для чувствительного кода.
  • Тем, у кого уже есть подписка ChatGPT или Copilot и кто хочет использовать её в терминальном агенте.
  • Сторонникам открытого ПО, которым важно видеть и менять код инструмента.

Установка (любой из вариантов):

curl -fsSL https://opencode.ai/install | bash
npm install -g opencode-ai

Первый запуск делается из папки проекта:

opencode

Внутри выполните /connect, выберите провайдера и авторизуйтесь (или задайте API-ключ), затем /init для создания AGENTS.md. После этого можно ставить первую задачу.

  • pi (pi.dev): противоположный подход: минимальное ядро вместо богатой функциональности.
  • Контекст-инжиниринг: как осознанно управлять тем, что видит модель, независимо от харнеса.

Автор учебника — Шахматов Алексей