Интеллект и компьютеры
Машины и другие компьютеры
Описывает Piomio 0.2.15Изменить страницу
Машина — это другой твой компьютер, подключённый к хабу: ноутбук, рабочий компьютер, домашний сервер. Агенты могут думать его Claude Code, Codex и Kimi Code (в которые на нём вошли, на твоих тарифах), работать с файлами в разрешённых папках и, если ты включишь, запускать команды. Компьютер сам подключается к хабу, поэтому открывать на нём порты не нужно.
Подключить компьютер
Напиши в чате «подключи компьютер» (или «подключи мой ноутбук»). Ассистент покажет карточку Подключить компьютер или телефон: нажми Получить ссылку. Получится одноразовая ссылка вида https://piomio.<твой-tailnet>.ts.net/join/AB12CD34. Она срабатывает один раз и действует час; в карточке идёт обратный отсчёт, есть Новая ссылка и Отменить ссылку. Открой ссылку на компьютере, который хочешь подключить, или перешли её туда.
Ту же ссылку даёт Настройки → Машины → Подключить машину.
Хаб в приложении для компьютера открывается только на своём компьютере, пока не включён доступ из любого места. До тех пор карточка скажет, что другие устройства до него не достают, и предложит это настроить; ссылка появится, когда у хаба будет адрес, доступный другим.
Страница ссылки показывает, что делать на устройстве, где её открыли: на компьютере, iPhone или сервере без экрана; остальное — под Другое устройство. Для сервера её можно и не открывать: кнопка карточки Сервер на Linux показывает команду, уже со ссылкой.
Mac или компьютер с Windows
- Если приложение Piomio уже стоит, нажми на странице ссылки Открыть Piomio. Приложение один раз спросит, подключить ли этот компьютер.
- Приложения ещё нет? На странице есть загрузка для macOS и Windows. Установи его, вернись и снова нажми Открыть Piomio.
- Можно начать и с приложения: при первом запуске оно спрашивает «Как вы будете пользоваться этим компьютером?». Выбери Подключить к моему Piomio, вставь Ссылку-приглашение, задай Имя машины и нажми Подключить.
Своего хаба на таком компьютере нет: в окне приложения открывается твой хаб. Если веб-интерфейс открыт не на компьютере хаба, карточка предложит ещё и Подключить этот компьютер.
Linux-сервер
Кнопка карточки Сервер на Linux, а на странице ссылки раздел «Сервер без экрана», показывают одну команду, в которую уже подставлена твоя ссылка. Скопируй её и запусти на сервере от root (Linux с systemd, x64 или arm64):
curl -fsSL https://piomio.io/install.sh | PIOMIO_NAME=vps sh -s -- https://piomio.<твой-tailnet>.ts.net/join/<код>
Команда создаст пользователя piomio, положит Node.js (с nodejs.org) и собственный piomio-node хаба в ~/.local/lib/piomio-node и будет держать их запущенными как пользовательскую службу systemd piomio-node. PIOMIO_NAME — как компьютер будет называться в Машинах; без него берётся имя хоста. Потом войди в интеллекты от piomio (Интеллект и вход).
После sudo -iu piomio:
| Команда | |
|---|---|
piomio-node status | подключён ли, его политика, его CLI и отвечает ли хаб |
journalctl --user -u piomio-node -f | журнал |
piomio-node uninstall | удаляет службу; ключ и политика остаются |
Всё остальное — вручную
Любой компьютер с Node.js 24.5 или новее может запустить демон из одного файла, который отдаёт хаб:
curl -fsSLo piomio-node.mjs https://<твой хаб>/download/piomio-node.mjs node piomio-node.mjs pair https://<твой хаб>/join/<код> --name laptop node piomio-node.mjs run
run держит связь и сам переподключается после перезапуска хаба или обрыва сети. Как запускать его вместе с компьютером (launchd, Планировщик заданий, systemd), написано в руководстве piomio-node.
Файлы демона лежат в ~/.piomio-node (переносится переменной PIOMIO_NODE_HOME): config.json (хаб и имя машины), key.json (закрытый ключ, читать его можешь только ты) и policy.json. При подключении создаётся ключ Ed25519, хабу уходит только его открытая часть; при каждом соединении демон доказывает, что ключ у него.
Что видно на хабе
У каждого компьютера своя карточка в Настройки → Машины: онлайн или офлайн, система, имя хоста и когда его видели в последний раз, значок на каждый CLI с версией (или «нет», «нужен вход») и Папки: …, которые он разрешает. Карандаш переименовывает; ниже — Настроить и Отключить.
Его интеллекты появляются на странице Интеллект с именем компьютера, например Codex (ChatGPT) @ laptop. Думают они по входу на том компьютере: входи в них там, обычным для каждого CLI способом. Если войти позже, хаб заметит это в течение минуты.
Работают агенты там несколькими инструментами: посмотреть и прочитать файлы, записать файл, выполнить команду. Запись файла и команда считаются действиями вовне, поэтому проходят через подтверждения.
Агенты знают и видеокарты каждого компьютера (приложение или демон с версии 0.2.18 сообщают о них), так что «отрендери это на компьютере с GPU» найдёт нужный. Чтобы какая-то работа всегда шла на один компьютер, скажи об этом любому агенту один раз, например «рендеринг запускай на LEGOSTIN-PC»: это станет правилом для всей команды, и такие задачи будут думать интеллектом агента на том компьютере, а пока он выключен — ждать его (см. Правила: куда идёт работа).
Что агентам там можно
Решает хозяин компьютера, а не хаб: в файле ~/.piomio-node/policy.json на этом компьютере. Демон сам сверяет с ним каждый запрос. При первом запуске файл создаётся с безопасными настройками:
{
"allowedDirs": ["/home/me/piomio-workspace"],
"exec": { "enabled": false, "allowCommands": [] },
"fs": { "read": true, "write": true },
"brains": {
"claude-code": { "enabled": true, "allowedTools": ["Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", "LS", "WebFetch", "WebSearch", "TodoWrite", "Task", "Skill", "mcp__piomio"] },
"codex": { "enabled": true, "sandbox": "workspace-write" },
"kimi": { "enabled": true }
},
"workspacesRoot": "/home/me/piomio-workspace"
}| Поле | Что решает |
|---|---|
allowedDirs | единственные папки, которых может касаться хаб; любой путь должен оставаться внутри одной из них |
fs.read, fs.write | чтение и просмотр, запись (текстовые файлы: читается до 5 МБ, пишется до 10 МБ) |
exec.enabled | запуск команд: по умолчанию выключен |
exec.allowCommands | шаблоны разрешённых команд, например "git status" или "npm test*"; пустой список разрешает любые |
exec.shell, exec.maxTimeoutMs | оболочка и предел времени на одну команду (по умолчанию 30 минут) |
brains.claude-code | можно ли брать Claude Code и какие его инструменты разрешены без вопросов (Bash среди них нет) |
brains.codex | можно ли брать Codex и его песочница: read-only, workspace-write или danger-full-access |
brains.kimi | можно ли брать Kimi Code; песочницы у него нет, поэтому его команды подчиняются exec, а запись — fs.write |
workspacesRoot | где создаются рабочие папки агентов |
Изменения действуют через пару секунд, без перезапуска. Ошибку в файле демон покажет в журнале и продолжит работать с прежней версией. piomio-node policy выводит файл и путь к нему.
Что стоит помнить:
- Команды — это оболочка с правами твоего пользователя. Ограничение по папкам касается того, где команда запускается, а не того, что она делает. Включай
execосознанно и лучше со спискомallowCommands. - Папка
~/.piomio-nodeзакрыта для файловых инструментов и команд хаба, даже если она внутри разрешённой папки: хаб не может прочитать ключ или переписать политику. - Всю политику хаб не видит — только разрешённые папки и какие там есть интеллекты. Переменные окружения хаба до интеллектов на машине не доходят, кроме часового пояса и языка.
Кто где сейчас работает
Под командой в боковой панели блок Машины показывает все компьютеры, включая компьютер хаба, с точкой: в сети или нет. Пока на компьютере работают агенты, под ним идёт строка на каждого: над чем он работает и что делает прямо сейчас: «думает», «пишет», «в терминале», «читает файлы», «правит файлы», «в интернете», «вызывает инструмент» или «ждёт решения», пока ждёт твоего подтверждения. Строка открывает этот чат или задачу. Во вкладке Хаб приложения для iPhone есть такой же раздел Машины.
Агенты с привязкой к компьютерам
По умолчанию агент работает на любом компьютере. Чтобы оставить его только на некоторых, выбери их в поле Компьютеры в настройках агента или скажи «пусть Ада работает только на моём ноутбуке». Привязанный агент думает только интеллектами этих компьютеров и никуда больше не уходит: пока ни один из них не в сети, его чат так и скажет, а сообщение придётся отправить снова, когда компьютер вернётся. «Пусть Ада снова работает где угодно» снимает привязку.
Когда ассистент передаёт работу кому-то из команды, он выбирает и компьютер, а спрашивает тебя, только если выбор неочевиден. Задача, поставленная на компьютер, идёт на его интеллекте.
Модели, ключи и лимит расходов на компьютер
Настроить в карточке компьютера открывает чат с готовой просьбой: что этому компьютеру можно. Можно и просто попросить самому.
- По умолчанию каждый CLI там работает по своему входу, с любой моделью. Можно сузить, какие модели разрешены его Claude Code и Codex.
- На хабе, запущенном с
PIOMIO_API_KEYS=1, Claude Code и Codex компьютера могут вместо этого думать через API-ключи из хранилища хаба: Claude Code — с ключами Anthropic, DeepSeek, Kimi (Moonshot) или GLM (Z.ai), Codex — с ключом OpenAI. Ты перечисляешь разрешённые модели с ценой за миллион токенов и можешь задать лимит расходов в долларах на день или на месяц. Небольшой шлюз на том компьютере подставляет ключ, держится списка (модель не из списка заменяется самой дешёвой разрешённой) и останавливается на лимите: до конца периода эти интеллекты отдыхают. Ключ попадает на компьютер только в память демона — ни на диск, ни в окружение CLI.
Каждое изменение ждёт твоего подтверждения. Потом карточка показывает настройку одной строкой вместе с тем, сколько уже потрачено.
Хаб на нескольких компьютерах
Хаб может жить сразу на нескольких твоих компьютерах, чтобы работать, пока один спит. Каждая реплика держит весь хаб целиком; ведёт в каждый момент одна.
Скажи «сделай мой сервер репликой хаба». Ассистент попросит подтверждения и выдаст одноразовую ссылку
piomio://replica?….На другом компьютере, где установлен Piomio, выполни от пользователя, от которого работает хаб:
piomio replica join '<ссылка>' --name vps --url https://<его адрес>:8082
--url— адрес, по которому до него достают другие реплики: его порт для телефонов (порт хаба + 2). Если в папке данных там уже есть хаб,--forceзаменит его вместе с данными.Запусти там хаб. Он догонит остальных и будет ждать запасным.
Как это работает:
- Кто ведёт. Пока компьютер, на котором хаб появился первым, в сети, ведёт он. Если ведущий замолкает секунд на восемь, ведение берёт следующая реплика и отдаёт его обратно, когда первый вернётся и догонит (а если он спал — через пять минут бодрствования). В Настройки → Машины это видно одной строкой, Хаб живёт на: у каждой реплики пометка ведущий, запасной, нет на связи или хранилище заблокировано.
- Что делает ведущий. Задачи, каналы, дайджесты и плагины работают только на ведущем. Веб-интерфейс запасной реплики показывает то, что у неё есть, с отставанием в пару секунд; изменения там ждут ведущего («Хаб переезжает на …: повторите через пару секунд»). Телефоны и машины, которые достучались до запасной, она передаёт ведущему.
- Что общее. Чаты, задачи, подтверждения и правила, настройки, агенты, скиллы, каналы, страницы, рабочие папки, телефоны и машины, твой пароль и ключи доступа, факты памяти и хранилище — по-прежнему зашифрованное. Журнал аудита у каждой реплики свой, а в интеллекты на каждом компьютере входят отдельно.
- Хранилище. Когда хранилище реплики заблокировано (например, после перезапуска), ведущий карточкой подтверждения спросит, передать ли ей ключ хранилища; реплика держит его только в памяти. Если разрешить это для реплики навсегда, в следующий раз карточки не будет.
«Как там кластер?» покажет реплики; «убери реплику vps» удалит её насовсем (после твоего подтверждения). PIOMIO_REPLICA_NAME задаёт имя реплики, PIOMIO_NODE_URLS — где до неё достают машины (Настройки и переменные окружения).
Обновления
Компьютер, на котором piomio-node старше хаба, показывает Обновить в своей строке в блоке Машины и во вкладке Хаб на телефоне. По нажатию он получает версию хаба прямо по своему соединению и через несколько секунд перезапускается. Компьютер, подключённый через приложение Piomio, обновляется вместе с приложением. Подробнее — в Обновлениях.
Отключить компьютер
В Настройки → Машины нажми Отключить в его карточке и подтверди. Ключ машины отзывается, и демон больше не сможет подключиться; чтобы вернуть компьютер, подключи его заново. В чате то же делает «отключи мой старый ноутбук» — после твоего подтверждения.
На самом компьютере: на сервере piomio-node uninstall удаляет службу (ключ и политика остаются в ~/.piomio-node). В приложении для компьютера Сбросить Piomio… в меню значка заодно удаляет подключение этого компьютера к хабу.