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

Свой раннер (zubrcode remote)

«Свой раннер» — это ZubrCode на вашей машине под управлением из чата. Код никуда не уезжает: агент работает в папке проекта на сервере, ноутбуке или ВМ, а вы ставите задачи, смотрите ленту и подтверждаете команды в zubriq.by/sandbox — хоть с телефона.

Отличие от обычной сессии: там платформа сама поднимает контейнер и клонирует репозиторий; здесь окружение ваше — свои зависимости, базы, доступы, любой git-хостинг.

  1. Установленный ZubrCode — одна команда, см. установку. Нужна версия 2 или новее: zubrcode --version, обновление — zubrcode upgrade. Раннер на 1.x чат не примет и попросит обновиться.
  2. Аккаунт ZuBrIQ. Ключ руками не нужен: если вы уже входили (zubrcode auth login zubriq), zubrcode remote возьмёт этот ключ; если нет — напечатает ссылку на вход (zubriq.by). Откройте её на любом устройстве, хоть с ноутбука, пока ZubrCode крутится на сервере по SSH, — ключ сам придёт и сохранится. Можно задать и руками: ZUBRIQ_API_KEY (zubriq.by/chat → Настройки → API-ключи).
  3. Выход в интернет с машины (исходящий HTTPS/WSS до console.zubriq.by). Входящие порты, белый IP, VPN — не нужны, работает за NAT.
Окно терминала
cd /path/to/project
zubrcode remote

Что произойдёт:

Регистрирую сессию в https://console.zubriq.by…
Раннер готов: /path/to/project
Сессия в чате: https://zubriq.by/sandbox/01m1…
Ctrl+C — остановить.
[relay] туннель поднят

Откройте ссылку — сессия уже в списке «Код» с пометкой свой раннер, хостом и папкой. Напишите агенту, что сделать. Пока zubrcode remote запущен, страницу можно закрывать и открывать снова, в том числе с другого устройства.

Начали в zubrcode на машине и хотите продолжить с телефона — возьмите id сессии (zubrcode session list) и запустите с ним:

Окно терминала
zubrcode remote --resume ses_…

Чат подключится к этой сессии вместе с историей.

Ключ По умолчанию Зачем
--resume — id сессии терминала, чтобы продолжить её в чате
--port 4180 порт локального сервера (слушает только 127.0.0.1)
--console https://console.zubriq.by адрес консоли (регистрация сессии)
--relay из ответа консоли адрес relay, если нужен другой
--allow-origin — origin чата
  • Лента: размышления, чтение файлов, правки диффом, команды и их вывод.
  • Разрешения: правки файлов агент делает без вопросов, а перед командами оболочки спрашивает — «Разрешить», «Разрешать всегда», «Запретить».
  • Вопросы: если агенту нужно ваше решение, он спросит карточкой с вариантами.
  • На ходу: можно дописать агенту во время хода; «Стоп» прерывает ход.
  • Ссылок «Ветка» и «Открыть MR» у своего раннера нет — git у вас свой; попросите агента закоммитить и запушить, куда настроен origin.
  • Ctrl+C в терминале — сессия снимается с регистрации и пропадает из списка живых, локальный сервер гасится.
  • Кнопка «Остановить» в чате — закрывает сессию на платформе; процесс на машине увидит обрыв туннеля и будет переподключаться, пока вы его не остановите.
  • Без открытой вкладки сессия гасится через 2 часа простоя.
  • Локальный сервер слушает только 127.0.0.1 и требует пароль сессии; снаружи к нему ходит только relay платформы, и только с паролем вашей сессии. Чужой запрос по адресу сессии получит 401.
  • Пароль и ключ ZuBrIQ уходят серверу через окружение процесса, в аргументах команд не светятся.
  • Агент выполняет то, что вы подтверждаете в чате, с правами вашего пользователя на этой машине. Не запускайте zubrcode remote от root и не в каталогах с секретами, которые не должен видеть агент.

Таблица ошибок раннера — на странице Если что-то не так.