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,或这些文件的集合——并生成三个成果物:
    1. 一个 .learnkb/ 知识库,记录每个事实及其精确的来源位置(页码、幻灯片、章节等)。
    2. 一个 离线交互式 HTML 页面,允许人类浏览材料、搜索术语表、运行自测问题,并查看来源引用。
    3. 一份 同步的 Markdown 版本,内容与上述一致。
  • 支持两种学习深度:
    • 快速概览 – 带有来源引用的高层次摘要。
    • 系统性学习 – 更深入、结构化的分解(核心框架、引导式内容、术语表、行动规则、动态自测、笔记)。

为何重要

  • 可追溯性 – 每个陈述都链接回原始页面/幻灯片,便于验证和审计。
  • 离线优先 – 所有处理都在本地运行;无自动网络调用,保护隐私,无需互联网即可工作。
  • 最小权限设计 – 该技能仅需对材料的读取权限和输出位置;从不执行文档中嵌入的任意代码。
  • 代理中心 – 基于开放的 Agent Skills 规范构建,任何兼容代理均可通过简单提示调用,例如:
    请使用 learn-from-materials 系统性学习此 PDF,并生成可追溯的知识库和学习页面。
    

如何开始

  1. 安装 – 将仓库克隆到代理的技能目录中(提供 WorkBuddy、Codex、Claude Code、Copilot CLI 的示例)。无自动依赖安装;您必须自行提供所需可选工具(例如 pdftotext、OCRmyPDF、Calibre 的 ebook-convert)。
  2. 运行技能 – 在与代理的聊天中,请求快速概览或系统性学习,并附上文档。该技能将引导您完成 SKILL.md 中定义的工作流程。
  3. 命令行工具 – 仓库还包含供开发人员使用的脚本:
    • 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-skillbook-to-webpage)的衍生作品。

以上所有信息均直接取自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目