Ir para o conteúdo

i&roof.top

Fale com as pessoas que você sente falta.

Exporte uma conversa do Telegram ou do WhatsApp, e um LLM a continua no estilo de uma pessoa, com as bolhas, figurinhas, GIFs, reações e a voz dela. No seu computador, com qualquer modelo, e offline se preferir.

Uma conversa continua no estilo de uma pessoa real, e depois um amigo abre o link compartilhado no celular

Comece em um minuto ​

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

Depois, três passos: exporte uma conversa do Telegram Desktop ou do WhatsApp, arraste a pasta, o .zip ou o .txt para a página e clique em New chat para escolher quem faz a IA: a outra pessoa, ou você mesmo. Não tem uma conversa à mão? Experimente as fictícias: rooftop --import ./examples/telegram. (Os nomes dos botões do app estão em inglês, como o próprio app.)

Como funciona ​

Uma exportação do Telegram ou do WhatsApp entra no iRoof.top, um LLM escreve as respostas e a conversa continua

A exportação é lida uma vez, no seu computador. A cada resposta, o modelo recebe um prompt de sistema com o perfil de estilo, as suas notas e as descrições das mídias, e depois a parte mais recente da conversa que cabe no orçamento do histórico. As partes antigas são resumidas numa memória curta, e a persona ainda consegue buscá-las. O modelo responde com chamadas de ferramenta (send_message, send_sticker, react…), que viram bolhas, figurinhas e reações. Mais →

Para onde vai a sua conversa ​

Rede
Importação, perfil de estilo, busca e armazenamentonenhuma: tudo acontece no seu computador
Uma resposta, um resumo de memóriao endpoint do modelo que você escolher, e mais nada
Descrever mídias, transcrever vozo modelo de mídia, só quando você clica em Describe
Links de compartilhamento pela internet, Telegramsó se você os ativar; o modo offline os desliga

Perguntas ​

Qual modelo devo usar?

Qualquer modelo de chat com chamada de ferramentas atrás de um endpoint /chat/completions compatível com OpenAI. Modelos maiores imitam melhor um estilo. Para o Describe na biblioteca de mídia, o modelo de mídia também precisa aceitar imagens (e áudio, para mensagens de voz). O Test nas configurações diz, em palavras simples, o que está errado, por exemplo uma chave recusada ou um modelo desconhecido.

Quanto custa?

Nada com um modelo local. Com um modelo na nuvem, você paga ao seu provedor por token: uma resposta custa cerca de um orçamento de histórico de entrada (120.000 caracteres ≈ 34 mil tokens por padrão; o prompt é montado para ser cacheável, então os provedores com cache de prompt cobram a maior parte pelo preço em cache) mais algumas chamadas curtas de ferramenta. Reduza o orçamento nas configurações para pagar menos por resposta.

Minha exportação precisa ser pequena?

Não. Exportações com mais de 120.000 mensagens e 13 GB de mídia são importadas sem problemas, pelo navegador ou com rooftop --import <pasta>. A busca e o orçamento do histórico mantêm o prompt de cada resposta do mesmo tamanho, não importa quão longa seja a conversa.

Um amigo pode conversar com a persona?

Pode, com um link de compartilhamento: no seu Wi‑Fi, ou pela internet em nome.iroof.top, com PIN e limites de mensagens. Os visitantes veem só a conversa: nada de configurações, notas, prompts ou outras conversas.

Uma nota sobre cuidado

Isto serve para estar perto de pessoas que estão longe. A persona continua no seu papel, mas responde com honestidade se você perguntar sinceramente se está falando com uma IA, e responde com cuidado se parecer que você está em apuros.

Publicado sob a licença MIT.