OpenCode – это ИИ-агент для программирования с открытым кодом. Вы описываете задачу обычными словами, а он сам читает файлы проекта, пишет и правит код и запускает команды в терминале. Работать с ним можно в терминале или в браузере. На сервере OpenCode удобен тем, что меняет код прямо там, где проект работает, а подключиться к нему можно с любого компьютера. В этой статье мы установим OpenCode на VPS, дадим ему первую задачу, настроим подтверждение команд и откроем его в браузере. Все шаги мы повторили на тестовом сервере с Debian 12, версия OpenCode на момент проверки 2.1.2.
Как устроен OpenCode
Сам OpenCode не является нейросетью. Он отправляет задание модели вместе с описанием своих инструментов, а затем выполняет то, что модель решила сделать. Например, создаёт файл, вносит правку или запускает команду. Результат уходит обратно модели, и так шаг за шагом, пока задача не будет решена. Поэтому качество работы почти полностью зависит от выбранной модели.
Удобная особенность OpenCode в том, что в нём уже есть бесплатные модели. Ключ API и регистрация для них не нужны, агент работает сразу после установки. Эти модели бесплатны на ограниченное время, и их список периодически меняется. Учтите и то, что у части бесплатных моделей собранные данные могут использоваться для улучшения модели, об этом прямо сказано в документации OpenCode. Модель, которая выбрана по умолчанию, MiniMax M3.1 Flash Free, по документации данные не хранит и для обучения не использует. Для рабочих проектов можно подключить свою модель, например по ключу API от Anthropic, OpenAI или OpenRouter.
Во второй версии все сессии, настройки и выполнение команд принадлежат фоновой службе. Она запускается сама при первом запуске opencode и слушает порт только на внутреннем адресе 127.0.0.1, поэтому из интернета к ней подключиться нельзя. Терминальный интерфейс и браузер – это просто окна, которые подключаются к этой службе. Поэтому задача, начатая в терминале, видна и в браузере.
По умолчанию агент ничего не спрашивает
Мы попросили OpenCode установить nginx и выложить страницу на сайт. Агент сам выполнил apt-get install -y nginx, скопировал файл в /var/www/html, перезагрузил nginx и начал изучать его настройки, ни разу не спросив разрешения. Поэтому ставьте OpenCode на сервер, где нет чужих данных и важных сайтов, и сразу после установки включите подтверждение команд, как показано в шаге 2.
Что понадобится
- Сервер с Debian 12 или Ubuntu 24.04 и не меньше 2 ГБ памяти, например тариф DE-RZ9-1. На нашем сервере фоновая служба OpenCode заняла около 340 МБ памяти, а окно в терминале ещё около 190 МБ. Если сервера ещё нет, закажите его по инструкции.
- Подключение по SSH, например через Termius. Команды выполняются от имени
root. - Папка с проектом, в которой будет работать агент. В примере это
/root/my-site.
Шаг 1. Установите OpenCode
Подключитесь к серверу и выполните официальную команду установки второй версии.
curl -fsSL https://opencode.ai/v2/install | bashУстановщик скачает программу размером около 200 МБ в папку /root/.opencode/bin и добавит её в PATH. Чтобы команда opencode заработала в текущем окне терминала, перезапустите оболочку.
exec $SHELL
OpenCode установлен, бесплатные модели доступны сразу
Почему в адресе есть v2
Старая команда curl -fsSL https://opencode.ai/install | bash ставит первую версию OpenCode. Обе версии используют команду opencode и не могут стоять рядом, поэтому установщик второй версии заменяет первую. Если у вас уже стоит первая версия, её интерфейс сам предложит обновиться командой /update.
Шаг 2. Включите подтверждение команд
Создайте файл общих настроек OpenCode.
mkdir -p ~/.config/opencode
nano ~/.config/opencode/opencode.jsoncВставьте в него правила ниже и сохраните файл сочетанием Ctrl + O, затем Enter, а выйдите из редактора сочетанием Ctrl + X.
{
"$schema": "https://opencode.ai/config.json",
"permissions": [
{ "action": "shell", "resource": "*", "effect": "ask" },
{ "action": "external_directory", "resource": "*", "effect": "ask" }
]
}- Первое правило заставляет агента спрашивать перед каждой командой в терминале.
- Второе правило заставляет спрашивать перед работой с файлами за пределами папки проекта. Во второй версии OpenCode такой доступ по умолчанию разрешён.
Чтобы служба применила настройки, выполните команду ниже.
opencode reloadТеперь перед каждой командой агент показывает окно Permission required.

