Початок роботи
Встановлення
| Команда | |
|---|---|
| Настільний застосунок, macOS | brew install --cask irooftop/tap/irooftop |
| Настільний застосунок, Windows | Інсталятор (.exe) або .msi |
| Настільний застосунок, Linux | AppImage, .deb або .rpm |
| Сервер, macOS і Linux | brew install irooftop/tap/rooftop (потім brew services start rooftop) |
| Сервер, де завгодно з Rust ≥ 1.88 | cargo install rooftop |
| Сервер, контейнер | docker pull ghcr.io/irooftop/rooftop (Docker) |
Настільному застосунку термінал не потрібен: див. Настільний застосунок.
Запуск
export OPENAI_BASE_URL=https://openrouter.ai/api/v1 # типове значення; підійде будь-який API, сумісний з OpenAI
export OPENAI_API_KEY=…
export OPENAI_MODEL=openai/gpt-6-luna # має підтримувати виклик інструментів
rooftop # http://127.0.0.1:8080Змінні також можуть бути у файлі .env поруч із тим місцем, звідки ви запускаєте rooftop, або задаватися пізніше в Налаштуваннях. Перевірити в Налаштуваннях надсилає невеликий запит і простими словами пояснює, що не так, наприклад «openrouter.ai відхилив ключ API (401)».
Хочете, щоб нічого не залишало ваш комп'ютер? Використайте локальну модель і офлайн-режим.
Ваш перший чат
┌──────────────┐ ┌────────────────────┐ ┌──────────────────────┐
│ 1. Експорт │ ──▶ │ 2. Перетягніть │ ──▶ │ 3. Новий чат: кого │
│ чату │ │ на сторінку │ │ гратиме ШІ │
└──────────────┘ └────────────────────┘ └──────────────────────┘- Експортуйте чат з Telegram Desktop або WhatsApp.
- Перетягніть папку,
.zipабо.txtWhatsApp на сторінку (або запустітьrooftop --import <папка>). - Натисніть Новий чат і оберіть персонажа: іншу людину або себе («спілкуватися з собою у своєму стилі»).
Спробуйте без власних чатів
У репозиторії є два вигадані експорти в examples/: Джонас і Прія готують лазанью в Telegram, Софія і Деніел проводять вихідні у WhatsApp.
git clone https://github.com/irooftop/rooftop && cd rooftop
rooftop --import ./examples/telegramНемає експорту? Почніть з нотаток
Новий чат → З нотаток потребує лише його імені (ваше необов'язкове) і кількох рядків про нього: хто він, що ви розділяєте, як він пише («називає мене зайчиком, короткі італійські повідомлення, багато ❤️»). ШІ пише як він лише за цими нотатками. Без історії немає профілю стилю та бібліотеки медіа, тож чим більше нотатки розповідають про те, як він пише, тим ближче вийде. Нотатки можна змінювати в чаті будь-коли (✎), а чатом ділитися посиланням, як і будь-яким іншим. Видалення чату видаляє все, що в ньому було.
Що є у вікні
| Кнопка | Що робить |
|---|---|
| Поділитися | Посилання, щоб друзі могли говорити з персонажем |
| Медіатека | Кожен стікер, GIF, фото і голосове повідомлення з тим, що ШІ про них знає |
| Нотатки | Те, чого експорт не розповідає про людину. Персонаж їх читає, відвідувачі — ніколи |
{ } | Точний JSON, який надсилається моделі, і використані токени |
| Переписати | Видаляє останню відповідь персонажа і пише її заново |
| Хай напише перший | Персонаж починає розмову |