Sadece sözleri değil, tarzı
Tüm dışa aktarımdan çıkarılan bir stil profili; her balon, çıkartma, GIF, yanıt ve tepki modele bir araç çağrısı olarak yeniden oynatılır.
Nasıl çalışır
Özlediğin insanlarla konuş.
Bir Telegram ya da WhatsApp sohbetini dışa aktar; bir LLM onu bir insanın tarzında sürdürsün, balonları, çıkartmaları, GIF'leri, tepkileri ve sesiyle birlikte. Bilgisayarında, istediğin modelle, istersen çevrimdışı.
Tüm dışa aktarımdan çıkarılan bir stil profili; her balon, çıkartma, GIF, yanıt ve tepki modele bir araç çağrısı olarak yeniden oynatılır.
Nasıl çalışır
Sohbetler veri klasöründe kalır. Yerel bir model ve çevrimdışı mod açıkken uygulama bilgisayarından çıkacak her isteği reddeder.
Çevrimdışı ve gizlilik
120.000'den fazla mesaj ve 30.000 dosya, canlı ilerleme göstererek içe aktarılır. Yinelenen bir içe aktarma, medya yüklenmeden önce mesajlardan anlaşılır.
Büyük dışa aktarımlar
Gönderilenleri tanımlayan ve sesi yazıya döken bir medya kütüphanesi; sırayı sen seçersin ve istediğin an durdurabilirsin.
Fotoğraf ve ses
Bir arkadaşın /s/ad adresinde karakterle konuşmasına izin ver; PIN ve sınırlarla, Wi‑Fi'nda ya da ad.iroof.top üzerinden.
Paylaşım bağlantıları
Ziyaretçilerin mesajları Telegram grubuna düşer. Kendin yanıtla ya da yapay zekânın geri sayımdan sonra cevap vermesine izin ver.
Telegram
OpenAI, OpenRouter, Gemini, Ollama, LM Studio, llama.cpp… ve Streamable HTTP ya da stdio üzerinden MCP araçları.
MCP araçları
Modele giden tam JSON bir tık uzakta; boyutu, geçmiş bütçesi ve harcanan token sayısıyla birlikte.
Pencerede ne var
İçinde web arayüzü olan bir Rust sunucusu; macOS, Windows ve Linux için masaüstü uygulamaları, Homebrew ve bir Docker imajı.
Kur
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 --offlineSonra üç adım: Telegram Desktop ya da WhatsApp'tan sohbeti dışa aktar, klasörü, .zip'i ya da .txt'yi sayfaya sürükle ve yapay zekâyı kimin oynayacağını seçmek için New chat'e bas: diğer kişi mi, yoksa sen mi. Elinde sohbet yok mu? Kurgusal olanları dene: rooftop --import ./examples/telegram. (Uygulamanın düğme adları, uygulamanın kendisi gibi İngilizce.)
Dışa aktarım bilgisayarında bir kez okunur. Her yanıtta model; stil profilini, notlarını ve medya açıklamalarını içeren bir sistem istemi alır, ardından geçmiş bütçesine sığan sohbetin en yeni kısmını alır. Eski kısımlar kısa bir belleğe sıkıştırılır ve karakter bunları yine arayabilir. Model, balonlara, çıkartmalara ve tepkilere dönüşen araç çağrılarıyla (send_message, send_sticker, react…) yanıt verir. Devamı →
| Ağ | |
|---|---|
| İçe aktarma, stil profili, arama, depolama | yok: hepsi bilgisayarında olur |
| Bir yanıt, bellek özeti | seçtiğin model uç noktası, başka hiçbir şey |
| Medyayı açıklama, sesi yazıya dökme | medya modeli, yalnızca Describe'a bastığında |
| İnternet üzerinden paylaşım bağlantıları, Telegram | yalnızca açarsan; çevrimdışı mod bunları kapatır |
OpenAI uyumlu bir /chat/completions uç noktasının arkasında araç çağırma destekleyen herhangi bir sohbet modeli. Daha büyük modeller bir tarzı daha iyi taklit eder. Medya kütüphanesindeki Describe için medya modelinin resimleri (sesli mesajlar için de sesi) kabul etmesi gerekir. Ayarlardaki Test, reddedilen bir anahtar ya da bilinmeyen bir model gibi sorunu sade bir dille söyler.
Yerel bir modelle hiçbir şey. Bulut modeliyle sağlayıcına token başına ödersin: bir yanıt, girdi olarak kabaca bir geçmiş bütçesine denk gelir (varsayılan olarak 120.000 karakter ≈ 34 bin token; istem önbelleğe alınabilecek şekilde kurulduğundan, istem önbelleği destekleyen sağlayıcılar çoğunu önbellek fiyatından alır), üstüne birkaç kısa araç çağrısı gelir. Yanıt başına daha az ödemek için ayarlardan bütçeyi düşür.
Hayır. 120.000'den fazla mesaj ve 13 GB medya içeren dışa aktarımlar tarayıcıdan ya da rooftop --import <klasör> ile sorunsuz içe aktarılır. Arama ve geçmiş bütçesi, sohbet ne kadar uzun olursa olsun her yanıtın istem boyutunu aynı tutar.
Evet, bir paylaşım bağlantısıyla: Wi‑Fi'nda ya da internet üzerinden ad.iroof.top adresinde, PIN ve mesaj sınırlarıyla. Ziyaretçiler yalnızca sohbeti görür: ayar, not, istem ya da diğer sohbetler görünmez.
Özen hakkında bir not
Bu, uzakta olan insanlara yakın kalmak içindir. Karakter rolünde kalır, ama gerçekten bir yapay zekâyla konuşup konuşmadığını içtenlikle sorarsan dürüstçe yanıtlar; sıkıntıda göründüğün anlarda da özenle karşılık verir.