HN 日本語サマリー

← 一覧へ戻る
プログラミング

FableがRemarkableをハリー・ポッターのトム・リドルの日記に変える

Fable turned remarkable into Tom Riddle's diary from Harry Potter (github.com)

594 pointsby modinfo369 コメント

要約

このプロジェクトは、電子ペーパータブレット「reMarkable」を、ハリー・ポッターに登場するトム・リドルの日記のように機能させるものです。ユーザーがペンで書いた内容は「日記」に吸収され、AIがそれを解釈して、まるで手書きのように回答をページに書き戻します。画面の光やキーボードUIはなく、純粋なインクと紙の体験を提供します。

全文翻訳

riddle — トム・リドルの日記、reMarkable Paper Pro向け ペンでページに書き込みます。しばらくすると、日記はインクを飲み込み — あなたの言葉は紙に消えていきます — ページは少し考え、そして、流れるような筆致で、一筆一筆、答えが自分で書き込まれ、そして消えていきます。画面の光もなく、キーボードもなく、チャットUIもありません。ただ紙にインクが現れるだけです。これがデモの日記です。🪄 初心者の方へ — ここから始めてください 開発者モードが有効になっており、ランチャーがインストールされたreMarkable Paper Proが必要です。もしそれが大変そうに聞こえるなら、そうではありません — remagicが開発者モードの有効化を案内し、コマンド一つで全てを設定します。ここに戻って、riddleをドロップし、トムへの書き込みを開始してください。 既にxovi + AppLoadをお持ちですか? 最新リリースをダウンロード — すぐに使えるバンドル、コンパイラ不要 — またはソースからビルドしてください。 プリビルドバンドルのインストール 最新リリースのriddle-appload-aarch64.zipをダウンロードし、解凍します。タブレットにフォルダをコピーしてください: scp -O -r riddle root@10.11.99.1:/home/root/xovi/exthome/appload/ APIキーを追加してください: そのフォルダ内でcp oracle.env.example oracle.env を実行し、RIDDLE_OPENAI_KEY(任意のOpenAI互換キー)を入力します。またはスキップしてpiを使用します。 AppLoadで: Reloadをタップし、次にThe Diaryをタップします。書き込み、そしてペンを休ませてください。 ⚠️ これはデバイスを変更します。root権限で実行され、ベンダーUIを停止し(テイクオーバーモード)、e-inkエンジンを直接駆動します。reMarkable Paper Pro(ferrari、aarch64、OS 3.26–3.27)でのみテストされています。他のモデルやOSバージョンでは動作しない可能性があり、使用は完全に自己責任です。reMarkable ASとは提携していません。 インストールする前にSSHアクセスが機能することを確認してください — それがあなたの脱出ハッチです。 仕組み ペン(生のevdev、フル4096レベルの筆圧、ハードウェアイベントレート) │ ストローク ▼ riddle — アイドル 2.8秒 → ページコミット → PNG ──► オラクル(常駐LLMプロセス、 │ 文ごとに返信をストリーミング) ▼ ストローク(Dancing Script → スケルトン化して単一ピクセルのペンパスに) 表示バックエンド ├── qtfb — ウィンドウ表示、xochitl(AppLoadアプリ)内 └── quill — フルテイクオーバー: xochitl停止、ベンダーe-inkエンジンを直接駆動して瞬時のインク表示(可能な限り低遅延) riddle/ — アプリ(Rust)。ペン入力、インクサーフェス、手書き合成(ラスタライズ → Zhang-Suen細線化 → ストローク追跡 → アニメーション再生)、オラクルプロセスマネージャー、および両方の表示バックエンド。 quill/ — テイクオーバー表示ホスト(C/C++)。ベンダーlibqsgepaper.so波形エンジン上のepfb-reスタイルのQImageコンストラクタインターセプトシムで、小さなC ABI(quill_init / quill_buffer / quill_swap)として公開され、riddleは--features takeoverでリンクします。スクリブル(最小限のペン・トゥ・グラス遅延デモ)を含みます。 ジェスチャー これを実行する そして書く、そしてペンを休ませる 日記はインクを飲み込み、トムが返信する マーカーを反転させる 消去する 大きな?を描く 組み込みガイドを呼び出す 5本指を同時にタップする 日記を終了する 電源ボタン ページが「日記はスリープします。」と表示され、タブレットはサスペンドします。再度押すと、中断した場所から正確に復帰します。 オラクル(日記の中の「精霊」) 日記の返信は、コミットされたページ(インラインPNGとして送信)から手書きを読み取るビジョンLLMから提供されます。 起動時に選択される2つのバックエンドがあります — どちらかをお選びください: オプションA — 任意のOpenAI互換API(最も簡単、セットアップ不要) APIキーを設定すると、riddleはOpenAI互換の/chat/completionsエンドポイントと直接通信します。OpenAI、OpenRouter、Groq、ローカルサーバー — フォーマットを話すものなら何でも動作します。タブレットに追加のソフトウェアは不要です。 export RIDDLE_OPENAI_KEY="sk-..." # 必須 export RIDDLE_OPENAI_BASE="https://api.openai.com/v1" # オプション(デフォルト) export RIDDLE_OPENAI_MODEL="gpt-4o-mini" # オプション;画像を見る必要があります 画像対応モデルなら何でも動作します。OpenRouterでの例: export RIDDLE_OPENAI_KEY="$OPENROUTER_API_KEY" export RIDDLE_OPENAI_BASE="https://openrouter.ai/api/v1" export RIDDLE_OPENAI_MODEL="openai/gpt-4o-mini" 日記を起動する前にセットアップを確認してください: riddle --oracle-test path/to/handwriting.png # ストリーミングされた返信を出力します オンデバイスでの最初のインク表示まで約0.9〜1.1秒を測定しました。HTTPSはriddle(ピュアRust、追加ライブラリなし)に組み込まれています。 オプションB — pi(パワーパス) 既にpiを実行している場合、riddleは常駐するpi --mode rpcプロセスを使用します(Node + サブスクリプション認証が一度ロードされるため、各ターンはモデル遅延のみを支払います)。RIDDLE_OPENAI_KEYが設定されていない場合に自動的に使用されます。 どちらのオプションも、返信を文ごとにストリーミングするため、モデルが完了する数秒前に quill が書き込みを開始します。 ペルソナプロンプトは riddle/src/oracle.rs にあります。 ビルド x86_64からクロスコンパイル。 2つのフレーバー: ウィンドウ表示(AppLoad/qtfb) — 最も簡単 デバイスにxovi + AppLoadが必要です。 cd riddle cargo build --release --target aarch64-unknown-linux-gnu 外部のexternal.manifest.json、appload-launch.sh、およびバイナリと共に、/home/root/xovi/exthome/appload/riddle/ にインストールします。 テイクオーバー(瞬時のインク) — デモのもの reMarkable SDKツールチェーン(~/rm-sdk-3.26)が必要です。なぜなら、リンクされたベンダーQtライブラリはSDKのglibcを必要とし、libqsgepaper.soは自身のデバイスからプルされるためです(これはプロプライエタリであり、ここでは配布されません)。 cd quill && ./build.sh # デバイスからlibqsgepaper.soをSSH経由でプルし、 # libquill.so + scribbleをビルドします cd ../riddle && ./build-takeover.sh libquill.soを/home/root/quill/ に、riddle-takeoverを/home/root/riddle/riddle/ に、スクリプト/riddle-takeover.shと共にデプロイします。 AppLoad(appload-launch.sh)経由で起動すると、一時的なsystemdユニットにデタッチし、xochitlを停止し、日記を実行し、終了時には常にxochitlを復元します — 電源ボタン、5本指タップ、またはSIGTERMで終了します。 もし何か問題が発生した場合: ssh root@10.11.99.1 'systemctl start xochitl'。 フォント 返信の手書きはDancing Script(SIL OFL 1.1 — riddle/fonts/OFL.txtを参照)です。 ライセンス このリポジトリ内の全てはMITライセンス(LICENSEを参照)です。 インターセプトされるベンダーライブラリ(libqsgepaper.so、Qt)は含まれておらず、自身のデバイス/SDKから取得する必要があります。