Riddle: reMarkable Paper Pro를 AI 기반 일기장으로 바꾸기

Riddle: reMarkable Paper Pro를 AI 기반 일기장으로 바꾸기

Riddle은 reMarkable Paper Pro를 대화형 AI 일기장으로 변환합니다

Riddle은 reMarkable Paper Pro를 해리포터에 나오는 기능적인 "Tom Riddle's diary"로 변환하는 오픈 소스 애플리케이션입니다. 이 시스템을 통해 사용자는 펜으로 화면에 글을 쓸 수 있으며, 글을 다 쓰면 잉크가 사라지고 시각 능력을 갖춘 대규모 언어 모델(LLM)이 유려한 손글씨 스타일로 사용자에게 답장을 작성합니다.

기술 아키텍처 및 잉크 처리

이 애플리케이션은 물리적 손글씨에서 AI 생성 응답으로의 전환을 처리하기 위해 커스텀 파이프라인을 활용합니다. 프로세스는 다음과 같은 특정 단계를 따릅니다:

  1. Input Capture: 시스템은 evdev를 통해 하드웨어 이벤트 속도로 4,096단계의 압력을 가진 원시 펜 스트로크를 캡처합니다.
  2. Commitment: 글쓰기가 2.8초 동안 중단되면 페이지가 확정(commit)되고 PNG 이미지로 변환됩니다.
  3. Oracle Processing: 이 PNG는 시각 능력을 갖춘 LLM("oracle")으로 전송되며, oracle은 문장 단위로 텍스트 답장을 스트리밍합니다.
  4. Handwriting Synthesis: 텍스트 답장은 Dancing Script 폰트를 사용하여 렌더링되고, Zhang-Suen thinning을 사용하여 단일 픽셀 펜 경로로 스릴레톤화(skeletonized)된 후, 디스플레이에 애니메이션 스트로크로 다시 재생됩니다.

Display Backends

Riddle은 지연 시간을 관리하고 시스템 통합을을 위해 두 가지 별도의 디스플레이 모드를 지원합니다:

  • Windowed (qtfb): xochitl (AppLoad) 환경 내에서 창 모드로 실행됩니다.
  • Takeover (quill): 벤더 UI(xochitl)를 중단하고 벤더 e-ink 엔진(libqsgepaper.so)을 직접 구동하는 고성능 모드입니다. 이는 "instant ink"를 위한 가능한 최저 지연 시간을 제공합니다.

LLM 통합 및 Oracle

일기장의 "정신"은 시각 능력을 갖춘 LLM에 의해 구동됩니다. 사용자는 두 가지 방식으로 백엔드를 구성할할 수 있습니다:

OpenAI-Compatible APIs

Riddle은 모든 /chat/completions 엔드포인트에 직접 연결할 수 있습니다. 여기에는 OpenAI, OpenRouter, Groq 또는 로컬 서버가 포함됩니다. 설정은 사용자가 API 키, base URL, 모델(예: gpt-4o-mini)을 정의하는 oracle.env 파일을 통해 처리됩니다. Gemini 3.x 또는 o-series와 같은 사고 모델(thinking models)의 경우, 프로젝트는 첫 번째 잉크가 나타나기까지의 시간을 줄이기 위해 RIDDLE_OPENAI_REASONING=low 설정을 권장합니다.

The pi Backend

RIDDLE_OPENAI_KEY가 설정되지 않은 경우, 시스템은 자동으로 상주 RPC 프로세스로 실행되는 pi (pi-mono를 통해)를 사용하려고 시도합니다. 이 방법은 Node.js 환경과 구독 인증을 활성 상태로 유지하여 지연 시간을 줄입니다.

설치 및 요구 사항

경고: 이 소프트웨어는 장치를 수정하고 root 권 권한으로 실행됩니다. 이 소프트웨어는 reMarkable Paper Pro (ferrari, aarch64, OS 3.26–3.27) 전용으로 설계되었으며, 사용 시 발생하는 모든 위험은 사용자의 책임입니다.

Prerequisites

  • Developer Mode: 장치는 런처가 설치된 개발자 모드여야 합니다.
  • remagic: 개발자 모드 설정 및 애플리케이션 설치를 간편하게 하기 위해 remagic 도구를 권장합니다.

Installation Methods

  • Via remagic: remagic install riddle을 실행한 후 설정을 위해 remagic config riddle을 실행하는 가장 간단한 방법입니다.
  • Prebuilt Bundle: 사용자는 .zip 릴리스를 다운로드하여 폴더를 SCP로 태블릿의 appload 디렉토리에 복사하고 API 키와 함께 oracle.env 파일을 구성할 수 있습니다.
  • From Source: 프로젝트는 x86_64에서 크로스 컴파일할 수 있습니다. "Takeover" 버전은 reMarkable SDK 툴체인과 사용자의 장치에서 추출한 독점 라이브러리 libqsgepaper.so가 필요합니다.

User Interface and Gestures

일기장과의 상호작용은 전통적인 UI 대신 물리적 제스처를 통해 이루어집니다:

  • Submit: 글을 쓰고 펜을 떼고 잠시 멈춥니다.
  • Erase: 마커를 뒤집어 지우개를 사용합니다.
  • Help: 큰 물음표 (?)를 그려서 내장된 가이드를 호출합니다.
  • Exit: 다섯 손가락으로 화면을 동시에 탭합니다.
  • Sleep/Wake: 전원 버튼을 사용하여 장치를 절전 모드로 전환합니다. 페이지에는 "The diary sleeps."라고 표시되며, 깨어날 때 사용자가 멈춘 지점에서 정확히 같이 재개됩니다.

Sources