Автор DrArgentum опубликовал в блоге BotHub разбор серверного запуска OpenCode — инструмента с открытым кодом, который позволяет ИИ читать файлы, запускать тесты и поручать отдельные задачи другим агентам. Такой запуск отделяет работу агента от пользовательского терминала: к нему можно обращаться из других программ или по расписанию. Но перенос на сервер сам по себе не делает агента безопасным.
Что даёт отдельный сервер
В основе описанного подхода — разделение клиента и сервера. Клиент показывает интерфейс человеку, а сервер выполняет работу и принимает программные запросы. По разбору автора, команда opencode serve запускает сервер без интерактивного интерфейса: остаются программный доступ, поток событий и описание доступных запросов.
Это не сообщение о выпуске новой версии OpenCode, а описание способа его использования. Среди сценариев автор называет проверку предлагаемых изменений кода в GitHub, ночные задания и подключение нескольких клиентов к одному процессу. Для проверки кода через GitHub он описывает запуск в GitHub Actions — среде выполнения автоматических задач. Это отдельный сценарий, а не требование держать собственный сервер для любой проверки.
Тем, кто пока выбирает между своим компьютером и удалённой машиной, пригодится гайд по локальному запуску ИИ-агента. Серверный вариант решает другую задачу: агент и обращающиеся к нему программы работают отдельно от личного ноутбука.
Что нужно настроить помимо запуска
В разборе приведены два способа размещения: системная служба Linux через systemd и контейнер Docker. В первом случае отдельно задаются пути к программам и домашнему каталогу: служба не наследует все настройки обычного терминала. Во втором автор рекомендует закрепить версию образа и отдельно сохранять рабочие файлы, настройки и сессии, чтобы они не терялись при перезапуске.
Модель подключается отдельно. По описанию автора, OpenCode допускает разных поставщиков и совместимые программные интерфейсы; запуск самого инструмента не заменяет настройку доступа к выбранной модели. Пример в публикации использует BotHub, но это пример провайдера, а не обязательное условие серверного режима.
Для работы по расписанию важны разрешения. Правила позволяют выполнить действие, запросить подтверждение или запретить его. В неинтерактивном режиме run запрос разрешения отклоняется с обратной связью модели; в режиме serve ожидание ответа может остановить работу. Это разные ситуации, и сводить их к одному правилу нельзя. Описанный автором флаг —auto разрешает запросы, кроме явно запрещённых, — он расширяет автоматическое выполнение, а не усиливает изоляцию.
Пароль не заменяет изоляцию
Согласно разбору, по умолчанию сервер принимает соединения только с самой машины, на адресе 127.0.0.1 и порту 4096. При открытии доступа извне автор советует задать пароль через OPENCODE_SERVER_PASSWORD и использовать HTTPS через nginx или Caddy. Защита самого сервера, включая SSH и сетевые ограничения, в публикацию не входит.
Главное предупреждение автора: OpenCode не является песочницей — отдельной защищённой средой, ограничивающей действия программы. Он приводит положение из SECURITY.md: система разрешений предназначена для удобства работы, а для изоляции нужны контейнер или виртуальная машина. При этом Docker он рассматривает как страховку от случайных повреждений, а не гарантию против целенаправленного выхода из контейнера.
Практический смысл разбора — не в обещании «включить автономность одной командой». Сервер отделяет агента от интерфейса пользователя, но доступ к файлам, моделям и внешним инструментам всё равно требует настройки. Описанные сценарии не подтверждают ни безошибочную проверку кода, ни работу без человеческого контроля при любых условиях.