Son style, pas seulement ses mots
Un profil de style tiré de tout l'export, et chaque bulle, autocollant, GIF, réponse et réaction est rejoué au modèle sous forme d'appel d'outil.
Fonctionnement
Parlez avec les personnes qui vous manquent.
Exportez une conversation Telegram ou WhatsApp, et un LLM la poursuit dans le style d'une personne, avec ses bulles, ses autocollants, ses GIF, ses réactions et sa voix. Sur votre ordinateur, avec le modèle de votre choix, hors ligne si vous le souhaitez.
Un profil de style tiré de tout l'export, et chaque bulle, autocollant, GIF, réponse et réaction est rejoué au modèle sous forme d'appel d'outil.
Fonctionnement
Les conversations restent dans votre dossier de données. Avec un modèle local et le mode hors ligne activé, l'application refuse chaque requête qui quitterait votre ordinateur.
Hors ligne et confidentialité
Plus de 120 000 messages et 30 000 fichiers s'importent avec une progression en direct. Une réimportation est repérée à partir des messages, avant tout envoi de médias.
Gros exports
Une bibliothèque de médias qui décrit ce qui a été envoyé et transcrit les messages vocaux, dans l'ordre que vous choisissez, et que vous pouvez arrêter à tout moment.
Photos et voix
Laissez un ami parler au personnage sur /s/nom, avec un PIN et des limites, sur votre Wi‑Fi ou sur nom.iroof.top.
Liens de partage
Les messages des visiteurs arrivent dans votre groupe Telegram. Répondez vous-même, ou laissez l'IA répondre après un compte à rebours.
Telegram
OpenAI, OpenRouter, Gemini, Ollama, LM Studio, llama.cpp… et des outils MCP via Streamable HTTP ou stdio.
Outils MCP
Le JSON exact envoyé au modèle est à un clic, avec sa taille, le budget d'historique et les jetons utilisés.
Ce qu'il y a dans la fenêtre
Un serveur Rust avec l'interface web intégrée, des applications de bureau pour macOS, Windows et Linux, Homebrew et une image Docker.
Installer
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 --offlineEnsuite, trois étapes : exportez une conversation depuis Telegram Desktop ou WhatsApp, déposez le dossier, le .zip ou le .txt sur la page, puis appuyez sur New chat pour choisir qui joue l'IA : l'autre personne, ou vous-même. Pas de conversation sous la main ? Essayez les fictives : rooftop --import ./examples/telegram. (Les libellés de l'application sont en anglais, comme l'application elle-même.)
L'export est lu une seule fois, sur votre ordinateur. À chaque réponse, le modèle reçoit une invite système avec le profil de style, vos notes et les descriptions des médias, puis la partie la plus récente de la conversation qui tient dans le budget d'historique. Les parties anciennes sont résumées en une courte mémoire, que le personnage peut toujours consulter. Le modèle répond par des appels d'outils (send_message, send_sticker, react…), qui deviennent des bulles, des autocollants et des réactions. Plus →
| Réseau | |
|---|---|
| Importation, profil de style, recherche, stockage | aucun : tout se passe sur votre ordinateur |
| Une réponse, un résumé de mémoire | le point d'accès du modèle de votre choix, rien d'autre |
| Décrire les médias, transcrire la voix | le modèle de médias, uniquement quand vous appuyez sur Describe |
| Liens de partage sur Internet, Telegram | seulement si vous les activez ; le mode hors ligne les coupe |
Tout modèle de conversation avec appels d'outils, derrière un point d'accès /chat/completions compatible OpenAI. Les modèles plus grands imitent mieux un style. Pour Describe dans la bibliothèque de médias, le modèle de médias doit aussi accepter les images (et l'audio pour les messages vocaux). Test dans les réglages indique en termes simples ce qui ne va pas, par exemple une clé refusée ou un modèle inconnu.
Rien avec un modèle local. Avec un modèle en ligne, vous payez votre fournisseur au jeton : une réponse coûte à peu près un budget d'historique en entrée (120 000 caractères ≈ 34 000 jetons par défaut ; l'invite est conçue pour être mise en cache, donc les fournisseurs qui gèrent le cache facturent la plus grande partie au tarif mis en cache) plus quelques courts appels d'outils. Réduisez le budget dans les réglages pour payer moins par réponse.
Non. Les exports de plus de 120 000 messages et 13 Go de médias s'importent sans problème, depuis le navigateur ou avec rooftop --import <dossier>. La recherche et le budget d'historique gardent l'invite de chaque réponse de la même taille, quelle que soit la longueur de la conversation.
Oui, avec un lien de partage : sur votre Wi‑Fi, ou sur Internet à l'adresse nom.iroof.top, avec un PIN et des limites de messages. Les visiteurs ne voient que la conversation : ni réglages, ni notes, ni invites, ni autres conversations.
Une note sur la bienveillance
Ceci sert à rester proche de personnes qui sont loin. Le personnage reste dans son rôle, mais il répond honnêtement si vous demandez sincèrement s'il s'agit d'une IA, et il répond avec attention si vous semblez en détresse.