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

Начало работы ​

Установка ​

Команда
Настольное приложение, macOSbrew install --cask irooftop/tap/irooftop
Настольное приложение, WindowsУстановщик (.exe) или .msi
Настольное приложение, LinuxAppImage, .deb или .rpm
Сервер, macOS и Linuxbrew install irooftop/tap/rooftop (затем brew services start rooftop)
Сервер, где угодно с Rust ≥ 1.88cargo install rooftop
Сервер, контейнерdocker pull ghcr.io/irooftop/rooftop (Docker)

Настольному приложению терминал не нужен: см. Настольное приложение.

Запуск ​

sh
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. Новый чат: кого   │
 │ чата         │     │    на страницу     │     │ играет ИИ            │
 └──────────────┘     └────────────────────┘     └──────────────────────┘
  1. Экспортируйте чат из Telegram Desktop или WhatsApp.
  2. Перетащите папку, .zip или .txt WhatsApp на страницу (или запустите rooftop --import <папка>).
  3. Нажмите Новый чат и выберите персонажа: другого человека или себя («общаться с собой в своём стиле»).

Попробуйте без своих чатов

В репозитории есть два вымышленных экспорта в examples/: Джонас и Прия готовят лазанью в Telegram, Софи и Даниэль проводят выходные в WhatsApp.

sh
git clone https://github.com/irooftop/rooftop && cd rooftop
rooftop --import ./examples/telegram

Нет экспорта? Начните с заметок ​

Новый чат → Из заметок требует только имя этого человека (ваше необязательно) и несколько строк о нём: кто он, что вы разделяете, как он пишет («зовёт меня солнышко, короткие сообщения, много ❤️»). ИИ пишет как он только по этим заметкам. Без истории нет профиля стиля и медиатеки, поэтому чем подробнее заметки о том, как он пишет, тем ближе получится. Заметки можно изменить в чате в любой момент (✎), а чатом поделиться по ссылке, как и любым другим. Удаление чата удаляет всё, что в нём было.

Что в окне ​

КнопкаЧто делает
ПоделитьсяСсылки, чтобы друзья могли говорить с персонажем
МедиатекаКаждый стикер, GIF, фото и голосовое с тем, что ИИ о них знает
ЗаметкиТо, чего нет в экспорте. Персонаж их читает, посетители — никогда
{ }Точный JSON, отправленный модели, и потраченные токены
ПереписатьУдаляет последний ответ персонажа и пишет его заново
Пусть пишет первымПерсонаж начинает разговор

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