AI-reads-books-page-by-page
echohive42/AI-reads-books-page-by-page加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历?下载了一本厚厚的 PDF 英文原版书,翻了十几页就被密密麻麻的文字劝退了。或者囤了一堆学术论文,每次想要快速了解内容时,都要在网页翻译和原文之间来回切换,效率极低。
今天要介绍的这个开源项目,就是来解决这个痛点的——AI Reads Books 是一个 Page-by-Page PDF 知识提取与摘要生成工具,它能够让 AI 一页一页地"读"完一整本书,然后在阅读过程中持续积累知识,最终输出一份结构化的总结笔记。
这个项目由独立开发者 echohive42 创建和维护,作者同时在 Patreon 运营着一个 AI 开发者社区(1000x LAB),分享自己在 AI 构建过程中的实践经验。项目的诞生源于作者本人有大量技术书籍和学术论文需要消化,传统的整本翻译工具往往只能做简单的全文摘要,无法很好地保持书页之间的上下文关联和知识渐进。
作者的设计思路很明确:让 AI 模拟人类阅读的方式——不是一次性把整本书丢给大模型,而是逐页分析、逐页积累,每一页的新知识都与前面的知识形成关联。这样最终生成的知识库和摘要,逻辑链条会更完整,对书籍整体结构的把握也更准确。
项目使用 PyMuPDF(fitz) 库来提取 PDF 每一页的纯文本内容。代码对每页进行单独处理,支持中途断点续传——如果脚本运行中断,再次启动时会自动加载已有的知识库文件(knowledge_bases/ 目录下的 JSON),从上次中断的位置继续阅读,不需要从头开始。
这个功能很实用:AI 在分析每一页时,会自动判断页面是否属于"有价值的知识页"。系统提示词(System Prompt)中明确要求跳过以下内容:
而对于包含实质性教育内容的页面——定义、概念、论证、案例、发现、结论等——则进行详细的知识提取。这种设计避免了知识库被大量无意义的目录和版权信息污染。
每处理一页,AI 会调用 OpenAI 的 structured output 功能(chat.completions.parse + Pydantic 模型),将提取到的知识以结构化列表的形式保存到 JSON 文件中。这种方式比纯文本摘要有几个优势:知识点的边界更清晰,后续可以方便地进行二次检索、排序或去重。
项目支持两种摘要模式:
所有摘要以 Markdown 格式保存,带有标题、分级列表、引用块等格式标记,可以直接复制到笔记工具中使用。
脚本使用了 termcolor 库为终端输出添加颜色:黄色显示当前正在处理的页码、绿色显示提取到的知识数量、青色显示摘要生成状态。对于一个需要运行数小时的批处理脚本来说,这种实时进度反馈对用户体验非常重要。
从代码结构来看,这是一个轻量级单文件 CLI 工具,没有复杂的模块拆分,所有核心逻辑都在 400 行左右的 read_books.py 中:
gpt-4o-mini 做知识提取,o1-mini 做摘要生成这种极简架构的好处是:代码透明、易于修改、完全运行在本地,不依赖任何远程服务(OpenAI API 除外)。
使用流程非常直接:
pip install -r requirements.txt)read_books.py 中的 PDF_NAME 常量ANALYSIS_INTERVAL(每隔多少页生成间隔摘要)和 TEST_PAGES(测试模式,只处理前 N 页)python read_books.py,脚本会提示按 Enter 确认后开始对于一本 300 页的书籍,如果用 gpt-4o-mini 处理,按每分钟 2-3 页的速度,大概需要 1.5-2.5 小时。可以先用 TEST_PAGES=60 测试效果,确认无误后再跑全本。
首先,依赖 OpenAI API,不支持本地模型(如 Ollama)或第三方 API(如 Claude 本地部署),对于有数据隐私需求的用户来说是一个限制。
其次,PDF 的文本提取质量高度依赖源文件的排版质量——如果 PDF 是扫描件(图片拼接而成)而非可搜索文本,PyMuPDF 将无法提取任何内容。
此外,代码没有内置并发或批处理机制,多本书籍的并行处理需要自己写 wrapper 脚本来调度。
尽管功能简单,这个项目展示了一个很有价值的产品思路:用 AI 模拟人类的阅读行为,而不是简单地把 AI 当作一个翻译或摘要 API。在 RAG(检索增强生成)领域,如何将长文档切分成有意义的 chunk 并保持上下文连贯性是一个核心难题,AI Reads Books 通过"逐页积累"的方式给出了一种朴素的解决思路,值得参考。
项目在 Reddit、LinkedIn 和 Twitter/X 上都有开发者社区的关注和转发,GitHub 上获得了 3000+ stars,说明这类"AI 辅助阅读"工具确实有真实的需求市场。随着多模态大模型的能力增强,未来完全可以将类似的逐页分析能力迁移到图片扫描版 PDF 上,届时这个方向的应用空间会更加广阔。
相关资源: