OpenCode предлагает ИИ-агента для написания кода прямо в терминале. Когда видишь, что он понимает целый проект, а не только открытый файл, возвращаться к обычному редактору уже не хочется. Мы проводим большую часть дня в терминале, будь то отладка сервиса на сервере или написание Bash-скриптов. Поэтому, впервые попробовав OpenCode, мы не ожидали многого. До этого нам попадались ИИ-инструменты для кодинга, которые выглядели как надстройки к IDE и лишь угадывали происходящее по открытому файлу.
OpenCode с самого начала показал себя иначе. Мы указали ему на запутанный Node.js-проект примерно из 40 файлов и спросили, почему фоновая задача постоянно молча падает. Он самостоятельно отследил зависимости, открыл три нужных файла и показал, что логика повторных попыток проглатывает исключение. Весь процесс — около 90 секунд ввода команд и нескольких минут ожидания.
Продолжать использовать его нас заставила ориентированность на терминал. Это не браузерная обёртка и не плагин, конфликтующий с горячими клавишами редактора. Это полноценный терминальный интерфейс (TUI) с клиент-серверной архитектурой, так что агент продолжает работать, даже если сеанс терминала оборвётся.
Поскольку OpenCode не привязан к одному ИИ-провайдеру, мы можем выбирать Claude, OpenAI или даже локальную модель, в зависимости от задачи и бюджета на день.
Что именно делает OpenCode
OpenCode — это агент с открытым исходным кодом для написания кода с помощью ИИ. Он работает внутри терминала и использует языковую модель, чтобы читать, писать и изменять код в реальном проекте. Вместо копирования фрагментов в чат-окно вы просто указываете OpenCode папку проекта, объясняете задачу, а он напрямую взаимодействует с файлами, выполняет команды и, при необходимости, вносит правки.
Два аспекта выделяют его среди обычных обёрток над чат-ботами.
Во-первых, есть встроенные режимы агента, которые переключаются клавишей Tab. Режим build разрешает редактировать файлы и выполнять команды, что удобно, когда вы даёте агенту задачу на внесение изменений. Режим plan работает только на чтение и предназначен для анализа — помогает изучить и понять кодовую базу, прежде чем позволять что-то менять.
Во-вторых, OpenCode не зависит от одного провайдера, то есть вы не привязаны к единственному сервису. Его можно подключить к Claude, OpenAI, Google, GitHub Copilot или даже к собственной локальной модели. К тому же провайдера легко сменить в любой момент: полезно, если у одного из них действуют ограничения по частоте или цена становится слишком высокой для конкретной задачи.
Примечание: OpenCode создан командой, стоящей за инструментами для Neovim и terminal.shop, и внимание к деталям заметно в интерфейсе. Если вы уже много времени проводите в tmux и Neovim, то освоитесь за несколько минут. Если вы планируете построить на Linux полноценный рабочий процесс с ИИ, а не просто поэкспериментировать с одним инструментом, курс Claude Code for Linux Sysadmins на Pro TecMint охватывает агентные терминальные сценарии с самого начала.
Предварительные требования
Перед установкой OpenCode убедитесь, что у вас есть:
-
64-битная система Linux. Подойдут Ubuntu, Debian, RHEL и Rocky Linux.
-
Утилита
curl— официальный сценарий установки загружает бинарный файл OpenCode по HTTPS. -
Эмулятор терминала с поддержкой современных TUI, например GNOME Terminal, Alacritty, Kitty или терминал, запущенный в tmux.
-
Учётная запись хотя бы у одного поддерживаемого ИИ-провайдера: Claude, OpenAI, Google или GitHub Copilot.
-
Можно также использовать собственную локальную модель, если удобно.
-
Учётная запись обычного пользователя с правами
sudoдля системной установки OpenCode.
Node.js не требуется, если вы используете официальный скрипт. Он понадобится только при установке через npm. Далее покажем оба способа.
Шаг 1: установка curl и базовых компонентов
В большинстве дистрибутивов Linux curl уже имеется, но лучше убедиться в его наличии. Официальный установщик OpenCode скачивает бинарник через curl, поэтому без него не обойтись.
В Ubuntu и Debian:
sudo apt update && sudo apt install curl -y
В RHEL и Rocky Linux:
sudo dnf install curl -y
Команда sudo запускает пакетный менеджер с административными правами, потому что установка программ требует записи в системные каталоги. Если curl уже стоит, обе команды просто сообщат, что пакет присутствует, и завершатся без изменений.
Шаг 2: установка OpenCode
Самый простой способ установить OpenCode — воспользоваться официальным сценарием. Он автоматически определит ваш дистрибутив Linux и архитектуру, скачает нужный бинарник и поместит его в каталог, уже прописанный в PATH.
curl -fsSL https://opencode.ai/install | bash
Вы увидите примерно такой вывод:
Installing opencode version: 1.17.18
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 100%
Successfully added opencode to $PATH in /home/ravi/.bashrc
▄
█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█
█░░█ █░░█ █▀▀▀ █░░█ █░░░ █░░█ █░░█ █▀▀▀
▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀ ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀
OpenCode includes free models, to start:
cd # Open directory
opencode # Run command
For more information visit https://opencode.ai/docs
Разберём, что делает команда:
-
curl -f— заставляетcurlзавершиться с ошибкой, если сервер вернул ошибку, вместо загрузки страницы с ошибкой. -
-s— тихий режим, скрывает индикатор прогресса. -
-S— при возникновении ошибки показывает сообщение, сохраняя тихий режим. -
-L— автоматически следует перенаправлениям. -
| bash— передаёт загруженный сценарий напрямую оболочке Bash, которая выполняет его немедленно, не сохраняя в файл.
По умолчанию OpenCode устанавливается в подкаталог домашней директории. Чтобы задать другой путь, например /usr/local/bin, перед запуском установщика определите переменную окружения OPENCODE_INSTALL_DIR:
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
Если вы не хотите выполнять удалённый скрипт напрямую, можно установить OpenCode через npm. Этот способ требует наличия Node.js и npm в системе.
npm install -g opencode-ai
Пользователи Arch Linux могут установить OpenCode прямо из репозиториев:
sudo pacman -S opencode
Шаг 3: проверка установки
Убедитесь, что бинарный файл доступен в PATH, и узнайте установленную версию.
opencode --version
Пример вывода:
opencode version 1.17.18
Если появляется ошибка command not found, значит, OpenCode установлен в каталог, который оболочка пока не просматривает. Добавьте путь в переменную PATH.
Пользователи Bash или Zsh могут дописать строку в ~/.bashrc или ~/.zshrc:
export PATH="$HOME/.opencode/bin:$PATH"
После этого перезагрузите настройки оболочки:
source ~/.bashrc
Для Zsh выполните:
source ~/.zshrc
Повторный запуск opencode --version подтвердит корректную работу.
Шаг 4: подключение к провайдеру модели
OpenCode требуется доступ к языковой модели, чтобы анализировать проекты, отвечать на вопросы или изменять код. Готовой модели внутри нет, так что следующим шагом подключаем одного из поддерживаемых провайдеров.
Запустите аутентификацию:
opencode auth login
Появится меню, похожее на такое:
┌ Add credential
│
◆ Select provider
│ Search: _
│ ● OpenCode Zen (recommended
│ ○ Claude
│ ○ OpenAI
│ ○ GitHub Copilot
│ ○ Google
│ ○ Vercel AI Gateway
│ ...
│ ↑/↓ to select • Enter: confirm • Type: to search
Стрелками выберите провайдера и нажмите Enter.
Для Claude и большинства облачных провайдеров OpenCode откроет страницу входа в браузере. После входа и подтверждения запроса в терминале будет сообщение:
Authenticated successfully with Claude
Credentials saved to ~/.opencode/auth.json
Внимание: не добавляйте auth.json и содержащие API-ключи .env-файлы в систему контроля версий. Если проект уже использует Git, добавьте .opencode/ и .env в .gitignore до первого коммита.
Если вход через браузер неудобен, OpenCode умеет читать API-ключи из переменных окружения или файла .env в каталоге проекта. Это особенно полезно на headless-серверах или в CI/CD-пайплайнах, где нет возможности открыть браузер.
Шаг 5: инициализация проекта
Перейдите в папку проекта, с которым должен работать OpenCode, и запустите его там.
cd ~/projects/my-app
opencode
При первом запуске в новом проекте OpenCode проверяет, существует ли файл AGENTS.md. Если его нет, вы увидите запрос:
No AGENTS.md found in this project.
Generate one now? (Y/n)
Нажмите y и Enter.
OpenCode просканирует каталог проекта, изучит структуру файлов, зависимости и соглашения, принятые в проекте, и сгенерирует AGENTS.md, где кратко зафиксирует свои находки. Этот файл даёт агенту единое представление о проекте, избавляя от необходимости каждый раз разбираться с нуля.
Пример вывода:
Analyzing project...
Found: package.json, 47 source files, 3 test suites
Created AGENTS.md
Совет: добавьте AGENTS.md в репозиторий. Тогда все разработчики получат одинаковый контекст проекта, и OpenCode сможет начинать работу с уже готовым пониманием кодовой базы, а не восстанавливать его с нуля на каждой машине.
Шаг 6: выполняем реальную задачу
Когда OpenCode авторизован и знает структуру проекта, можно давать ему настоящую работу.
Запустите OpenCode в папке проекта:
opencode
Откроется интерактивный интерфейс терминала: внизу — поле ввода в стиле чата, над ним — область просмотра файлов и различий. Задачи можно описывать простым языком, примерно так же, как вы объяснили бы коллеге.
Например:
> Find why the /api/upload endpoint returns a 500 error on files over 5MB
OpenCode прочитает нужные файлы, проследит зависимости и обычно объяснит проблему до того, как что-то менять, особенно в режиме plan.
Пример вывода:
Plan mode: read-only analysis
Found the issue in middleware/upload.js:
The multer limit is set to 5MB but the error handler
doesn't catch LIMIT_FILE_SIZE, so it falls through to
a generic 500 instead of returning 413.
В любой момент можно нажать Tab для переключения между режимами:
-
Plan mode: только для чтения, подходит для безопасного изучения или анализа проекта.
-
Build mode: разрешает OpenCode редактировать файлы и выполнять команды.
Когда диагноз ясен, переключитесь в режим build и попросите применить исправление:
> Switch to build mode and fix that
OpenCode обновит файл и покажет diff до записи на диск.
Пример:
Editing middleware/upload.js
+ if (err.code === 'LIMIT_FILE_SIZE') {
+ return res.status(413).json({ error: 'File too large' });
+ }
Apply this change? (Y/n)
Вот что здесь происходит:
-
middleware/upload.js— файл, который OpenCode определил как источник проблемы. -
Строки, начинающиеся с
+, — новый код, который будет добавлен. -
Apply this change? (Y/n)— запрос подтверждения. На файловую систему ничего не записывается, пока вы не одобрите.
Этап подтверждения важен. ИИ-модели иногда предлагают изменения, которые не совсем точно подходят вашему проекту. Возможность просмотреть diff до модификации даёт контроль и делает OpenCode практичным для реальной разработки, а не только для экспериментов.
Шаг 7: неинтерактивный запуск OpenCode
Полноценный терминальный интерфейс нужен не всегда. Для скриптов, CI/CD-пайплайнов или быстрых одноразовых задач можно передать команду прямо в командной строке.
Например:
opencode run "Add a .gitignore entry for node_modules and .env"
Пример вывода:
Applying change to .gitignore
node_modules/
.env
Done in 3.2s
В этом режиме OpenCode выполняет задачу и сразу завершает работу. Удобно, когда нужно автоматизировать повторяющиеся действия или встроить OpenCode в скрипты и пайплайны без открытия интерактивного интерфейса.
Например, можно запускать OpenCode из shell-скрипта, таймера systemd или CI/CD-пайплайна и автоматически вносить простые изменения.
Также стоит знать, что упоминание /opencode или /oc в комментарии к issue или pull request на GitHub может запустить OpenCode внутри GitHub Actions раннера. Это полезно для автоматизированного анализа кода или небольших задач сопровождения прямо из обсуждения на GitHub.
Если вы хотите выйти за рамки отдельных задач и строить автоматизированные рабочие процессы с ИИ на основе инструментов вроде OpenCode, подробнее эти концепции разобраны в курсе AI-Powered DevOps Pipelines на Pro TecMint.
Обновление OpenCode
OpenCode регулярно получает исправления, улучшения и новые функции. Если вы устанавливали его официальным скриптом, проще всего обновиться, выполнив ту же команду:
curl -fsSL https://opencode.ai/install | bash
Установщик автоматически загрузит и установит последнюю доступную версию.
При установке через npm обновление выполняется так:
npm update -g opencode-ai
Пример вывода:
changed 1 package in 4s
[[email protected]](/cdn-cgi/l/email-protection)
Текущую версию в любой момент можно проверить командой:
opencode --version
Чтобы заранее узнать, что изменилось, сравните установленную версию с заметками о релизе в changelog OpenCode. Это особенно важно, если OpenCode используется в production-окружении, и вы хотите понять суть изменений до обновления.
Заключение
Теперь OpenCode установлен, подключён к ИИ-провайдеру и работает с реальным проектом, а не с демонстрационным примером. Вы увидели разницу между режимом plan для безопасного анализа только на чтение и режимом build для внесения изменений, а также узнали, как запускать OpenCode неинтерактивно в скриптах и автоматизированных сценариях.
Лучший способ освоиться с OpenCode — применить его к знакомому проекту. Вместо просьбы реализовать новую функцию, начните с ошибки, которую вы исследовали.
Сначала запустите в режиме plan и посмотрите, совпадает ли его анализ с вашим пониманием проблемы. Обычно это самый быстрый путь понять, в чём инструмент силён, а где стоит проявить осторожность.
Как и с любым ИИ-инструментом для кодинга, OpenCode работает лучше всего, когда вы остаётесь в процессе. Он способен сэкономить время, исследуя кодовую базу, отслеживая зависимости и предлагая исправления, но критически важно проверять предлагаемые изменения, особенно для production-систем.
Уделить минуту просмотру сгенерированных diff перед их применением — значит убедиться, что правки корректны и соответствуют вашему видению развития проекта.






Пока нет комментариев. Будьте первым!