Манера речи, а не только слова
Профиль стиля, построенный по всему экспорту, и каждое сообщение, стикер, GIF, ответ и реакция воспроизводятся модели как вызов инструмента.
Как это работает
Поговорите с теми, по кому скучаете.
Экспортируйте чат из Telegram или WhatsApp, и LLM продолжит его в манере человека, с его сообщениями, стикерами, GIF, реакциями и голосом. На вашем компьютере, с любой моделью, а если хотите, то и без интернета.
Профиль стиля, построенный по всему экспорту, и каждое сообщение, стикер, GIF, ответ и реакция воспроизводятся модели как вызов инструмента.
Как это работает
Чаты хранятся в вашей папке данных. С локальной моделью и включённым офлайн-режимом приложение отклоняет любой запрос, который покинул бы ваш компьютер.
Офлайн и конфиденциальность
Более 120 000 сообщений и 30 000 файлов импортируются с живым прогрессом. Повторный импорт определяется по сообщениям, до загрузки любых медиа.
Большие экспорты
Медиатека описывает присланное и расшифровывает голосовые в том порядке, который вы выберете, и это можно остановить в любой момент.
Фото и голос
Пусть друг поговорит с персонажем по адресу /s/имя, с PIN-кодом и ограничениями, в вашей Wi‑Fi сети или на name.iroof.top.
Ссылки для общего доступа
Сообщения посетителей попадают в вашу группу Telegram. Отвечайте сами или пусть ИИ ответит после обратного отсчёта.
Telegram
OpenAI, OpenRouter, Gemini, Ollama, LM Studio, llama.cpp… и инструменты MCP через Streamable HTTP или stdio.
Инструменты MCP
Точный JSON, отправленный модели, открывается одним нажатием, с размером, бюджетом истории и использованными токенами.
Что в окне
Сервер на Rust с веб-интерфейсом внутри, настольные приложения для macOS, Windows и Linux, Homebrew и образ Docker.
Установка
brew install --cask irooftop/tap/irooftop # macOS
# Windows and Linux: direct downloads under "Download the app" above
# Open the app, then Settings → model and key → Testbrew install irooftop/tap/rooftop
export OPENAI_API_KEY=… # OpenRouter by default, any OpenAI-compatible API works
rooftop # http://127.0.0.1:8080, then drop an export onto the pagedocker run -d -p 8080:8080 -e OPENAI_API_KEY=… \
-v rooftop-data:/data ghcr.io/irooftop/rooftopcargo install rooftop # Rust ≥ 1.88
OPENAI_API_KEY=… rooftopollama pull qwen3 # any local model with tool calling
OPENAI_BASE_URL=http://localhost:11434/v1 OPENAI_MODEL=qwen3 rooftop --offlineЗатем три шага: экспортируйте чат из Telegram Desktop или WhatsApp, перетащите папку, .zip или .txt на страницу и нажмите New chat, чтобы выбрать, кто будет ИИ: другой человек или вы сами. Своего чата под рукой нет? Попробуйте вымышленные: rooftop --import ./examples/telegram. (Надписи в приложении на английском, как и само приложение.)
Экспорт читается один раз, на вашем компьютере. При каждом ответе модель получает системный промпт с профилем стиля, вашими заметками и описаниями медиа, а затем самую свежую часть переписки, которая помещается в бюджет истории. Старые части сворачиваются в короткую память, и персонаж по-прежнему может их искать. Модель отвечает вызовами инструментов (send_message, send_sticker, react…), которые становятся сообщениями, стикерами и реакциями. Подробнее →
| Сеть | |
|---|---|
| Импорт, профиль стиля, поиск, хранение | ничего: всё происходит на вашем компьютере |
| Один ответ, сводка памяти | конечная точка модели, которую вы выбрали, и больше ничего |
| Описание медиа, расшифровка голоса | модель для медиа, только когда вы нажимаете Describe |
| Ссылки для общего доступа через интернет, Telegram | только если вы их включили; офлайн-режим их отключает |
Любую чат-модель с вызовом инструментов за конечной точкой /chat/completions, совместимой с OpenAI. Более крупные модели лучше подражают стилю. Для Describe в медиатеке модель для медиа также должна принимать изображения (а для голосовых сообщений — аудио). Test в настройках простым языком сообщит, что не так, например, ключ отклонён или модель неизвестна.
С локальной моделью — ничего. С облачной моделью вы платите провайдеру за токены: один ответ стоит примерно как один бюджет истории на входе (по умолчанию 120 000 символов ≈ 34 тыс. токенов; промпт построен так, чтобы его можно было кешировать, поэтому провайдеры с кешированием промптов берут большую часть по кешированной цене), плюс несколько коротких вызовов инструментов. Уменьшите бюджет в настройках, чтобы платить меньше за ответ.
Нет. Экспорты из более чем 120 000 сообщений и 13 ГБ медиа импортируются нормально — из браузера или командой rooftop --import <папка>. Поиск и бюджет истории сохраняют размер промпта каждого ответа одинаковым, как бы долго ни длилась переписка.
Да, по ссылке для общего доступа: в вашей Wi‑Fi сети или через интернет на name.iroof.top, с PIN-кодом и ограничением сообщений. Посетители видят только переписку: ни настроек, ни заметок, ни промптов, ни других чатов.
Слово о заботе
Это для того, чтобы оставаться рядом с теми, кто далеко. Персонаж остаётся в роли, но честно ответит, если вы искренне спросите, говорите ли вы с ИИ, и бережно отреагирует, если вам, похоже, плохо.