Инструкция

Piomio на сервере

Сервер не выключается, поэтому агенты работают, даже когда твой компьютер спит. Piomio ставится на него одной командой, а в свой Claude Code, Codex или Kimi Code ты входишь там сам.

Нужен Linux с systemd на x64 или arm64 (Ubuntu, Debian, Fedora и похожие) и доступ по SSH под root. Для Alpine и других систем на musl есть Docker.

Хаб на сервере

  1. 1

    Установи

    Зайди на сервер по SSH под root и запусти установщик. Он создаст пользователя piomio без sudo, поставит библиотеки для браузера агентов и запустит Piomio как службу этого пользователя. В конце покажет код установки, строку, которая открывает чат на твоём компьютере, и какие интеллекты нашёл. Повторный запуск обновляет Piomio.

    curl -fsSL https://piomio.io/install.sh | sh
  2. 2

    Подключи интеллект

    Агенты думают тем CLI, в который вошёл пользователь piomio, на твоей подписке. Войди сам, от этого пользователя. Например, в Codex:

    sudo -iu piomio
    curl -fsSL https://chatgpt.com/codex/install.sh | sh
    codex login --device-auth

    Claude Code: curl -fsSL https://claude.ai/install.sh | bash, потом claude. Kimi Code: curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash, потом kimi и /login. Piomio сам заметит вход в течение минуты, перезапускать ничего не нужно. Можно пропустить этот шаг и потом нажать Войти в чате: недостающий CLI поставится сам.

  3. 3

    Открой чат

    Чат слушает только на самом сервере. На своём компьютере выполни строку, которую показал установщик, и не закрывай её:

    ssh -N -L 8080:localhost:8080 -L 8081:localhost:8081 root@<ip-сервера>

    Потом открой http://localhost:8080, введи код установки и придумай пароль. Дальше ассистент ведёт тебя в чате. Потерял код? sudo -iu piomio cat ~/.local/share/piomio/setup-code.

  4. 4

    Открывай откуда угодно

    Скажи в чате «включи доступ отовсюду» и войди в Tailscale, хватит бесплатного аккаунта. У хаба появится постоянная ссылка вида https://piomio.<твоя-сеть>.ts.net: по ней хаб открывается в любом браузере, в приложении на телефоне и с других твоих компьютеров, без туннеля и открытых портов.

  5. 5

    Обновляй кнопкой

    Когда выходит релиз, у строки сервера в Машинах появляется Обновить, а ассистент предлагает обновиться в чате. Piomio проверяет подпись релиза, сохраняет копию базы и возвращается примерно через минуту. Если новая версия не запустится, он сам вернётся на прежнюю.

Команды, после sudo -iu piomio

piomio version
установленная версия
piomio backup
копия базы, хранилища, агентов и плагинов в ~/.local/share/piomio/backups
piomio reset-password <…>
новый пароль для чата
piomio devices pair
QR-код для приложения на телефоне, прямо в терминале
systemctl --user restart piomio
перезапуск, например после правки ~/.config/piomio/env
journalctl --user -u piomio -f
журнал
piomio uninstall
удаляет приложение и службу; данные остаются в ~/.local/share/piomio

Компьютер твоего хаба

  1. 1

    Дай серверу достучаться до хаба

    Хаб на домашнем Mac или ПК открывается только там, пока не включён доступ отовсюду: скажи в его чате «включи доступ отовсюду». Если пропустишь этот шаг, ассистент сам предложит его, когда попросишь подключить компьютер.

  2. 2

    Получи приглашение

    Скажи в чате «подключи компьютер» и нажми кнопку на карточке. Получишь одноразовую ссылку на час вида https://piomio.<твоя-сеть>.ts.net/join/AB12CD34. Открой её: в разделе Сервер без экрана страница покажет следующую команду, уже с твоей ссылкой.

  3. 3

    Выполни её на сервере под root

    Она создаст пользователя piomio, положит в его домашнюю папку Node.js и piomio-node с хаба и будет держать их подключёнными как службу. PIOMIO_NAME — имя компьютера в Машинах; без него будет имя хоста сервера.

    curl -fsSL https://piomio.io/install.sh | PIOMIO_NAME=vps sh -s -- https://piomio.<твоя-сеть>.ts.net/join/<код>
  4. 4

    Подключи интеллект

    Так же, как для хаба: sudo -iu piomio, потом вход в Codex, Claude Code или Kimi Code. Они станут интеллектами codex@vps, claude-code@vps и kimi@vps, и хаб увидит вход в течение минуты.

  5. 5

    Реши, что агентам там можно

    Это решает сам сервер, в ~/.piomio-node/policy.json: по умолчанию агенты работают только в ~/piomio-workspace, а запуск команд выключен. Правка вступает в силу сама. Новые версии piomio-node присылает хаб: когда она отстаёт, у её строки в Машинах появляется Обновить.

