Перейти к содержимому

Автономный режим и конфиденциальность ​

iRoof.top хранит ваши чаты на вашем компьютере. Если модель тоже работает на вашем компьютере, ничего не должно покидать его. Автономный режим делает это правилом, которое соблюдает приложение, а не привычкой.

Что происходит локально ​

ШагГде выполняетсяСеть
Импорт, разбор, профиль стиляваш компьютернет
Хранениефайлы JSON и медиа в каталоге данныхнет
Поиск по истории, PIN ссылок, медиатекаваш компьютернет
Описание фото, стикеров, GIF, видеомедиамодель, только когда вы нажимаете Описать с ИИодин запрос на элемент к конечной точке модели
Расшифровка голосамедиамодель, когда вы нажимаете Описать с ИИ у голосового сообщения или записываете егоодин запрос к конечной точке модели
Ответмодель чата, когда вы отправляете сообщение (или посетитель)запросы к конечной точке модели
Сжатие длинной историимодель чата, как часть ответа, когда история превышает бюджетодин дополнительный запрос к конечной точке модели

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

Работа только в автономном режиме ​

  1. Установите Ollama или LM Studio, либо запустите llama-server из llama.cpp.
  2. Скачайте модель чата с поддержкой вызова инструментов и, если хотите описания фото и стикеров, модель зрения.
  3. В Настройках выберите конечную точку и модель, затем включите Автономный режим:
СерверБазовый URL
Ollamahttp://localhost:11434/v1
LM Studiohttp://localhost:1234/v1
llama.cpp llama-serverhttp://localhost:8081/v1 (его порт по умолчанию 8080 занят iRoof.top: запускайте с llama-server --port 8081)
  1. Нажмите Проверить. Отправляется небольшой запрос, и показывается модель и хост, которые ответили. Можно отключить сеть и продолжать общаться.

Настольное приложение настраивается в Настройках. Оно не читает ваш shell или файл .env (см. Настольное приложение), но учитывает ROOFTOP_OFFLINE и OPENAI_*, если они заданы в окружении, из которого оно запущено. Сервер читает окружение (и .env):

sh
# --offline то же, что ROOFTOP_OFFLINE=1
OPENAI_BASE_URL=http://localhost:11434/v1 OPENAI_MODEL=llama3.1 rooftop --offline
sh
docker run -p 8080:8080 -v rooftop-data:/data \
  --add-host=host.docker.internal:host-gateway \
  -e ROOFTOP_OFFLINE=1 \
  -e OPENAI_BASE_URL=http://host.docker.internal:11434/v1 -e OPENAI_MODEL=llama3.1 \
  ghcr.io/irooftop/rooftop

В Docker localhost — это сам контейнер, поэтому используйте host.docker.internal (опция --add-host нужна только в Linux). Если Ollama отказывает в соединении, заставьте его слушать все интерфейсы (OLLAMA_HOST=0.0.0.0).

Что обеспечивает автономный режим ​

Автономный режим
Чат, сводка истории, описание медиа, расшифровка голосаотклоняются, если только конечная точка не локальная
MCP-серверы по HTTPотклоняются, если не локальные; ошибка показывается в Настройках
Общий доступ через интернет (<имя>.iroof.top)выключен: клиент ретрансляции не запускается, переключатель заблокирован
Telegram-бот, свой или общийне запускается
GIF по URLИИ не может отправить GIF с нелокального URL
Ссылки Wi‑Fiработают

Отклонённый запрос завершается до установки соединения, а сообщение объясняет причину: Автономный режим: https://openrouter.ai не является локальной конечной точкой. Перенаправление с локальной конечной точки на другой хост тоже отклоняется. Небольшой значок Автономный появляется в заголовке боковой панели, пока режим включён. Настройка сохраняется. --offline / ROOFTOP_OFFLINE=1 включают режим независимо от Настроек, а Настройки не могут его выключить.

Что значит «локальный» ​

localhost, петлевой адрес (127.0.0.0/8, ::1), адреса частных сетей (10/8, 172.16/12, 192.168/16, fc00::/7), link-local адреса и имена *.local и *.internal (например host.docker.internal). Модель на другом компьютере вашей домашней сети считается локальной, поскольку она никогда не покидает вашу сеть. Имена оцениваются по записи, они не разрешаются.

Что автономный режим не может проверить ​

  • MCP-серверы stdio — это программы на вашем компьютере. iRoof.top их запускает, но не видит, с чем они соединяются, поэтому добавляйте только те, которым доверяете, что они останутся локальными.
  • Расшифровка голоса использует API чата (часть input_audio), а не API Whisper /audio/transcriptions. Нужны локальный сервер и модель, которые принимают там аудио. Если ваш не принимает, голосовое всё равно сохраняется и отправляется, просто не хватает его текста.
  • Генерация изображений и речи существует только как инструменты MCP. В автономном режиме используйте для этого локальный MCP-сервер.
  • Люди, с которыми вы делитесь, открывают ваши ссылки Wi‑Fi в своих браузерах. Автономный режим регулирует это приложение, а не их устройства.

Безопасно делиться с друзьями ​

СсылкаЧто происходит
Wi‑Fi http://<ваш IP>:8737/s/<имя>никогда не покидает вашу локальную сеть
Интернет https://<имя>.iroof.top/s/<имя>приложение открывает одно исходящее WebSocket-соединение с хабом, который пересылает по нему HTTP-запросы посетителя и ответы вашего приложения

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

Будьте честны насчёт того, что это не даёт. Хаб завершает TLS, поэтому, как любой обратный прокси, технически видит проходящий трафик: что печатает посетитель, ответы персонажа и ту историю, которую ссылка позволяет посетителям читать (Посетители могут читать экспорт, по умолчанию ничего). Он пересылает только страницы для посетителей (/s/…, /api/s/…, ресурсы страницы) и отбрасывает cookie в обоих направлениях; ваш интерфейс владельца и настройки через него недоступны никогда. Если это слишком большое доверие, используйте ссылки Wi‑Fi или запустите собственный хаб ретрансляции. Подробнее о ссылках для общего доступа.

В автономном режиме ретрансляция iroof.top выключена. Ссылки Wi‑Fi продолжают работать.

Telegram-бот ​

Ответ из Telegram публикует в вашу группу:

  • новые сообщения посетителей (имя, название ссылки, текст или метку медиа с описанием или расшифровкой, и короткий предпросмотр сообщения, на которое они отвечают), и ответы ИИ;
  • никогда экспортированную историю. Старые сообщения не передаются.

У ботов нет сквозного шифрования: текст проходит через Telegram открытым. С общим ботом он также проходит через хаб, который хранит только то, какая группа принадлежит какому аккаунту. Собственный бот общается с Telegram напрямую, без хаба. Автономный режим отключает оба варианта.

Куда уходят ваши данные ​

ДанныеКуда уходят
Экспорты, чаты, настройки, ключ APIкаталог данных на вашем компьютере
Импорт и профиль стиляникуда
История, профиль стиля, ваши сообщениявыбранная вами конечная точка модели, при каждом ответе
Фото и голосконечная точка медиамодели, по Описать или при записи голосового
Сообщения посетителей по ссылке Wi‑Fiваш компьютер и ваша конечная точка модели
Сообщения посетителей по ссылке из интернетахаб (в пути), ваш компьютер, ваша конечная точка модели
Сообщения посетителей с Telegramдополнительно Telegram и хаб для общего бота
Автономный режимтолько локальная конечная точка модели, только ссылки Wi‑Fi, без Telegram

Распространяется по лицензии MIT.