GN⁺: rem(Remember Everything) - 애플 실리콘에서 모든 것을 기록하고 검색하게 해주는 오픈소스
(github.com/jasonjmcghee)- 컴퓨터 화면에서 일어나는 모든 동작을 녹화(2초마다 한번씩 스크린 샷을 찍음)
- 타임라인 보기에서 좌/우로 스크롤하여 시간 이동 가능
- Live Text가 텍스트를 인식하면 텍스트 선택가능
- 특정 단어를 검색해서 화면을 찾고, 화면의 OCR된 전체 내용을 보거나 그 텍스트를 ChatGPT등에 보내서 추가 작업이 가능
- Apple Silicon에서만 테스트되었으며, 릴리스도 Apple Silicon 전용.
- 매우 초기 버전임 : 휴일 동안 몇 일 만에 작성, Swift 초보임
시작하기
- 직접 빌드하거나, 릴리스 다운로드 후
xattr -c rem.app
실행으로 macOS에 앱 승인. - 앱 실행 후 "Start Remembering" 클릭하여 "Screen Recording" 접근 권한 부여.
- "Open timeline" 또는 "Cmd + Scroll Up"으로 타임라인 뷰 열기.
- 타임라인에서 왼쪽 또는 오른쪽으로 스크롤하여 시간 이동.
- "Search" 클릭하여 검색 뷰 열고, 타임라인에서 썸네일 클릭하여 해당 시간으로 이동.
- 타임라인에서 Live Text 활성화 후 텍스트 선택 가능.
- "Copy Recent Context" 클릭하여 최근 본 내용을 LLM과 상호작용하는 프롬프트로 복사.
- "Purge All Data" 클릭하여 모든 데이터 삭제 가능.
현재 지원 기능:
- 과거로 돌아가기 (본 모든 것의 전체 화면 스크러버).
- 과거의 텍스트 복사.
- 본 모든 것 검색.
- LLM과 상호작용을 위한 최근 컨텍스트 쉽게 획득.
추가하고 싶은 기능:
- 로컬 벡터 임베딩 업데이트를 통한 자연어 검색/에이전트 상호작용.
- 벡터 데이터베이스에 대한 새로운 접근 방식 탐색.
- 멀티 모니터 지원.
Hacker News 의견
-
첫 번째 댓글 요약:
- 이 도구는 멋져 보인다. 최근에 디스크 공간을 확보하려다가 거의 1년 전의 9시간짜리 화면 녹화 파일을 발견한 일이 생각난다. 실수로 녹화를 켜놓은 것 같다. 빠르게 스크러빙하며 몇 분 안에 전체를 보는 것은 당시의 생각 과정을 엿볼 수 있는 매혹적인 경험이었다. 온라인으로 무언가를 연구하는 과정을 볼 수 있었고, 스포츠 경기를 다시 보는 것처럼 교육적이고 유용했다. 또한, 그 당시의 세부 사항을 다시 보는 것은 변화를 가져왔다. 나는 'DownloadNet'이라는 도구를 만들었는데, 방문한 모든 페이지를 오프라인으로 보관하고 완전히 색인화한다. 북마크한 페이지만 보관하도록 설정하는 것도 가능하다. 이 도구는 오픈 소스이므로 확인해보길 바란다: DownloadNet GitHub 링크
- 저장된 영상에서 텍스트를 복사하는 것은 놀라운 일이다.
-
두 번째 댓글 요약:
- 과거에 나는 TimeSnapper Classic이라는 유틸리티를 사용해 일정 시간마다 스크린샷을 찍었다. 하지만 스크린샷이 디스크를 채우기 시작하고, 대부분의 스크린샷이 거의 동일해 보였다. 이미지 시퀀스에 최적화된 코덱을 만들어야겠다고 생각했고, 결국 GIF/비디오 코덱을 재발명한 것을 깨달았다. 그래서 ImageMagick으로 이미지에 타임스탬프를 넣고 ffmpeg으로 비디오로 변환하는 스크립트를 작성했다. 이로 인해 파일 크기가 99.9% 줄었다.
-
세 번째 댓글 요약:
- 오래전에 나는 몇 초마다 스크린샷을 찍어 자동으로 정보를 추출하는 프로젝트를 진행했다. PNG DB를 만들어 PNG 이미지를 여러 블록으로 나누고 각 블록을 데이터베이스에 저장했다. 동일한 블록은 한 번만 저장되며, 해시 테이블을 통해 빠른 검색이 가능했다. 이 PNG DB로 약 400-500%의 압축률을 달성했다. PNG DB GitHub 링크 그러나 스크린샷을 분석하는 스크립트는 결국 크게 성공적이지 못했다. screenshooting GitHub 링크 이 경험은 다른 프로젝트로 이어졌고, 그곳에서는 사용 중인 앱이나 열린 파일 정보를 더 직접적으로 저장했다. timecapture GitHub 링크
-
네 번째 댓글 요약:
- 개인 정보와 보안을 중요하게 생각하는 사람으로 보이는데, 폐쇄 소스 웹 브라우저(Arc Browser)를 사용하는 것이 흥미롭다.
-
다섯 번째 댓글 요약:
- 진정으로 다중 플랫폼이며 로컬에서 작동하는 이러한 도구를 원한다. 리눅스와 윈도우는 필수이며, 인터넷 없이도 사용할 수 있는 100% 오프라인이어야 한다. 매년 주요 버전당 60달러를 기꺼이 지불할 의향이 있다. 허용적인 오픈 소스 라이선스를 추가하면 평생 고객이 될 것이다. 아마도 다른 사람들도 관심이 있다면 직접 만들어야 할지도 모른다.
-
여섯 번째 댓글 요약:
- 'Remember Everything'에 대해: 나는 Chrome과 FireFox에서 본 모든 웹페이지의 복사본을 저장하는 'singleFile' 브라우저 확장 프로그램을 사용한다. 또한, 'AutomaticScreenshotter' 프로그램을 사용해 브라우저 활동이 아닌 다른 화면 활동을 기록한다. 이를 통해 과거 어느 날짜에 PC에서 무엇을 했는지 알 수 있다. 모든 파일은 연도/월/일 디렉토리 구조로 저장된다. 현재는 윈도우 검색을 사용하여 파일을 찾는다. 나는 'ditto'를 사용해 모든 복사 및 붙여넣기를 mysqldb에 저장한다. 이러한 디렉토리 구조는 2010년 이전부터 사용해왔고, 확장 프로그램과 스크린샷은 약 3-4년 전부터 시작했다. 포렌식 PC 조사 도구를 사용하거나 수정하여 PC 활동의 타임라인을 만드는 데 도움이 될지 궁금하다.
-
일곱 번째 댓글 요약:
- 이 기술들이 앞으로 5년 혹은 10년 후에 어떻게 사용될지 보는 것은 흥미로울 것이다. 우리는 지금까지 가장 강력한 기억 장치를 가지고 있지만, 그것을 사용하지 않으려고 끊임없이 시도한다는 것이 궁금하다. 더 심각한 측면에서, 이러한 도구들이 창의성을 방해할 수도 있다고 생각한다. 직접 기억하는 것이 아니라 이러한 도구에 의존하는 습관을 형성할 수 있으며, 창의성은 과거의 기억을 미래의 것들과 재결합하는 능력이기 때문이다.
-
여덟 번째 댓글 요약:
- OP의 데모는 매우 멋지다. 왜 이것이 애플 실리콘 전용인지 궁금하다. 윈도우보다 뛰어난 ML 지원 때문인가? Olama는 윈도우에서 사용할 수 없다는 것이 안타깝다. 나는 애플 실리콘 노트북이 없고, 애플 인텔과 강력한 윈도우만 가지고 있어서 이것을 테스트할 수 없다. 나는 기본 프로그래머이거나 Swift 프로그래밍 언어 없이 이런 것을 어떻게 처음부터 만드는지 아이디어가 부족하다. 내가 OP라면 Swift 튜토리얼부터 많이 해볼 것이다. 이것을 리눅스나 윈도우에서 작동하도록 Java나 C#으로 클론을 만드는 것은 희망 사항이지만, ML이나 DirectX API, 리눅스 데스크탑 API에 대한 경험이 전혀 없다. 프로젝트를 시작하기 전에 익숙해져야 할 API와 도구가 많다. OP는 Swift 경험이 없는데 어떻게 이것을 만들었는지, 애플 실리콘에서 프로젝트를 만드는 것이 더 쉬운 것인지 궁금하다. 나는 4년의 경험이 있고 Java와 C#으로 웹 API와 WinForm/DevExpress 작업을 하고 있다.
-
아홉 번째 댓글 요약:
- 이것을 사용하여 자신을 책임감 있게 관리하는 방법으로 활용할 수도 있다고 생각한다. 스크린샷을 "시간 낭비"와 "생산적인" 활동으로 쉽게 분류할 수 있는지 궁금하다(아마도 ML 모델을 통해 가능할 것이다). 통계를 게임화하는 것도 옵션이 될 수 있다. 예를 들어, 지난 한 시간 동안 78% 생산적, 12% 해커뉴스, 10% 비활동적이었다는 통계를 볼 수 있다. 자신만의 최고 점수를 달성하려고 할 수도 있다(예: 하루에 3번 100% 생산적인 시간을 가지는 것은 아마도 훌륭한 날이 될 것이다!). 비디오 데모를 좋아한다. 30초 미만으로 이 도구가 무엇을 하는지 이해할 수 있었다. 감사하다! PPS: (매우 부차적인) 비디오 속도 조절기(브라우저 애드온)가 이제 loom 비디오와 함께 작동한다 - 몇 달 전에는 그렇지 않았다.
-
열 번째 댓글 요약:
- 이러한 기술의 잠재적인 악몽 시나리오가 있다. 고용주들은 직원들을 완전히 감시하는 데 이런 종류의 도구를 사용하는 것을 좋아할 것이다. AI에 연결하면 모든 사람이 하는 모든 것을 실시간으로 모니터링하고 경고를 받을 수 있다.