ДокументацияНа сервере с Linux

Начало

На сервере с Linux

Описывает Piomio 0.2.15Изменить страницу

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

Это справочная страница. Пошаговая инструкция с теми же шагами — Piomio на сервере на сайте.

Что нужно

  • Linux с systemd на x64 или arm64, с glibc: Ubuntu, Debian, Fedora и похожие. Alpine и другие системы на musl не поддерживаются.
  • curl, tar, gzip и sha256sum на сервере.
  • Доступ по SSH под root. Можно и обычным пользователем, смотри Установка без root.
  • Тариф Claude Code, Codex или Kimi Code, в который ты сам войдёшь на сервере. Подробнее — на странице про интеллект и вход.

Два способа

  • Хаб на сервере. Сервер и есть твой Piomio: на нём чаты, агенты, память и хранилище секретов. Открываешь его в браузере, в приложении для компьютера или на телефоне.
  • Компьютер твоего хаба. Хаб остаётся на Mac или ПК, а сервер к нему подключается. Агенты запускают там команды, работают с его файлами и думают его интеллектом. Чаты живут на твоём компьютере, поэтому, пока он спит, сервер ждёт.

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

Установка хаба

Под root:

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

Что делает установщик

  1. Проверяет систему: Linux, процессор, systemd, glibc и нужные программы. Если чего-то нет, говорит, чего именно, и останавливается.
  2. Под root создаёт пользователя piomio без sudo. Piomio и его агенты работают от его имени, так что этот пользователь и есть стена вокруг них. Ещё он включает для piomio lingering, чтобы его службы работали, даже когда в системе никого нет.
  3. Скачивает с GitHub последний релиз для твоего процессора, сверяет SHA-256 и распаковывает. Внутри релиза свой Node.js: больше ничего ставить не нужно.
  4. Кладёт команду piomio в ~/.local/bin и, если оболочка входа туда не заглядывает, добавляет эту папку в PATH в профиле пользователя.
  5. При первой установке под root в системе с apt-get ставит системные библиотеки для браузера агентов.
  6. Пишет файл настроек ~/.config/piomio/env (только если его ещё нет) и пользовательскую службу systemd piomio, запускает её и ждёт ответа до двух минут.

В конце он показывает запущенную версию, код установки (пока пароль не задан) и какие интеллекты есть у пользователя piomio: вход выполнен или установлен, но без входа. Если входа нет нигде, подсказывает, как войти.

Потом он добывает тебе ссылку. Хаб стартует с включённым доступом из любого места, поэтому установщик показывает страницу входа в Tailscale и ждёт:

Чтобы открывать Piomio с любого телефона и браузера, войдите в Tailscale (подойдёт бесплатный аккаунт):
  https://login.tailscale.com/a/…
Жду входа (Ctrl+C — перестать ждать, Piomio продолжит работать)…
Ссылка на Piomio, для любого устройства:
  https://piomio.<твоя-сеть>.ts.net/#setup=<код>

Открой страницу входа на любом устройстве и войди. Если Tailscale попросит разрешить Funnel, установщик покажет и эту страницу. Как только ссылка начнёт открываться из интернета, установщик её напечатает, с кодом установки внутри, пока пароль не задан. Если перестанешь ждать или не хочешь Tailscale, вместо неё он покажет строку ssh для туннеля.

Три переменные меняют поведение:

ПеременнаяЧто делает
PIOMIO_VERSION=0.2.12ставит этот релиз вместо последнего
PIOMIO_LANG=ruустановщик говорит по-русски (ещё он смотрит на LANG)
PIOMIO_NO_WAIT=1показывает страницу входа в Tailscale и не ждёт ссылку; так же, когда вывод идёт не в терминал, например когда установщик запускает агент
curl -fsSL https://piomio.io/install.sh | PIOMIO_VERSION=0.2.12 sh

Повторный запуск

Та же команда ещё раз обновляет Piomio до последнего релиза. Если эта версия уже стоит, она просто перезапускает его. Данные и файл настроек остаются как есть. Хранятся только установленная версия и предыдущая. Обычно это не нужно: кнопка Обновить делает то же самое, смотри Обновления.

Установка без root

Запусти команду обычным пользователем — и Piomio встанет для него, в его домашнюю папку. Тогда:

  • Библиотеки для браузера не ставятся. Если браузер агентов не запускается, попроси администратора выполнить команду, которую подскажет установщик.
  • Чтобы Piomio работал после выхода из системы, нужен lingering. Если установщик не смог его включить, он попросит администратора выполнить sudo loginctl enable-linger <пользователь>.
  • В командах на этой странице пропускай sudo -iu piomio.

