riddle 是一个面向 reMarkable Paper Pro 的沉浸式“AI 日记”应用。用户用手写笔在电子纸上书写,应用在短暂停顿后识别整页手写内容,将页面 PNG 发送给支持视觉能力的 LLM,然后以仿手写笔迹逐笔写回回复。项目主要使用 Rust 开发,并包含 C/C++ 的底层显示接管组件 quill,可在 reMarkable Paper Pro 上实现低延迟电子墨水书写体验。
适用领域
电子纸设备应用 / 手写交互 / AI 聊天与视觉大模型 / 嵌入式 Linux / Rust 桌面/设备端开发 / reMarkable 生态 / 人机交互 / 创意 AI 应用
配置难度
较高。对于只安装预构建 AppLoad 包的用户,难度中等,需要会开启开发者模式、使用 SSH/SCP、配置 API Key;对于从源码构建或使用 takeover 模式的开发者,难度较高,需要 Rust 交叉编译、嵌入式 Linux、reMarkable SDK、systemd、底层显示库和设备恢复经验。
商业价值
该项目本身更像高创意、高展示价值的实验性产品,而不是直接面向大规模商业化的成熟应用。它的商业价值主要体现在三个方向:第一,验证电子纸设备上的自然手写 AI 交互范式,可用于 AI 日记、教育陪伴、写作辅助、心理反思、创意游戏等场景;第二,为 reMarkable 生态开发者提供低延迟笔迹、视觉 LLM、电子墨水动画回复的技术参考;第三,可作为品牌展示、交互原型或高端 AI 硬件体验 demo。限制在于设备型号小众、安装门槛高、系统兼容风险和隐私合规要求较强,因此短期更适合作为开发者工具、研究原型或小众高级用户应用。
01
技术亮点
- 交互体验非常独特:没有传统聊天 UI,用户只是在纸面上手写,页面像“喝掉墨水”后自动写回回复。
- 支持 vision LLM 读取整页手写内容,而不是依赖键盘输入。
- 回复会通过 Dancing Script 字体生成笔迹,并经过骨架化和路径追踪,以逐笔动画形式显示。
- 支持 OpenAI-compatible API,理论上可接入 OpenAI、OpenRouter、Groq 或本地兼容服务。
- 支持 pi 后端,可保持常驻进程,减少每轮调用的冷启动开销。
- Rust 实现主体应用,包含笔输入、墨水画布、手写合成、oracle 进程管理和显示后端。
- 提供 qtfb 窗口模式,适合 AppLoad 用户较容易安装使用。
- 提供 quill takeover 模式,可停止厂商 UI 并直接驱动电子纸引擎,实现更低延迟的即时墨水体验。
- 包含明确的手势设计:翻转笔擦除、画大问号显示指南、五指触摸退出、电源键休眠与唤醒。
- MIT 许可证,便于开发者学习、修改和二次开发。
02
目标用户
- 拥有 reMarkable Paper Pro 且愿意开启开发者模式的高级用户
- 喜欢无键盘、无传统聊天界面的 AI 写作/对话体验的用户
- 研究电子纸交互和手写输入的开发者
- Rust、嵌入式 Linux、reMarkable 应用开发者
- 希望构建沉浸式 AI 笔记、日记、教育或创作工具的产品开发者
03
配置要求
- 硬件:已测试设备为 reMarkable Paper Pro,代号 ferrari,aarch64。
- 系统版本:README 中说明已测试 OS 3.26–3.27,其他版本可能不兼容。
- 设备需开启 developer mode,并保持 SSH 可用,SSH 是出现问题时恢复设备的关键通道。
- 运行环境需要 xovi + AppLoad,或者使用 remagic 辅助安装。
- OpenAI 兼容模式需要设置 RIDDLE_OPENAI_KEY。
- 可选环境变量包括 RIDDLE_OPENAI_BASE,默认 https://api.openai.com/v1。
- 可选环境变量包括 RIDDLE_OPENAI_MODEL,默认 gpt-4o-mini,但模型必须支持图像输入。
- 也可使用 OpenRouter、Groq、本地 OpenAI-compatible server 等兼容 /chat/completions 格式的服务。
- 如果不设置 RIDDLE_OPENAI_KEY,应用会尝试使用 pi --mode rpc 作为后端,需要额外安装和认证 pi。
- takeover 模式需要 reMarkable SDK toolchain,例如 ~/rm-sdk-3.26。
- takeover 模式需要从用户自己的设备中提取 proprietary libqsgepaper.so,仓库不分发该库。
- 应用可能以 root 运行,并在 takeover 模式下停止 xochitl、直接驱动电子墨水显示引擎。
04
适用场景
- 在 reMarkable Paper Pro 上通过自然手写方式与 AI 对话
- 把电子纸设备变成带有角色人格的 AI 日记本
- 探索无屏幕感、无键盘、无传统聊天框的 AI 交互范式
- 测试视觉大模型对手写内容的理解能力
- 开发电子墨水设备上的低延迟笔迹渲染与动画回复
- 作为 reMarkable Paper Pro 底层显示接管和 evdev 手写输入处理的参考项目
05
部署与配置
- 准备一台 reMarkable Paper Pro,并开启 developer mode。
- 安装 xovi + AppLoad;如果不熟悉流程,可先使用作者的 remagic 工具完成开发者模式和环境设置。
- 从 GitHub Releases 下载最新的 riddle-appload-aarch64.zip。
- 解压后将 riddle 文件夹复制到设备:scp -O -r riddle root@10.11.99.1:/home/root/xovi/exthome/appload/。
- 进入设备上的 riddle 文件夹,复制 oracle.env.example 为 oracle.env,并填入 RIDDLE_OPENAI_KEY;如果不使用 OpenAI 兼容接口,也可以配置 pi 后端。
- 在 AppLoad 中点击 Reload,然后启动 The Diary。
- 启动后直接用笔书写,停笔约数秒后应用会提交页面并等待 AI 回复。
- 如果从源码构建窗口模式版本,在 riddle 目录执行 cargo build --release --target aarch64-unknown-linux-gnu,并配合 external.manifest.json、appload-launch.sh 部署到 AppLoad 目录。
- 如果构建 takeover 低延迟版本,需要 reMarkable SDK toolchain、从自己设备提取的 libqsgepaper.so,先在 quill 目录执行 ./build.sh,再在 riddle 目录执行 ./build-takeover.sh,并按 README 部署 libquill.so 和 riddle-takeover。
06
风险与注意事项
- 项目会修改设备运行环境,且可能以 root 权限运行,存在设备异常、系统 UI 无法恢复等风险。
- takeover 模式会停止 reMarkable 原生 xochitl UI,并直接操作电子墨水显示引擎,对普通用户风险较高。
- 仅在 reMarkable Paper Pro ferrari aarch64 OS 3.26–3.27 上测试,其他型号或系统版本可能无法运行。
- 依赖开发者模式和 SSH,如果 SSH 配置错误或丢失,故障恢复难度会明显增加。
- LLM 请求可能上传用户手写页面 PNG,涉及隐私与数据合规风险,尤其是日记、笔记等敏感内容。
- OpenAI-compatible API 调用会产生费用,并受网络质量、模型可用性和服务商策略影响。
- 项目依赖 proprietary vendor library libqsgepaper.so,但仓库不分发,需要用户自行从设备或 SDK 提取。
- takeover 构建过程涉及 reMarkable SDK、交叉编译、系统库兼容,维护成本较高。
- AI 回复质量取决于视觉模型对手写内容的识别能力,潦草字迹、语言混合或页面复杂内容可能影响效果。
- 项目带有明显的实验性质和演示属性,不一定适合作为稳定生产环境应用。
2026-07-12
第3名
新收录 · github_search
2026-07-11
第5名
新收录 · github_search
2026-07-10
第7名
新收录 · github_search
2026-07-09
第7名
新收录 · github_search
2026-07-08
第5名
新收录 · github_search
2026-07-07
第20名
新收录 · github_search