В терминале Pi: /rc setup — один раз для машины; /rc on — для сессии. Ключ шифрования подхватывается автоматически после привязки.
Выберите сессию слева — её история появится здесь.
Relay объединяет подключённые машины. Сам Pi работает в вашем терминале: сайт не запускает второго агента и не переносит историю.
Один раз в терминале каждой машины: /rc setup. Откроется отдельное окно PowerShell: укажите SSH-адрес RC-контейнера и задайте пароль владельца (для следующих машин — существующий). Пароль вводится скрыто и не попадает в Pi или модель. Нужны настроенный SSH и уже выполненный rc:link.
/rc setup
Дальше включите /rc on Название. В новом браузере нужны viewer token (скопировать: /rc token) и пароль. После успешного входа токен запоминается, пароль вводится каждый раз. Сервер проверяет оба секрета и больше не выдаёт token по одному паролю. Admin token на сайте не используется. Ключи всех привязанных машин подхватываются автоматически; новые сессии не требуют импорта. Названия видны relay и другим вашим браузерам после входа, поэтому не помещайте туда секреты.
/rc on Название
/rc token
Браузер запоминает только транспортный токен. Пароль, билет входа и открытые ключи остаются в памяти. Сервер хранит проверочное значение и зашифрованные ключи, не пароль или открытые ключи переписки. Это не двухфакторная авторизация. Используйте длинную уникальную фразу.
Выход блокирует вкладки. Автоблокировка: 10 минут бездействия или 1 минута в фоне; Pi продолжает работу. Уже разблокированный браузер, вредоносное расширение или подменённый код сайта могут прочитать данные. Пароль не защищает от них.
Смена пароля: scripts/setup-rc-owner.ps1 -Action password. Пароль нельзя восстановить с сервера. Не присылайте его в чат. После ротации content key повторите /rc setup.
scripts/setup-rc-owner.ps1 -Action password
Viewer key уже создан на сервере при установке. Это не API-ключ модели, не admin token и не ключ машины. Для каждого входа создавать его заново не нужно.
На Windows откройте PowerShell в каталоге репозитория Personal Pi и выполните:
.\scripts\copy-rc-viewer-key.ps1
Скрипт спросит SSH-адрес RC-контейнера (root@IP), скопирует только viewer key в буфер обмена и не выведет его в терминал. Нужен ваш настроенный SSH-доступ; адрес NPM вместо RC-контейнера не подходит.
Вставьте ключ в поле входа. После вставки очистите буфер командой Set-Clipboard -Value ''. История Win+V и облачный буфер могут сохранять секреты отдельно — не используйте их для ключей.
Set-Clipboard -Value ''
На подключённой машине выполните в Pi сначала /reload, затем /rc on Моя сессия. Она появится в хабе с именем машины и статусом работы. /rc status — проверить подключение, /rc off — выключить.
/reload
/rc on Моя сессия
/rc status
/rc off
Без content key передаётся только статус. Для истории и управления один раз выполните bun run rc:secure на этой машине. После /new, /resume, /tree или /reload включите RC снова. Закрытие Pi отключает управление; просмотренная зашифрованная копия остаётся в браузере, если вы включили сохранение.
bun run rc:secure
Для новой машины: установите пакет Personal Pi и выполните из его каталога команду ниже, заменив RC_HOST на IP RC-контейнера, DOMAIN — на домен хаба:
bun run rc:link --ssh root@RC_HOST --url wss://DOMAIN/local --name Laptop
После ввода content key доступны история, поток ответа, изображения, отправка, собственная очередь и Stop. Stop ждёт завершения Pi; при локальной очереди просит остановить её в терминале. После обрыва запросы автоматически не повторяются.
Ключ устройства выдаёт rc:link отдельно каждой машине. Он хранится в профиле Pi, в personal-rc/device.json, а не в Git. Это транспортный ключ, не ключ шифрования переписки. Content key создаётся отдельно на машине и не отправляется relay в открытом виде. Не заменяйте его viewer key и не копируйте между машинами.
rc:link
personal-rc/device.json
Отозвать ключ текущей машины: bun run rc:revoke --ssh root@RC_HOST. Активное подключение закроется; другие машины останутся подключёнными. В отличие от отзыва ключа, /rc off просто выключает публикацию этой сессии.
bun run rc:revoke --ssh root@RC_HOST
Admin token остаётся на RC-сервере и нужен для управления доступом. Не вставляйте его в форму входа. Браузер не создаёт и не меняет серверные ключи.
Утёкший ключ нужно отозвать или заменить на сервере. Очистка вкладки не отзывает доступ. Не присылайте ключи в чат, не добавляйте в URL, Git или скриншоты.
На машине с Pi: bun run rc:secure, затем /reload и /rc on Моя сессия. Обычно ключ подхватывается после /rc setup автоматически. В обычном режиме вручную вводить или копировать ключ шифрования не нужно. Он даёт чтение и выполнение запросов с правами вашего Pi; не передавайте его другим людям.
В браузере: viewer key — для входа, content key — для расшифровки выбранной машины. До 200 сообщений, ограниченный текст, до 4 МБ сохранённых изображений на сессию. Исходная история Pi не удаляется. Зашифрованный кэш браузера — до 24 МБ / 8 сессий, старые копии вытесняются. Без ключа прочитать его нельзя. Для новой копии нужно открыть живую сессию.
Ротация: bun run rc:rotate, затем /rc setup для обновления привязки и снова /rc on. Старый ключ не открывает новые комнаты; ранее сохранённые копии он всё ещё может расшифровать.
bun run rc:rotate
/rc on
«Удалить из RC» убирает карточку и её RC-копии истории. В офлайн-браузерах очистка произойдёт при следующем подключении. Локальная переписка Pi остаётся: /rc on подключит её заново. Закрытие Pi лишь переводит карточку в офлайн; возврат в помеченную сессию восстанавливает RC. /rc off снимает пометку и удаляет сессию из RC.
Пароль и открытые ключи не сохраняются. После перезагрузки введите пароль — привязанные ключи будут загружены автоматически. Зашифрованная история хранится отдельно. Доверяйте серверу, доставляющему код этого клиента.
Pi-Remote protocol · MIT. Независимый интерфейс Personal Pi.