reMarkable Paper Pro에서 펜으로 대화하는 잉크 기반 일기 인터페이스
reMarkable Paper Pro에서 손글씨 PNG를 LLM으로 전송해 문장 단위 스트리밍으로 손글씨 답변을 재생하는 루트권한 테이크오버형 일기 앱이다.
TL;DR
riddle은 reMarkable Paper Pro에서 펜으로 쓴 글을 래스터화해 손글씨 PNG를 오라클(HTTP 기반 OpenAI 호환 엔드포인트 또는 로컬 pi RPC)로 전송하고 모델의 문장 단위 스트리밍 응답을 Zhang-Suen 세선화와 스트로크 트레이싱으로 필기 애니메이션으로 재생하는 애플리케이션이다. 테이크오버 플래버는 libqsgepaper.so를 직접 구동해 매우 낮은 레이턴시로 즉시 잉크를 표시하며 qtfb 플래버는 xochitl을 유지한 채 창형으로 동작한다. 기본 동작은 페이지 커밋 후 PNG 전송과 즉시 스트리밍 재생이며 장치 상의 메모리 보존과 RIDDLE_MEMORY 환경 제어로 개인정보를 로컬에만 유지할 수 있다. 설치는 remagic을 통한 원클릭 방식이나 릴리스 ZIP의 수동 복사로 가능하며 빌드형은 cross-compile이 필요하고 테이크오버는 장치에서 공급업체 라이브러리를 직접 가져와야 한다.
주요 기능
- 펜 입력을 고해상도 압력 이벤트로 캡처하고 Zhang-Suen 세선화를 거쳐 단일 픽셀 스트로크로 추적한 뒤 필기 합성 애니메이션으로 재생한다. 이 과정은 래스터화→세선화→스트로크 트레이싱의 파이프라인으로 구성되어 있으며 재생은 획 단위로 쓰기 애니메이션을 생성해 자연스러운 필기 표현을 제공한다. 앱은 답변을 스트리밍 받아 잉크가 모델의 출력과 거의 동기화된 상태로 표시되게 한다.
- 로컬 장치에 완료된 페이지를 PNG로 보관하고 그 파일을 오라클로 전송해 인식과 응답을 유도한다. 기본 설정에서는 각 커밋 페이지가 로컬 파일로 유지되며 RIDDLE_MEMORY 설정으로 저장 동작을 제어할 수 있다. 오라클 처리 후 임시 PNG는 삭제되며 필요하면 RIDDLE_KEEP_PAGE 환경 변수로 디버그용 보존이 가능하다.
- 두 가지 오라클 백엔드를 지원해 유연한 배포를 제공한다. 하나는 OpenAI 호환 HTTP 엔드포인트로서 API 키 기반 연결을 사용하며 다른 하나는 장치에 상주하는 pi RPC 프로세스를 이용해 세션을 유지하고 레이턴시를 줄인다. 두 백엔드는 문장 단위 스트리밍으로 동작하므로 잉크 재생이 모델의 진행과 동시 발생한다.
- 테이크오버 플래버는 공급업체 파형 엔진을 직접 호출해 즉각적인 잉크 반응을 얻는다. 이 방법은 xochitl을 중지하고 libqsgepaper.so를 통해 vendor e-ink 엔진을 직접 구동함으로써 가장 낮은 레이턴시를 달성한다. 테이크오버 번들은 전용 C ABI를 이용해 riddle과 연동되며 장치 복구를 위해 5-핑거 탭 같은 안전 복귀 수단을 제공한다.
어떻게 동작하는가
사용자가 펜으로 쓴 페이지는 특정 시간(기본 2.8초) 대기 후 커밋되어 소형 그레이스케일 PNG로 래스터화된다. 그 PNG는 오라클 프로세스(HTTP 기반 OpenAI 호환 엔드포인트 또는 장치 상주의 pi RPC)에 전달되어 모델이 문장 단위로 스트리밍 응답을 생성하면 riddle은 Zhang-Suen 세선화와 스트로크 트레이싱을 통해 필기 재생 애니메이션을 생성해 디스플레이 백엔드에 전달한다. 디스플레이 쪽은 qtfb 창형 플래버와 quill 테이크오버 플래버로 나뉘며, quill은 libqsgepaper.so 파형 엔진에 직접 접근해 즉시 잉크를 그린다.
해결 문제
키보드·화면 UI 대신 펜만으로 자연스럽게 대화하고 기록을 불러오는 상호작용을 제공해 물리적 종이에 쓰는 흐름을 유지하면서 LLM의 질문·응답을 통합한다. 장치는 필기 그대로를 저장하고 해당 페이지들을 컨텍스트로 이어 붙여 이전 기록을 참조하거나 과거 페이지를 손글씨로 다시 써서 과거를 시각적으로 재현하는 기능을 수행한다. 또한 네트워크 기반 모델과 로컬 상주 프로세스 선택을 통해 레이턴시와 프라이버시 요구에 따라 유연한 오라클 구성이 가능하다.
지금 주목받는 이유
README에 데모 링크가 포함되어 있고 리포지토리는 데모 영상을 통해 시연되었으며 사전 빌드 번들과 remagic 통합으로 설치가 간편해 관심을 모았다. 데모 중심의 UX와 테이크오버 기반 즉시 잉크 재생이 소셜 데모 형식에서 주목을 받았으며 스타 수가 많은 점이 실사용자 관심을 반영한다. 이러한 조합은 하드웨어 중심의 독특한 인터랙션 구현 사례로 주목도가 높아진 배경이다.
차별점
- 완전한 테이크오버 모드에서 libqsgepaper.so 파형 엔진을 직접 구동해 즉각적인 잉크 재생을 달성하는 점은 기존 AppLoad 창형 앱과 다른 낮은 레이턴시 동작을 제공한다. 이 방식은 xochitl을 중지하고 루트 권한으로 전자잉크 엔진을 직접 제어하므로 즉시 쓰기 애니메이션을 얻을 수 있으며 복구를 위한 5-핑거 탭과 systemd 유닛의 복원 후킹을 포함한다. 단, 공급업체 라이브러리(libqsgepaper.so)를 장치에서 직접 추출해야 하므로 배포 제약이 존재한다.
- 손글씨 이미지를 Zhang-Suen 세선화와 스트로크 트레이싱으로 변환해 사용자의 원래 필체로 문장 단위 답변을 다시 쓰게 하는 파이프라인은 시각적 연속성과 기억 재현 기능을 제공한다. 이 파이프라인은 래스터화된 이미지에서 단일 픽셀 경로로 축소해 필기 합성 애니메이션을 만들며, 페이지 '기억' 기능과 결합해 과거 페이지를 손글씨로 재현하는 UX를 실현한다. 따라서 텍스트 기반 챗 UI가 아닌 물리적 잉크 흐름을 유지하는 차별화된 경험을 만든다.
- 오라클 백엔드로 HTTP 기반 OpenAI 호환 엔드포인트와 장치 상주 pi RPC를 모두 지원해 배포 유연성을 제공한다. HTTP 백엔드는 별도의 로컬 소프트웨어 없이도 작동하고 pi 백엔드는 세션을 유지해 반복 턴에서 상태를 유지하는 장점이 있다. 이 두 접근은 네트워크 상황과 보안, 응답 레이턴시 요구에 따라 선택할 수 있게 설계되었다.
사용 사례
- 필기 중심 인터페이스를 유지하면서 LLM 기반 회고·일기 쓰기를 원하는 사용자에게 자연스러운 손글씨 대화 경험을 제공한다. 사용자는 펜만으로 질문을 던지고 모델의 손글씨 응답을 페이지 위에 직접 보게 되며 과거 페이지를 손글씨로 불러오는 방식으로 개인 기록을 시각적으로 탐색할 수 있다. 기억 기능은 로컬에 저장된 페이지를 검색해 해당 내용을 다시 쓰는 흐름을 가능하게 한다.
- 네트워크 연결이 제한된 환경에서 로컬 상주의 pi 프로세스를 통해 모델 세션을 유지하면서 응답 레이턴시를 줄이는 설정에서 유용하다. pi를 활성화하면 세션이 워밍업되어 각 턴의 모델 호출 오버헤드를 줄이며 연속적인 대화에서 과거 컨텍스트를 더 오래 유지할 수 있다. 반대로 HTTP 백엔드는 별도의 로컬 프로세스 없이 외부 모델을 활용하는 시나리오에 적합하다.
- 전시나 데모 환경에서 전자잉크의 자연스러운 필기 표현을 활용해 관람자와 상호작용하는 설치형 앱으로 활용할 수 있다. 테이크오버 모드의 즉시 잉크 재생과 필체 합성은 관객에게 물리적 종이와 유사한 인터랙션을 제공하며 안전한 복귀 절차를 포함해 전시용으로 운영 가능한 특성을 갖는다.
시작하기
remagic가 설치된 환경에서는 remagic install riddle로 번들을 설치하고 remagic config riddle로 브라우저 기반 설정 폼에서 API 키와 옵션을 입력하면 빠르게 시작할 수 있다. AppLoad에서 Reload 후 The Diary를 실행하면 기기에서 작동하며 사전 빌드 번들을 수동으로 설치하려면 릴리스 ZIP을 풀고 scp로 /home/root/xovi/exthome/appload/에 복사한 뒤 oracle.env에 API 키를 넣어야 한다. 오라클 설정 검증을 위해 riddle --oracle-test path/to/handwriting.png 명령으로 스트리밍 응답을 확인할 수 있다.
요구사항
- reMarkable Paper Pro 장치가 개발자 모드로 설정되어 있고 AppLoad 또는 xovi 런처가 설치되어 있어야 한다. 테이크오버 플래버는 장치에서 libqsgepaper.so를 추출해야 하므로 장치 접근과 ssh가 필요하며 루트 권한이 요구된다. 테이크오버는 aarch64 아키텍처와 특정 OS 버전(README에서 테스트된 OS 3.26–3.27) 환경에서 검증되었으므로 다른 기종·버전에서는 동작이 보장되지 않는다.
1.5k
Stars
124
Forks
+204
Trending
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.