Перейти до вмісту

i&roof.top

Говоріть із тими, за ким сумуєте.

Експортуйте чат із Telegram або WhatsApp, і LLM продовжить його в манері людини, з її повідомленнями, стікерами, GIF, реакціями та голосом. На вашому комп'ютері, з будь-якою моделлю, а якщо хочете – й без інтернету.

Листування триває в манері справжньої людини, а потім друг відкриває спільне посилання на телефоні

Почніть за хвилину ​

sh
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 → Test
sh
brew 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 page
sh
docker run -d -p 8080:8080 -e OPENAI_API_KEY=… \
  -v rooftop-data:/data ghcr.io/irooftop/rooftop
sh
cargo install rooftop      # Rust ≥ 1.88
OPENAI_API_KEY=… rooftop
sh
ollama 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. (Написи в застосунку англійською, як і сам застосунок.)

Як це працює ​

Експорт із Telegram або WhatsApp потрапляє до iRoof.top, LLM пише відповіді, і листування продовжується

Експорт читається один раз, на вашому комп'ютері. Під час кожної відповіді модель отримує системний промпт із профілем стилю, вашими нотатками й описами медіа, а потім найсвіжішу частину листування, яка вміщується в бюджет історії. Старіші частини стискаються в коротку пам'ять, і персонаж усе ще може їх шукати. Модель відповідає викликами інструментів (send_message, send_sticker, react…), які стають повідомленнями, стікерами й реакціями. Докладніше →

Куди йде ваш чат ​

Мережа
Імпорт, профіль стилю, пошук, зберіганнянічого: усе відбувається на вашому комп'ютері
Одна відповідь, підсумок пам'ятілише кінцева точка моделі, яку ви обрали
Опис медіа, розшифровка голосумодель для медіа, лише коли ви натискаєте Describe
Посилання для спільного доступу через інтернет, Telegramлише якщо ви їх увімкнули; офлайн-режим їх вимикає

Питання ​

Яку модель обрати?

Будь-яку чат-модель з викликом інструментів за кінцевою точкою /chat/completions, сумісною з OpenAI. Більші моделі краще імітують стиль. Для Describe у медіатеці модель для медіа також має приймати зображення (а для голосових повідомлень — аудіо). Test у налаштуваннях простими словами пояснює, що не так, наприклад відхилений ключ або невідома модель.

Скільки це коштує?

Нічого з локальною моделлю. З хмарною моделлю ви платите провайдеру за токени: одна відповідь коштує приблизно стільки, скільки один бюджет історії на вході (за замовчуванням 120 000 символів ≈ 34 тис. токенів; промпт побудовано так, щоб його можна було кешувати, тож провайдери з кешуванням промптів беруть більшу частину за кешованим тарифом), плюс кілька коротких викликів інструментів. Зменште бюджет у налаштуваннях, щоб платити менше за відповідь.

Чи має експорт бути малим?

Ні. Експорти з понад 120 000 повідомлень і 13 ГБ медіа імпортуються без проблем, з браузера або командою rooftop --import <папка>. Пошук і бюджет історії тримають розмір промпту кожної відповіді однаковим, якою б довгою не була розмова.

Чи може друг поговорити з персонажем?

Так, за посиланням для спільного доступу: у вашій Wi‑Fi мережі або через інтернет на назва.iroof.top, з PIN-кодом і обмеженням повідомлень. Відвідувачі бачать лише листування: без налаштувань, нотаток, промптів чи інших чатів.

Слово про турботу

Це для того, щоб бути поруч із тими, хто далеко. Персонаж залишається у своїй ролі, але чесно відповість, якщо ви щиро запитаєте, чи говорите ви з ШІ, і лагідно відреагує, якщо вам, здається, важко.

Поширюється за ліцензією MIT.