Команды, после sudo -iu piomio

piomio-node status
подключён ли он, его политика, его CLI и отвечает ли хаб
journalctl --user -u piomio-node -f
журнал
piomio-node uninstall
удаляет службу; ключ и политика остаются. Удали компьютер и в Машинах

Почему не просто по IP сервера?

Piomio открывает чат только на 127.0.0.1, и это нарочно:

  • Чат (порт 8080) работает по обычному HTTP. Через интернет пароль и сессия шли бы открытым текстом, а боты находят открытый порт за считаные минуты.
  • Ключи доступа (passkeys) работают только по HTTPS или на localhost, поэтому на http://<ip>:8080 их не будет.
  • Порт 8081 — консоль безопасности: правила, хранилище, аудит. В интернет она смотреть не должна.

Безопасно заходить через SSH-туннель, доступ отовсюду или свой домен с HTTPS перед хабом. Порт телефонов 8082 работает по HTTPS с собственным сертификатом хаба, который приложение запоминает из QR-кода, поэтому его открыть можно: ufw allow 8082/tcp.

Если всё же нужен голый адрес, с обычным HTTP и без ключей доступа, впиши это в ~/.config/piomio/env:

PIOMIO_HOST=0.0.0.0
PIOMIO_PUBLIC_URL=http://<ip-сервера>:8080

Потом под root ufw allow 8080/tcp (и только 8080: консоль теперь тоже слушает на всех адресах, так что 8081 остаётся закрытым), а от piomio — systemctl --user restart piomio. Без PIOMIO_PUBLIC_URL хаб отказывает всем адресам, кроме localhost.

Если что-то не так

Установщик не может достучаться до хаба

Ссылка-приглашение должна открываться с сервера: проверь там curl -I <ссылка>. Хабу дома нужен включённый доступ отовсюду. Каждая ссылка работает один раз и один час, так что попроси новую.

Вход в CLI выполнен, но Piomio его не видит

Входить нужно от пользователя, под которым работает Piomio, то есть piomio, а не root. Проверь: sudo -iu piomio, потом codex login status или claude auth status.

systemctl --user не может подключиться к шине

Открывай оболочку пользователя через sudo -iu piomio: установщик настроил её так, что systemctl --user и journalctl --user там работают.

Чат не открывается на localhost:8080

Строка ssh -L должна работать всё время, пока открыт чат. На сервере sudo -iu piomio, потом systemctl --user status piomio и journalctl --user -u piomio -n 50 покажут, работает ли Piomio и что ему мешает.

В Docker

В образе интеллекты и плагины работают от отдельных пользователей, каждый в своих папках, а их сеть можно закрыть на уровне ядра: это самая строгая изоляция. На сервере с Docker и Git:

git clone https://github.com/legostin/piomio.git && cd piomio
docker compose up -d
docker compose logs piomio | grep -A1 "Piomio:"

Docker возьмёт готовый образ ghcr.io/legostin/piomio, а последняя строка покажет код установки. Чат открывается так же, через строку ssh -L выше. Настройки пишутся в .env рядом с docker-compose.yml (в .env.example каждая с примером). Обновить: git pull && docker compose pull && docker compose up -d.