Paige:ネタバレなしのAIブックチャット
Paigeは、EPUBファイルをアップロードして読書の進捗を設定すると、AIが既読部分のみを参照して会話するウェブアプリです。複数のAIモデルに対応し、プライバシーとコスト管理に優れ、セルフホスト向けに設計されています。
Paigeは、読書好きのために作られた革新的なAIチャットアプリです。ユーザーがEPUB形式の電子書籍をアップロードし、現在の読書進捗(章単位)を設定すると、AIアシスタントが既読部分のみを参照して会話を行い、未読部分については一切言及しません。これにより、ストーリーのネタバレを恐れることなく、登場人物やテーマについて深く議論できます。
Paigeの動作原理は、既読の全章のテキストをそのまま大規模言語モデル(LLM)のコンテキストに送信するというシンプルなものです。開発者はRAG(検索拡張生成)やベクトル埋め込み、チャンク分割を使わないこの方法を意図的に選択しており、モデルが全ての詳細や伏線を把握できるため、より豊かでしっかりとした対話が可能だとしています。ただし、長い本では消費トークン数が増えコストが高くなる可能性があります。一方で、毎回のリクエストの先頭部分(書籍テキスト)が同じであるため、プロンプトキャッシュ(プロンプトのキャッシュ)を活用でき、最初のメッセージ以降はキャッシュされたトークンの割引が適用されます。アプリ内で表示されるメッセージ単位のコストはOpenRouterの実際の請求額であり、キャッシュ割引も自動的に反映されます。
技術的には、PaigeはNext.jsとTypeScriptで構築され、フロントエンドにTailwind CSSとRadix UIを採用。バックエンドではVercel AI SDKを介してOpenRouter(任意のモデル)またはローカルのOpenAI互換サーバーと連携します。ユーザーは環境変数でモデルを選択でき、デフォルトはx-ai/grok-4.3です。トークン使用量とコストの詳細な追跡機能も備えており、会話ごとのコストを把握できます。
Paigeはシングルユーザー向けのセルフホスト型アプリとして設計されており、いくつかのトレードオフがあります。解析された書籍はサーバーのメモリに保存されるため、再起動すると失われます。認証機能やレート制限はなく、トークンカウントはGPT-4oトークナイザーを使用した近似値です。そのため、個人でのローカル利用には最適ですが、公開マルチユーザーサービスとして直接公開することは想定されていません。
セットアップは簡単で、Node.js 20.9以上とOpenRouterのAPIキー(またはローカルサーバー)が必要です。リポジトリをクローンし、npm install、環境変数の設定、npm run devで開発サーバーを起動します。MITライセンスで提供され、コミュニティからのコントリビューションも歓迎されています。