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許可證,並歡迎社區貢獻。