11P by GN⁺ | ★ favorite | 댓글 1개
  • Windrecorder는 Windows 화면 기록을 로컬에 쌓아 나중에 되감기·검색하는 오픈 소스 앱으로, Rewind/Copilot Recall의 대안에 가까운 개인용 기억 도구임
  • 화면은 ffmpeg나 연속 간격 스크린샷으로 15분 단위 조각 파일에 저장되고, Windows 로컬 OCR API와 이미지 임베딩으로 색인화됨
  • 로컬 Web UI에서 창 제목, 텍스트 키워드, 이미지 설명으로 과거 화면을 찾을 수 있으며, 특정 프로그램이나 화면 영역은 기록에서 제외 가능함
  • 데이터 처리는 클라우드 없이 사용자 컴퓨터에서만 이루어지고 Python 기반이라 구조를 확인·수정하기 쉽지만, 성능은 느릴 수 있음
  • 현재 저장소는 암호화되지 않은 로컬 구조이며, LLM 기능은 제한적이고 일일 제목 개요와 검색이 실질적인 사용 범위임

화면 기록과 되감기 검색

  • Windrecorder는 사용자가 봤지만 나중에 찾기 어려운 웹페이지, 영상, 채팅 메시지 같은 정보를 다시 찾기 위한 개인용 화면 기억 도구
  • 주요 영감은 Mac 앱 Rewind와 Black Mirror S1E3 “The Entire History of You”임
  • 화면 기록 방식은 단순함
    • ffmpeg 또는 연속 간격 스크린샷을 사용함
    • 화면을 15분 단위 조각 파일로 저장함
    • Windows 로컬 OCR API와 이미지 임베딩으로 기록을 색인화함
  • 사용자는 기록하지 않을 프로그램이나 화면 범위를 지정할 수 있음
  • 로컬 Web UI에서는 다음 단서로 과거 화면을 되감고 검색할 수 있음
    • 창 제목
    • 텍스트 키워드
    • 이미지 설명
  • 부가 기능으로 일별·주기별 화면 사용 시간, 일주기 요약, 월간 라이트박스 생성이 포함됨

로컬 우선 설계와 현재 한계

  • 모든 처리는 사용자 컴퓨터에서만 이루어지며 클라우드 저장이나 구독을 전제로 하지 않음
  • Python으로 여러 기능을 연결해 만든 구조라 내부 동작이 투명하고 사용자가 직접 수정하기 쉬움
    • 대신 성능이 느려질 수 있음
  • 개발자는 전문 개발자가 아니며, 개인적인 관심과 사용 목적에서 도구를 만들었음
    • 한동안 사용한 뒤 충분히 성숙하고 견고하다고 판단함
    • 이슈 제기, 토론, 기여를 환영함
  • 현재 단점도 분명함
    • 데이터 저장소가 투명하고 암호화되지 않음
    • 사용자는 구조화된 로컬 데이터를 자유롭게 활용할 수 있지만, 보호에도 주의해야 함
  • LLM 기능은 크게 들어가지 않았음
    • 현재 LLM 기능은 사용자 의도에 따른 API 호출 판단과 검색 결과 조정에 주로 제한됨
    • 모든 데이터를 직접 이해·분석·회상하고 사용자 의도에 따라 행동하는 단계에는 아직 이르지 않음
    • 현재 제공되는 일일 제목 개요와 검색 기능이 Windrecorder에서 실현 가능한 범위임

댓글과 토론

