Автономный режим и конфиденциальность
iRoof.top хранит ваши чаты на вашем компьютере. Если модель тоже работает на вашем компьютере, ничего не должно покидать его. Автономный режим делает это правилом, которое соблюдает приложение, а не привычкой.
Что происходит локально
| Шаг | Где выполняется | Сеть |
|---|---|---|
| Импорт, разбор, профиль стиля | ваш компьютер | нет |
| Хранение | файлы JSON и медиа в каталоге данных | нет |
| Поиск по истории, PIN ссылок, медиатека | ваш компьютер | нет |
| Описание фото, стикеров, GIF, видео | медиамодель, только когда вы нажимаете Описать с ИИ | один запрос на элемент к конечной точке модели |
| Расшифровка голоса | медиамодель, когда вы нажимаете Описать с ИИ у голосового сообщения или записываете его | один запрос к конечной точке модели |
| Ответ | модель чата, когда вы отправляете сообщение (или посетитель) | запросы к конечной точке модели |
| Сжатие длинной истории | модель чата, как часть ответа, когда история превышает бюджет | один дополнительный запрос к конечной точке модели |
Импорт никогда не вызывает модель. Первый вызов происходит, когда вы отправляете сообщение, нажимаете Описать или записываете голосовое. Ответ отправляет модели вашу экспортированную историю (до бюджета истории), профиль стиля и описания медиа. Поэтому то, где работает модель, определяет, куда уходит ваш чат: облачная конечная точка его получает, модель на вашем компьютере — нет.
Работа только в автономном режиме
- Установите Ollama или LM Studio, либо запустите
llama-serverиз llama.cpp. - Скачайте модель чата с поддержкой вызова инструментов и, если хотите описания фото и стикеров, модель зрения.
- В Настройках выберите конечную точку и модель, затем включите Автономный режим:
| Сервер | Базовый URL |
|---|---|
| Ollama | http://localhost:11434/v1 |
| LM Studio | http://localhost:1234/v1 |
llama.cpp llama-server | http://localhost:8081/v1 (его порт по умолчанию 8080 занят iRoof.top: запускайте с llama-server --port 8081) |
- Нажмите Проверить. Отправляется небольшой запрос, и показывается модель и хост, которые ответили. Можно отключить сеть и продолжать общаться.
Настольное приложение настраивается в Настройках. Оно не читает ваш shell или файл .env (см. Настольное приложение), но учитывает ROOFTOP_OFFLINE и OPENAI_*, если они заданы в окружении, из которого оно запущено. Сервер читает окружение (и .env):
# --offline то же, что ROOFTOP_OFFLINE=1
OPENAI_BASE_URL=http://localhost:11434/v1 OPENAI_MODEL=llama3.1 rooftop --offlinedocker 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 |