dmoshehun-prog/learn-from-materials
Turn PDFs, books and papers into interactive learning webpages|将复杂材料转化为可追溯、可测验、可做笔记的学习网页
learn-from-materials – 将文档转化为可追溯的交互式学习指南
它能做什么
- 一个适用于 AI 代理平台(WorkBuddy、Claude Code、GitHub Copilot CLI 等)的 技能(插件),可读取文件并运行 Python 代码。
- 接受任何形式的学习材料——PDF、EPUB、MOBI、DOCX、PPTX、HTML、Markdown、TXT、RTF,或这些文件的集合——并生成三个成果物:
- 一个
.learnkb/知识库,记录每个事实及其精确的来源位置(页码、幻灯片、章节等)。 - 一个 离线交互式 HTML 页面,允许人类浏览材料、搜索术语表、运行自测问题,并查看来源引用。
- 一份 同步的 Markdown 版本,内容与上述一致。
- 一个
- 支持两种学习深度:
- 快速概览 – 带有来源引用的高层次摘要。
- 系统性学习 – 更深入、结构化的分解(核心框架、引导式内容、术语表、行动规则、动态自测、笔记)。
为何重要
- 可追溯性 – 每个陈述都链接回原始页面/幻灯片,便于验证和审计。
- 离线优先 – 所有处理都在本地运行;无自动网络调用,保护隐私,无需互联网即可工作。
- 最小权限设计 – 该技能仅需对材料的读取权限和输出位置;从不执行文档中嵌入的任意代码。
- 代理中心 – 基于开放的 Agent Skills 规范构建,任何兼容代理均可通过简单提示调用,例如:
请使用 learn-from-materials 系统性学习此 PDF,并生成可追溯的知识库和学习页面。
如何开始
- 安装 – 将仓库克隆到代理的技能目录中(提供 WorkBuddy、Codex、Claude Code、Copilot CLI 的示例)。无自动依赖安装;您必须自行提供所需可选工具(例如
pdftotext、OCRmyPDF、Calibre 的ebook-convert)。 - 运行技能 – 在与代理的聊天中,请求快速概览或系统性学习,并附上文档。该技能将引导您完成
SKILL.md中定义的工作流程。 - 命令行工具 – 仓库还包含供开发人员使用的脚本:
scripts/extract.py– 测试解析能力并提取原始文本。scripts/verify_coverage.py– 审计生成的知识库是否覆盖了源材料。scripts/render_page.py– 将 JSON 页面描述转换为 HTML 或 Markdown。- 可选:使用 Playwright/Node 验证渲染后的页面。
关键技术细节
- 解析栈:尽可能使用 Python 标准库;可选后端包括
PyPDF2/pdfminer.six(PDF)、docling(技术 PDF)、ebooklib(EPUB)、python-docx(DOCX)、striprtf(RTF),以及 Calibre 的ebook-convert(MOBI/AZW)。 - OCR 支持:若 PDF 为扫描件,可接入
OCRmyPDF+pdftotext;否则受影响部分将标记为 未验证。 - 覆盖率与验证:提取后,技能会运行一系列审计——源哈希、增量更新检查、摘要与源之间的双向映射、反向抽查——以确保知识库忠实可靠。
- 输出结构:生成的
.learnkb/文件夹包含 JSON 页面(核心框架、术语表等)及 HTML 模板资源。交互式页面包含仅使用本地存储的学习者档案和动态自测功能,错误答案会被记录但不会发送到任何地方。 - 安全与隐私:所有输入均视为不可信;源文档内的提示或命令不会被执行。ZIP 文件会被清理,可选的浏览器验证会阻止除
data:和blob:URL 外的所有网络请求。
适合人群
- 拥有大量 PDF、幻灯片或电子书的研究人员、学生或专业人士,希望在不上传内容至云服务的情况下,获得可复现、基于来源的学习指南。
- 需要“从材料中学习”功能的 AI 代理开发者,可直接使用此技能快速集成到产品中。
- 希望在本地保留专有或敏感文档,同时仍利用 LLM 进行摘要和自测的隐私意识用户。
当前状态
- 版本
v0.1.0-beta– 核心功能已可用,具备单元测试和回归测试用例。README 指出,实际结果可能因代理的上下文窗口、视觉/OCR 能力及安装的可选解析器而异。
许可证
- MIT 许可证,源自两个其他 MIT 项目(
book-to-skill和book-to-webpage)的衍生作品。
以上所有信息均直接取自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目