{"repo":"daxueren666/exam-review-helper","free":true,"listed":false,"github":"https://github.com/daxueren666/exam-review-helper","clone":"git clone https://github.com/daxueren666/exam-review-helper.git","description":"把 PDF/Word/TXT/Markdown 教材浓缩成交互式 HTML 复习文档的 Claude Code / Codex CLI Skill。自动识别文科/理工科模式，5-pass 深度提取，原生支持扫描版 PDF OCR。v1.2 用 pdfium 后端修复 docling std::bad_alloc 崩溃，大 PDF 稳定提取。","language":"Python","stars":27,"topics":["agent-skills","claude-code","codex","docling","exam-review","pdf-ocr","study-helper"],"license":"MIT","category":"media-processing","readme_excerpt":"Exam Review Helper 把 PDF / Word / TXT / Markdown 教材浓缩成交互式 HTML 复习文档的 Claude Code / Codex CLI Skill。 自动识别文科/理工科，5-pass 深度提取，原生支持扫描版 PDF OCR。 这是什么 一个在 Claude Code 或 Codex CLI 里调用的 skill。你上传教材说\"帮我复习这个\"，它会： 1. 提取 ：PDF（含扫描版 OCR）/ Word / TXT / MD，自动识别格式 2. 5-pass 深度提取 ：概念 / 公式 / 易错点 / 典型例题，自动识别文科/理工科 3. 生成交互式 HTML ：MathJax 公式 + 暗黑模式 + 搜索 + 笔记 + 进度追踪 不需要额外配 API key——5-pass 由宿主调用的 LLM 执行，用你登录宿主时的认证。 v1.2 稳定性更新 修复扫描版大 PDF 的 docling std::bad alloc 崩溃 （docling issue #3671）： - 默认用 pdfium 后端 ：绕开 docling-parse C++ 解析层（崩溃根源），保留版面分析+公式占位符+表格能力 - ocr scale=2 ：降低 RapidOCR 渲染分辨率（216→144 DPI），减少 numpy 内存 56%，不降 OCR 质量 - 三层 fallback ：pdfium → per-chunk PyMuPDF+RapidOCR → 整体 PyMuPDF+RapidOCR - partial 接受 ：部分页成功时保留 docling 公式占位符，不盲目 fallback 降质量 详见 release v1.2.1。 v1.3 深度 bug 修复 v1.2 解决了 docling 崩溃的表面问题，但 controller.py 的状态机、重试逻辑、fallback 触发条件、多文件模式等路径上仍藏着多个边界情况 bug。v1.3 经过 5 轮 fresh agent 独立审查 + 实测验证 ，累计修复 15 个 bug，高严重性全部清零。 修复趋势（5 轮收敛） 轮次 高 中 低 总计 --- --- --- --- --- 第一轮 2 3 0 5 第二轮 1 2 0 3 第三轮 0 2 2 4 第四轮 0 0 0 0 第五轮 0 1 3 4 最终 0 0 0 0 关键修复 状态机与 fallback ： - partial + 高失败率（ 50%）现在正确触发整体 fallback 到 PyMuPDF+RapidOCR（之前只 error 才触发，partial 静默返回残缺产物） - 第一次 partial 失败率 开发用：git clone 方式 注意：仓库结构是 skills/exam-review-helper/ （符合 Agent Skills spec），所以 clone 后要进入子目录。 使用 在 Claude Code 或 Codex CLI 里直接对话： skill 会自动触发，产出在教材同目录下： 双击 HTML 打开即可复习。 支持格式 格式 扩展名 提取方式 --- --- --- PDF .pdf docling（含扫描版 OCR） Word .docx / .doc MarkItDown（mammoth 内核） 纯文本 .txt charset-normalizer（自动检测 GBK/UTF-8） Markdown .md charset-normaliz","default_branch":null,"files":null,"tree":[],"storefront":"/r/daxueren666","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/daxueren666/exam-review-helper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}