말투까지, 단어만이 아니라
전체 내보내기에서 만든 스타일 프로필과, 말풍선·스티커·GIF·답장·반응 하나하나를 도구 호출로 모델에 다시 재생합니다.
작동 방식
전체 내보내기에서 만든 스타일 프로필과, 말풍선·스티커·GIF·답장·반응 하나하나를 도구 호출로 모델에 다시 재생합니다.
작동 방식
대화는 데이터 폴더에 남습니다. 로컬 모델과 오프라인 모드를 켜면, 내 컴퓨터 밖으로 나가는 요청은 모두 거부됩니다.
오프라인과 개인정보
12만 건이 넘는 메시지와 3만 개의 파일을 실시간 진행률과 함께 가져옵니다. 미디어를 올리기 전에 메시지로 중복 가져오기를 알아봅니다.
큰 내보내기
보낸 것을 설명하고 음성을 글로 옮기는 미디어 보관함입니다. 원하는 순서로 처리하며 언제든 멈출 수 있습니다.
사진과 음성
친구가 /s/이름 에서 페르소나와 대화하게 하세요. PIN과 제한을 두고, 내 Wi‑Fi에서 또는 name.iroof.top 으로.
공유 링크
방문자의 메시지가 내 Telegram 그룹에 도착합니다. 직접 답하거나, 카운트다운 뒤 AI가 답하게 할 수 있습니다.
Telegram
OpenAI, OpenRouter, Gemini, Ollama, LM Studio, llama.cpp… 그리고 Streamable HTTP나 stdio로 쓰는 MCP 도구.
MCP 도구
모델에 보낸 정확한 JSON을 한 번의 클릭으로 볼 수 있습니다. 크기, 기록 예산, 사용한 토큰 수도 함께 나옵니다.
창 안의 내용
웹 UI가 들어 있는 Rust 서버, macOS·Windows·Linux용 데스크톱 앱, Homebrew, 그리고 Docker 이미지.
설치
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 --offline이제 세 단계입니다. Telegram Desktop이나 WhatsApp에서 대화를 내보내고, 폴더나 .zip, .txt를 페이지에 끌어다 놓은 뒤, New chat을 눌러 AI 역할을 누가 맡을지 고르세요. 상대방이 할지, 내가 할지. 가진 대화가 없다면 가상의 대화로 해 보세요: rooftop --import ./examples/telegram. (앱의 버튼 이름은 앱과 마찬가지로 영어입니다.)
내보내기는 내 컴퓨터에서 한 번 읽힙니다. 답할 때마다 모델은 스타일 프로필, 내 메모, 미디어 설명을 담은 시스템 프롬프트를 받고, 이어서 기록 예산에 들어가는 가장 최근 대화 부분을 받습니다. 오래된 부분은 짧은 기억으로 접히고, 페르소나는 여전히 그것을 검색할 수 있습니다. 모델은 도구 호출(send_message, send_sticker, react…)로 답하고, 이것이 말풍선, 스티커, 반응이 됩니다. 더 보기 →
| 네트워크 | |
|---|---|
| 가져오기, 스타일 프로필, 검색, 저장 | 없음: 모두 내 컴퓨터에서 이루어집니다 |
| 답 하나, 기억 요약 | 내가 고른 모델 엔드포인트, 그 밖에는 없음 |
| 미디어 설명, 음성 글로 옮기기 | 미디어 모델, Describe를 누를 때만 |
| 인터넷을 통한 공유 링크, Telegram | 켰을 때만; 오프라인 모드에서는 꺼집니다 |
OpenAI 호환 /chat/completions 엔드포인트 뒤에 있는 도구 호출을 지원하는 채팅 모델이면 됩니다. 큰 모델일수록 말투를 더 잘 흉내 냅니다. 미디어 보관함의 Describe에는 미디어 모델이 이미지를 받을 수 있어야 하고(음성 메시지에는 오디오도), 설정의 Test가 거부된 키나 알 수 없는 모델처럼 무엇이 잘못됐는지 쉬운 말로 알려 줍니다.
로컬 모델이면 없습니다. 클라우드 모델이면 토큰 단위로 제공자에게 지불합니다. 답 하나의 입력은 대략 기록 예산 하나만큼입니다(기본값 12만 자 ≈ 3만 4천 토큰. 프롬프트는 캐시할 수 있게 만들어져서, 프롬프트 캐싱을 지원하는 제공자는 대부분을 캐시 가격으로 청구합니다). 여기에 짧은 도구 호출 몇 번이 더해집니다. 답마다 덜 내고 싶다면 설정에서 예산을 줄이세요.
아니요. 메시지 12만 건과 13 GB 미디어가 있는 내보내기도 브라우저에서나 rooftop --import <폴더>로 잘 가져옵니다. 검색과 기록 예산 덕분에 대화가 아무리 길어도 답마다 프롬프트 크기는 같게 유지됩니다.
네, 공유 링크로 가능합니다. 내 Wi‑Fi에서 또는 인터넷으로 name.iroof.top에서, PIN과 메시지 제한을 두고 쓸 수 있습니다. 방문자는 대화만 봅니다: 설정, 메모, 프롬프트, 다른 대화는 보이지 않습니다.
돌봄에 관한 참고
이것은 멀리 있는 사람들과 가까이 있기 위한 것입니다. 페르소나는 역할을 지키지만, 내가 진지하게 AI와 대화하는지 묻는다면 솔직하게 답하고, 내가 힘들어 보이면 배려하며 응답합니다.