Personal Pi Ваш терминал, рядом
Не подключено

Вход

Обзор сессий

Всё начинается в терминале

Выберите сессию слева — её история появится здесь.

PERSONAL PI / ПОДКЛЮЧЕНИЕ

Настройки и справка

Relay объединяет подключённые машины. Сам Pi работает в вашем терминале: сайт не запускает второго агента и не переносит историю.

Вход по паролю — рекомендуемый способ

Один раз в терминале каждой машины: /rc setup. Откроется отдельное окно PowerShell: укажите SSH-адрес RC-контейнера и задайте пароль владельца (для следующих машин — существующий). Пароль вводится скрыто и не попадает в Pi или модель. Нужны настроенный SSH и уже выполненный rc:link.

Дальше включите /rc on Название. В новом браузере нужны viewer token (скопировать: /rc token) и пароль. После успешного входа токен запоминается, пароль вводится каждый раз. Сервер проверяет оба секрета и больше не выдаёт token по одному паролю. Admin token на сайте не используется. Ключи всех привязанных машин подхватываются автоматически; новые сессии не требуют импорта. Названия видны relay и другим вашим браузерам после входа, поэтому не помещайте туда секреты.

Браузер запоминает только транспортный токен. Пароль, билет входа и открытые ключи остаются в памяти. Сервер хранит проверочное значение и зашифрованные ключи, не пароль или открытые ключи переписки. Это не двухфакторная авторизация. Используйте длинную уникальную фразу.

Выход блокирует вкладки. Автоблокировка: 10 минут бездействия или 1 минута в фоне; Pi продолжает работу. Уже разблокированный браузер, вредоносное расширение или подменённый код сайта могут прочитать данные. Пароль не защищает от них.

Смена пароля: scripts/setup-rc-owner.ps1 -Action password. Пароль нельзя восстановить с сервера. Не присылайте его в чат. После ротации content key повторите /rc setup.

Резервный вход и ключи

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 и облачный буфер могут сохранять секреты отдельно — не используйте их для ключей.

2. Сессия из терминального Pi

На подключённой машине выполните в Pi сначала /reload, затем /rc on Моя сессия. Она появится в хабе с именем машины и статусом работы. /rc status — проверить подключение, /rc off — выключить.

Без content key передаётся только статус. Для истории и управления один раз выполните bun run rc:secure на этой машине. После /new, /resume, /tree или /reload включите RC снова. Закрытие Pi отключает управление; просмотренная зашифрованная копия остаётся в браузере, если вы включили сохранение.

Для новой машины: установите пакет 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; при локальной очереди просит остановить её в терминале. После обрыва запросы автоматически не повторяются.

3. Где создаются остальные ключи?

Ключ устройства выдаёт rc:link отдельно каждой машине. Он хранится в профиле Pi, в personal-rc/device.json, а не в Git. Это транспортный ключ, не ключ шифрования переписки. Content key создаётся отдельно на машине и не отправляется relay в открытом виде. Не заменяйте его viewer key и не копируйте между машинами.

Отозвать ключ текущей машины: bun run rc:revoke --ssh root@RC_HOST. Активное подключение закроется; другие машины останутся подключёнными. В отличие от отзыва ключа, /rc off просто выключает публикацию этой сессии.

Admin token остаётся на RC-сервере и нужен для управления доступом. Не вставляйте его в форму входа. Браузер не создаёт и не меняет серверные ключи.

Утёкший ключ нужно отозвать или заменить на сервере. Очистка вкладки не отзывает доступ. Не присылайте ключи в чат, не добавляйте в URL, Git или скриншоты.

E2EE: история, изображения и управление

На машине с 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. Старый ключ не открывает новые комнаты; ранее сохранённые копии он всё ещё может расшифровать.

«Удалить из RC» убирает карточку и её RC-копии истории. В офлайн-браузерах очистка произойдёт при следующем подключении. Локальная переписка Pi остаётся: /rc on подключит её заново. Закрытие Pi лишь переводит карточку в офлайн; возврат в помеченную сессию восстанавливает RC. /rc off снимает пометку и удаляет сессию из RC.

Пароль и открытые ключи не сохраняются. После перезагрузки введите пароль — привязанные ключи будут загружены автоматически. Зашифрованная история хранится отдельно. Доверяйте серверу, доставляющему код этого клиента.

Pi-Remote protocol · MIT. Независимый интерфейс Personal Pi.