Агент ждёт разрешения перед запуском команды
- Allow once – выполнить только эту команду.
- Always allow – разрешить и запомнить для этого проекта. Например, после разрешения
git status --shortагент перестанет спрашивать про все командыgit status. - Reject – запретить. Агент остановит задачу, и вы сможете уточнить, что нужно сделать.
Выбор делается стрелками, подтверждение клавишей Enter.
Шаг 3. Дайте агенту первую задачу
Перейдите в папку проекта и запустите OpenCode.
cd /root/my-site
opencodeВнизу экрана появится строка для задания. Опишите задачу своими словами и нажмите Enter. Мы попросили создать страницу-визитку кофейни и проверить, что файл на месте. С бесплатной моделью агент справился за 38 секунд.

Агент создал страницу, проверил её и рассказал, что сделал
Пригодятся несколько клавиш и команд.
- Esc прерывает текущую задачу.
- Ctrl + P открывает список команд.
- Команда
/modelsоткрывает выбор модели. Бесплатные модели помечены словом Free. - Ctrl + C закрывает OpenCode. При выходе он показывает команду вида
opencode -s ses_…, которой можно вернуться к этой же сессии.

Бесплатные модели в окне /models
Чтобы подключить свою модель по ключу API, введите в строке задания команду /connect и выберите поставщика.
Задачу можно дать и без интерфейса, одной командой. Это удобно для скриптов.
opencode run "Сколько строк в файле index.html?"Шаг 4. Откройте OpenCode в браузере
В браузере работать с агентом удобнее, чем в терминале, особенно с длинными ответами и правками кода. Служба OpenCode закрыта от интернета, поэтому подключаться к ней нужно через SSH-туннель.
На сервере выполните команду ниже. Она выдаст одноразовую ссылку вида
http://127.0.0.1:49374/auth/connect/…. Ссылка работает один раз и только 5 минут.bashopencode pairНа своём компьютере откройте новое окно терминала и создайте туннель. Номер порта возьмите из ссылки, на нашем сервере это был
49374.bashssh -L 49374:127.0.0.1:49374 root@IP-адрес-сервераНе закрывая это окно, откройте ссылку из первого шага в браузере на компьютере.
Откроется тот же OpenCode, что и в терминале, со всеми сессиями.

OpenCode в браузере через SSH-туннель
Не открывайте службу в интернет
У OpenCode есть способы подключиться без туннеля, например команда opencode service set hostname 0.0.0.0 или opencode pair --remote. Про второй способ справка OpenCode прямо пишет, что служба становится доступна из интернета. На VPS это значит, что служба, которая выполняет команды на вашем сервере, будет открыта всему миру. Пользуйтесь SSH-туннелем.
Если сервер перезагрузился, служба OpenCode сама не запустится. Запустите её командой opencode service start или просто откройте opencode в терминале.
Полезные команды
opencode # открыть OpenCode в текущей папке
opencode -c # продолжить последнюю сессию
opencode run "задача" # выполнить задачу без интерфейса
opencode models # список доступных моделей
opencode pair # одноразовая ссылка для браузера
opencode service status # адрес фоновой службы
opencode service start # запустить службу
opencode reload # перечитать настройки
opencode upgrade # обновить OpenCode
opencode uninstall # удалить OpenCode, сессии и настройки останутсяЧастые вопросы
opencode: command not found
Текущее окно терминала ещё не знает о новой команде. Выполните exec $SHELL или переподключитесь к серверу по SSH.
Ссылка из opencode pair не открывается
- Проверьте, что окно с SSH-туннелем открыто и в команде
ssh -Lуказан тот же порт, что и в ссылке. - Ссылка работает один раз и только 5 минут. Выполните
opencode pairещё раз и откройте новую ссылку. - Если порт на вашем компьютере занят, пробросьте другой, например
ssh -L 8080:127.0.0.1:49374 root@IP-адрес-сервера, и замените в ссылке49374на8080.
Агент выполняет команды, не спрашивая разрешения
Так OpenCode работает по умолчанию. Создайте файл ~/.config/opencode/opencode.jsonc с правилами из шага 2 и выполните opencode reload.
Бесплатная модель пропала из списка
Бесплатные модели доступны ограниченное время, и OpenCode периодически меняет их набор. Откройте /models и выберите другую модель с пометкой Free или подключите свою по ключу API командой /connect.
Наши ресурсы
Telegram-канал: https://t.me/f3cloud_news
Официальный сайт: https://f3cloud.com