Naar inhoud

i&roof.top

Praat met de mensen die je mist.

Exporteer een Telegram- of WhatsApp-chat, en een LLM zet die voort in de stijl van iemand, met diens bubbels, stickers, GIF's, reacties en stem. Op je eigen computer, met elk model, en offline als je wilt.

Een chat gaat verder in de stijl van een echt mens, en dan opent een vriend de gedeelde link op zijn telefoon

Binnen een minuut aan de slag ​

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

Dan drie stappen: exporteer een chat uit Telegram Desktop of WhatsApp, sleep de map, het .zip- of .txt-bestand op de pagina en druk op New chat om te kiezen wie de AI speelt: de ander, of jijzelf. Geen eigen chat bij de hand? Probeer de fictieve: rooftop --import ./examples/telegram. (De knoppen van de app staan in het Engels, net als de app zelf.)

Zo werkt het ​

Een Telegram- of WhatsApp-export gaat naar iRoof.top, een LLM schrijft de antwoorden en de chat gaat verder

De export wordt één keer op je eigen computer gelezen. Bij elk antwoord krijgt het model een systeemprompt met het stijlprofiel, je notities en de mediabeschrijvingen, daarna het meest recente deel van de chat dat past in het geschiedenisbudget. Oudere delen worden samengevat in een korte herinnering, en de persona kan die nog steeds doorzoeken. Het model antwoordt met toolaanroepen (send_message, send_sticker, react…), die bubbels, stickers en reacties worden. Meer →

Waar je chat naartoe gaat ​

Netwerk
Importeren, stijlprofiel, zoeken, opslaggeen: alles gebeurt op je eigen computer
Eén antwoord, een geheugensamenvattingalleen het modeleindpunt dat je kiest, en niets anders
Media beschrijven, spraak transcriberenhet mediamodel, alleen als je op Describe drukt
Deellinks via internet, Telegramalleen als je ze aanzet; de offlinemodus zet ze uit

Vragen ​

Welk model moet ik gebruiken?

Elk chatmodel met toolaanroepen achter een OpenAI-compatibel /chat/completions-eindpunt. Grotere modellen imiteren een stijl beter. Voor Describe in de mediabibliotheek moet het mediamodel ook afbeeldingen accepteren (en audio voor spraakberichten). Test in de instellingen vertelt in begrijpelijke taal wat er misgaat, zoals een geweigerde sleutel of een onbekend model.

Wat kost het?

Niets met een lokaal model. Met een cloudmodel betaal je je provider per token: een antwoord kost ongeveer één geschiedenisbudget aan invoer (standaard 120.000 tekens ≈ 34.000 tokens; de prompt is zo opgebouwd dat hij gecachet kan worden, dus providers met promptcaching rekenen het grootste deel tegen het gecachete tarief), plus een paar korte toolaanroepen. Verlaag het budget in de instellingen om minder per antwoord te betalen.

Moet mijn export klein zijn?

Nee. Exports met meer dan 120.000 berichten en 13 GB media importeren prima, vanuit de browser of met rooftop --import <map>. Zoeken en het geschiedenisbudget houden de promptgrootte van elk antwoord gelijk, hoe lang de chat ook is.

Kan een vriend met de persona praten?

Ja, met een deellink: op je wifi, of via internet op naam.iroof.top, met pincode en berichtlimieten. Bezoekers zien alleen de chat: geen instellingen, notities, prompts of andere chats.

Een opmerking over zorg

Dit is bedoeld om dichtbij mensen te blijven die ver weg zijn. De persona blijft in haar rol, maar antwoordt eerlijk als je oprecht vraagt of je met een AI praat, en reageert zorgzaam als je in nood lijkt.

Uitgebracht onder de MIT-licentie.