Установка компьютером твоего хаба

  1. Дай серверу достучаться до хаба. Хаб на домашнем Mac или ПК доступен только там, пока не включён доступ из любого места. Скажи в его чате «включи доступ из любого места».

  2. Получи приглашение. Скажи в чате «подключи компьютер». Карточка сделает одноразовую ссылку на час, а её кнопка Сервер на Linux покажет команду с этой ссылкой и кнопкой копирования. Та же команда есть на странице самой ссылки, в разделе Сервер без экрана.

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

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

PIOMIO_NAME — имя компьютера в Машинах (без него будет имя хоста сервера). Установщик создаст пользователя piomio, скачает Node.js с nodejs.org (сверив контрольную сумму) и piomio-node с самого хаба в ~/.local/lib/piomio-node, привяжет сервер к хабу и будет держать демон запущенным как пользовательскую службу systemd piomio-node.

Потом войди в интеллект от piomio, так же как ниже. Он станет интеллектом codex@vps, claude-code@vps или kimi@vps. Что агентам можно на сервере, решает сам сервер, в ~/.piomio-node/policy.json: по умолчанию они работают только в ~/piomio-workspace, а запуск команд выключен. Правка вступает в силу сама. Подробнее — на странице про машины и другие компьютеры.

Вход в интеллект

Хаб работает от пользователя piomio, с его домашней папкой и PATH его оболочки входа. Агенты думают тем CLI, в который вошёл этот пользователь. Piomio ничего не копирует и никогда не берёт и не хранит токены CLI. Войди сам, от этого пользователя. Например, в 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.

Пока ни один интеллект не работает, хаб ищет CLI заново каждые 30 секунд, так что вход заметит в течение минуты, без перезапуска. Можно и пропустить этот шаг и потом нажать Войти на карточке в чате: на сервере недостающий CLI сначала поставится в папку данных Piomio. Подробнее — на странице про интеллект и вход.

Как открыть чат

По ссылке

Открой ссылку, которую напечатал установщик, https://piomio.<твоя-сеть>.ts.net/#setup=<код>, на любом телефоне или компьютере. Код установки в ней уже есть: придумай пароль, и дальше ассистент ведёт тебя в чате (смотри Первый запуск). Потом входи там с этим паролем. Ссылка работает в любом браузере, в приложении на телефоне и на других твоих компьютерах, без туннеля и открытых портов. Смотри Доступ из любого места.

Не вошёл в Tailscale во время установки? Ассистент первым делом предложит это в чате, или войди потом и выведи ссылку:

sudo -iu piomio piomio link --wait

Через SSH-туннель

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

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

Потом открой http://localhost:8080, введи код установки и придумай пароль. Дальше ассистент ведёт тебя в чате (смотри Первый запуск). Потерял код?

sudo -iu piomio cat ~/.local/share/piomio/setup-code

Номера портов по обе стороны туннеля должны совпадать. Хаб принимает изменения только с известного ему адреса, http://localhost:8080: через -L 18080:localhost:8080 страница откроется, но ничего не сохранит. Если меняешь PIOMIO_PORT, ставь новый номер с обеих сторон.

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

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

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

Если всё же нужен голый адрес, с обычным 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.

Порты

ПортЧтоГде слушает
8080чат, его API и MCP для агентов127.0.0.1 (PIOMIO_HOST)
8081пульт безопасности127.0.0.1 (PIOMIO_HOST)
8082HTTPS для приложения на телефонена всех адресах (PIOMIO_DEVICE_HOST)
8089прокси исходящих соединений для интеллекта и плагиновтолько 127.0.0.1

Порт 8082 работает с собственным сертификатом хаба, который приложение на телефоне запоминает из QR-кода, поэтому его открыть можно: ufw allow 8082/tcp. PIOMIO_DEVICES=0 в файле настроек закрывает его, и телефоны ходят по ссылке. Смотри Приложение для iPhone.

Файлы и папки

Все пути — в домашней папке пользователя, от которого работает Piomio (/home/piomio после установки под root).