Hacker News 의견들
  • 거의 20년 전에 이미 비슷한 걸 만들었고, 과거의 특정 시점으로 되감아 거기서 실행을 재개하는 기능까지 포함했음
    http://www.cs.columbia.edu/~orenl/papers/sosp07-dejaview.pdf
    DejaView는 데스크톱 사용 경험 전체를 기록해 재생, 탐색, 검색, 복원이 가능한 개인용 가상 컴퓨터 기록기였고, 화면 출력·애플리케이션/파일시스템 상태 체크포인트·문맥 포함 표시 텍스트를 함께 저장해 색인화했음
    애플리케이션, 윈도 시스템, 운영체제 커널 수정 없이 디스플레이/운영체제/파일시스템 가상화를 조합했고, 실제 데스크톱 앱에서 사용자 체감 성능 저하 없이 연속 기록과 대화형 검색/재생이 가능하다는 결과를 냈음

    • 실제로 만든 건지, 아니면 논문만 쓴 건지 궁금함. 어디서 내려받을 수 있는지도 알고 싶음
    • URL이 맞는지 모르겠음. 열어보면 파일을 찾을 수 없다고 나옴
  • macOS용으로 비슷한 오픈소스 프로젝트도 있음
    https://rem.ing
    https://github.com/jasonjmcghee/rem
    개발자가 3개월 전에 HN에 올렸고, 꽤 괜찮은 논의도 있었음
    https://news.ycombinator.com/item?id=38787892

    • rem 만든 사람임. 개발에 같이 참여해 주면 좋겠음
      MIT 라이선스이고, Rust로 만든 크로스플랫폼 버전 https://github.com/jasonjmcghee/xrem도 시작했는데 아직 초기 단계라 더 많은 도움이 필요함
    • 이걸 오래 써본 사람이 있는지 궁금함. 실제로 도움이 되는지 알고 싶음
    • Mac에서 이런 걸 한참 찾다가 포기하고, 10초마다 스크린샷을 찍는 스크립트와 그걸 ffmpeg로 영상으로 합치는 스크립트를 직접 만들었음
      기여하고 싶지만 Swift는 전혀 모르고, 내가 만든 건 전부 launchd로 돌리는 bash 스크립트였음
    • 같은 일을 하는 회사로 http://rewind.ai도 있음
  • 이런 걸 만들면 멋질 것 같음: Meta Smart Glasses가 2초마다 사진을 찍고, 이미지를 클라우드 서버로 보내고, OCR과 객체 감지/라벨링을 돌린 다음, 과거를 검색하거나 대화할 수 있는 앱을 제공하는 방식임
    그러면 LLM에게 “지갑을 어디에 뒀지?”, “어제 식당에서 계산한 뒤 신용카드를 돌려받았나?”, “오늘 딸의 새 티셔츠에 뭐라고 쓰여 있었지?” 같은 걸 물어볼 수 있음
    여기에 오디오 녹음과 전사까지 되면 회의에서 정한 마감일, 공원에서 만난 사람의 전화번호, 오늘 만난 투자자의 이름도 물어볼 수 있고, 전화 통화까지 접근해 상대방 발언을 전사·색인화하면 더 좋겠음
    Black Mirror의 “The Entire History of You” 에피소드가 떠오름: https://en.wikipedia.org/wiki/The_Entire_History_of_You

    • 보통 Black Mirror 에피소드는 따라 하고 싶은 미래상으로 만든 게 아님
    • 식당이 신용카드를 시야 밖으로 가져가면 절대 안 됨. 사실 직원이 카드를 만질 필요도 없고, 나갈 때 계산대 단말기에서 직접 긁는 게 맞음
    • Brilliant Labs의 Frame이 사용자 친화적이고 꽤 눈에 띄지 않는 형태로 이런 데이터를 현실적으로 제공할 수 있는 하드웨어에 가까워지고 있음
      이미 예약 구매했음
    • 그게 바로 많은 비판을 받은 Humane AI Pin이 하는 일임
  • OCR 대신, 혹은 OCR과 함께 접근성 API를 써서 이런 걸 만든 사람이 있는지 궁금함
    접근성 API에서 텍스트를 직접 가져올 수 있는데 전부 OCR 하는 건 낭비처럼 보임
    LLM을 UI에 연결하는 좋은 방법이 될 수도 있고, 이런 도구가 학습 데이터를 모으는 방식이 될 수도 있음

    • Dragon NaturallySpeaking은 “OK 클릭” 같은 음성 명령을 지원하고 실제로 그에 맞게 반응함
      Microsoft Office가 자체 위젯 렌더링을 하던 문제는 위젯과 버튼의 텍스트를 OCR로 읽어서 라벨을 알아내는 식으로 풀었음
      생각보다 훨씬 자주 이런 방식이 필요해짐. 개발자들은 기대를 배신하고 제공된 API를 쓰지 않을 때가 많음
    • 화면 검색이 가능한 Loom 비슷한 화면 녹화기를 만들면서 둘 다 조금씩 써봤는데, 운영체제에 독립적으로 만들려면 Mac과 Windows의 접근성 API 차이가 크고, Windows에서도 앱마다 구현이 제각각이라 실제로 사용자가 무엇을 “봤는지” 판단하기 어려움
      어떤 앱은 핵심 데이터를 빠뜨리거나 잘못 구현함. 접근성이 쉬울 줄 알았지만, 실제로는 OCR이 더 쉬운 경우가 많았음
    • 화면 히스토리가 있는 워크플로 기록기 MVP를 만들어봤음
      이 접근이 정말 유효하다면 Microsoft나 Apple이 모든 걸 기억하고 사용자 지식을 도와주는 Copilot의 일부로 운영체제에 기본 탑재할 거라고 봤음
      내가 만든 화면 히스토리는 여기 나온 앱만큼 고급은 아니었고, 나도 직접 쓰지는 않았음
    • 전경에 떠 있는 앱 정보를 메타데이터로 함께 저장할 수 있으면 좋겠음
  • Notion에서 “JavaScript must be enabled in order to use Notion”과 “Please enable JavaScript to continue” 차단 화면이 뜨는데, NoScript를 쓰면 이 차단 방식 때문에 실제로 사이트에서 JavaScript를 켤 수가 없음
    정적 페이지로 리다이렉트하지 않았으면 좋겠음. 그 페이지에는 케이스별로 허용할 JavaScript가 없고, 리다이렉트가 너무 빨라서 메인 페이지에서 JavaScript를 켤 기회도 없음
    notion.so 자체만 허용해도 이 차단을 우회할 수 없음

    • 이건 정말 별로임. 멀쩡히 쓸 수 있는 걸 최악의 방식으로 써버렸음
      HTML이 JavaScript 없는 리다이렉트를 허용한다는 것도 의외임
  • Windows에는 TimeSnapper도 있음. 오픈소스는 아니지만 개발자가 가끔 Hacker News에 있음
    https://timesnapper.com/

    • 스크린샷 기반 시간 추적과 창 제목, 때로는 열린 문서 기반의 고급 태깅에는 ManicTime도 있음. 다만 OCR은 없는 것 같음
      https://www.manictime.com/
  • 이런 프로젝트를 몇 개 기억함. 처음 본 건 2014년의 Savant Recall이었는데 YC에 선정되지 못해 오픈소스로 풀렸음
    이후 Napster 공동창업자 Ritter가 가져가서 Atlas Recall로 이름을 바꾸고, 새 UI를 붙이고, 2천만 달러 투자를 받았음
    그런데 1년 뒤 갑자기 종료됐고, LinkedIn에는 “Xinova에 인수됨”이라고 되어 있음. 또 들어본 것으로는 2019년의 Apse가 있었음

  • https://apse.io/와 매우 비슷해 보임. 이쪽도 OCR로 화면에서 본 모든 것을 검색 가능한 색인으로 만듦
    windrecorder는 오픈소스라는 점이 마음에 듦

  • GitHub README 기준으로 영상은 연간 100~200GB 정도라서 그리 나쁘지 않음

    • 하루 평균 몇 시간 기준인지 궁금함. 영화나 게임처럼 텍스트 없는 장면은 삭제하는지도 궁금함
  • “왜 이런 앱은 없지?” 같은 아이디어가 있다면, 이렇게 직접 잘 구현해 내는 게 모두에게 영감을 줌

    • X를 하는 앱을 찾는 가장 쉬운 방법은 새로 하나 만든 뒤 HN에 올리고 댓글을 확인하는 것임
    • rewind.ai도 이런 예인데, 최근 이 데이터를 클라우드 전용 저장소로 옮기고 limitless.ai로 이름을 바꾼 걸 보면 이런 오픈소스가 나오는 게 반가움
      클라우드 저장을 강제당하지 않아도 되니까 좋고, 이 말은 아마 곧 유료 고객을 그만둘 사람으로서 하는 말임