Paige:一款無劇透的AI書籍聊天應用
Paige是一款基於AI的書籍聊天應用,使用者上傳EPUB檔案並設定閱讀進度後,AI僅會討論已讀章節內容,避免劇透。應用支援多種AI模型,注重隱私和成本控制,適合自託管使用。
Paige是一款創新的AI聊天應用,專為熱愛閱讀但擔心劇透的使用者設計。使用者只需上傳EPUB格式的電子書,並設定當前閱讀進度(按章節),AI助手便會嚴格基於已讀內容進行對話,絕口不提未讀部分。這為深度討論書籍情節、人物和主題提供了安全的環境。
Paige的核心工作原理是直接將使用者已讀章節的完整文本輸入到大型語言模型(LLM)的上下文中。開發者刻意選擇了這種“無RAG、無向量嵌入、無分塊”的架構,認為這樣能提供更豐富、更紮實的對話體驗,因為模型能捕捉到所有細節和伏筆。當然,這也意味著長篇書籍會消耗更多token,從而增加成本。不過,由於每次請求的字首(書籍文本)都是相同的,Paige充分利用了提示快取(prompt caching)技術,從第二條訊息開始,後續的token即可享受快取摺扣。應用內顯示的單條訊息成本即為OpenRouter的實際收費,快取摺扣會自動體現。
在技術實現上,Paige基於Next.js和TypeScript構建,前端使用Tailwind CSS和Radix UI,後端透過Vercel AI SDK整合OpenRouter(支援任何模型)或本地相容OpenAI的伺服器。使用者可以透過設定環境變數選擇模型,預設使用x-ai/grok-4.3。Paige還提供了詳細的token用量和成本追蹤功能,幫助使用者瞭解每次對話的開銷。
值得注意的是,Paige定位為單使用者自託管應用,因此做了一些權衡:解析後的書籍儲存在伺服器記憶體中,重啟後丟失;沒有內建身份認證或速率限制;token計數使用GPT-4o分詞器作為近似估計,可能與實際模型的分詞器略有差異。這些設計使得Paige非常適合個人本地使用,但不宜直接暴露為公共多使用者服務。
設定Paige非常簡便,只需Node.js 20.9+、OpenRouter API金鑰(或本地伺服器),然後執行一系列npm命令即可啟動開發伺服器。專案採用MIT許可證,並歡迎社群貢獻。