ПутьЧто там
~/.local/lib/piomio/само приложение: versions/<версия>, current (та, что работает) и запускалка piomio
~/.local/bin/piomioкоманда piomio
~/.local/share/piomio/данные: база, хранилище, рабочие папки, плагины, память, код установки
~/.config/piomio/envнастройки, по одной ИМЯ=значение в строке
~/.config/systemd/user/piomio.serviceслужба
~/.local/lib/piomio-node/, ~/.piomio-node/на компьютере твоего хаба: демон со своим Node; его ключ, привязка и политика

Свои входы CLI хранят в этой же домашней папке — там, где ты в них входил. После правки файла настроек перезапусти: systemctl --user restart piomio. Все переменные — в разделе Переменные окружения.

Команды

Хаб

Выполняй после sudo -iu piomio:

КомандаЧто делает
piomio versionпоказывает установленную версию
piomio link [--wait]показывает ссылку из любого места или, пока её нет, страницу входа в Tailscale; --wait ждёт входа
piomio backup [папка]делает резервную копию, смотри Резервные копии
piomio reset-password <новый>задаёт новый пароль для чата (от 8 символов) и завершает все сессии
piomio devices pairпоказывает QR-код для приложения на телефоне прямо в терминале, со ссылкой и кодом
piomio audit-verifyпроверяет цепочку хешей журнала аудита
piomio uninstallудаляет приложение и службу, смотри Удаление
systemctl --user restart piomioперезапускает Piomio
systemctl --user status piomioпоказывает, работает ли он
journalctl --user -u piomio -fжурнал в реальном времени

Эти команды не читают ~/.config/piomio/env, его читает только systemd. Если ты поменял там PIOMIO_DATA_DIR или порты, сначала загрузи файл:

set -a; . ~/.config/piomio/env; set +a; piomio devices pair

piomio replica invite и piomio replica join нужны для реплик хаба, смотри страницу про машины и другие компьютеры.

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

КомандаЧто делает
piomio-node statusпривязан ли он, его политика, его CLI и отвечает ли хаб
piomio-node policyпуть и содержимое файла политики
piomio-node versionверсия демона
journalctl --user -u piomio-node -fжурнал в реальном времени
piomio-node uninstallудаляет демон и его службу; ключ и политика остаются

Обновления

Хаб проверяет новый релиз на GitHub раз в шесть часов. Когда он выходит, у строки сервера в Машинах появляется Обновить, а ассистент предлагает обновиться в чате, не чаще раза в день. Можно и просто сказать «обнови Piomio».

По кнопке хаб скачивает релиз, проверяет подпись, убеждается, что новая версия запускается, сохраняет копию базы и перезапускается. Примерно через минуту он снова на месте, и ассистент рассказывает, что изменилось. Если новая версия трижды подряд не поднимется, сервер сам вернётся на прежнюю, с базой как до обновления, и ассистент скажет об этом в чате.

Компьютер твоего хаба получает новый piomio-node от хаба: когда он отстаёт, у его строки в Машинах появляется Обновить. Смотри Обновления.

Резервные копии

piomio backup

Команда пишет копию в ~/.local/share/piomio/backups/<дата и время>: базу (чаты, агенты, задачи, настройки), хранилище (по-прежнему зашифрованное твоим паролем хранилища) и папки с агентами, скиллами, командами, установленными плагинами и данными плагинов, включая память. Работает, пока Piomio запущен. В копию не попадают рабочие папки агентов (workspaces), страницы, входы CLI и узел доступа из любого места.

С именем папки копия ляжет туда. Каждый раз бери новую пустую папку: если там уже лежит файл базы, копия не получится.

Храни копии и вне сервера, например забирай их на свой компьютер через scp. Команды восстановления нет. Чтобы восстановить вручную, останови Piomio (systemctl --user stop piomio), отложи в сторону piomio.db и vault.db из папки данных вместе с их файлами -wal и -shm, скопируй на их место файлы и папки из копии и запусти снова.

Перед каждым обновлением хаб и сам сохраняет копию базы и берёт её, если приходится вернуться назад.

Удаление

От piomio:

piomio uninstall

Команда останавливает и удаляет службу, команду piomio и ~/.local/lib/piomio. Данные остаются в ~/.local/share/piomio, а настройки — в ~/.config/piomio: удали их сам, если они больше не нужны. Пользователь piomio тоже остаётся.

На компьютере твоего хаба piomio-node uninstall удаляет демон, его Node и службу. Ключ и политика остаются в ~/.piomio-node. Удали компьютер и в Машинах.