用途:当 PDF、论文或报告过大、无法整体嵌入上下文,且答案需要跨多个位置取材(如总结方法、对比第3节与第5节、列出全文所有数据集/引用/图表/基准)时,用本技能先解析再定位,只读必要页面。
主要能力:pdf_pages 按页提取文本或渲染图像;pdf_outline 读取内嵌目录;pdf_scan 按查询做词法预筛,返回候选页;pdf_grep 用正则穷举匹配(DOI、编号、图表标签、邮箱等);pdf_pages(mode="image", dpi=200) 渲染页面供读图。
使用方式:本技能为纯技能,kernel.py 是确定性 Python,推理由基础模型完成,无宿主运行时、无 LLM API。每会话在 Python 单元中加载一次:exec(open("skills/claude-science/pdf-explore/kernel.py").read()),路径按实际安装位置调整;之后直接调用各 helper,无需 import。依赖:pip install pypdfium2 pillow。默认后端为 pypdfium2;若已安装 PyMuPDF 则作为回退,但其为 AGPL-3.0,嵌入网络服务时需注意源码共享条款。
典型流程:先用 pdf_outline 定位页码,再用 pdf_pages 拉取所需页面写入文件后读取;无内嵌目录时自行从首页或抽样页构建大纲;语义问题用 pdf_scan 缩小候选页后自行判断;有固定模式的用 pdf_grep 穷举;读图时高 DPI 渲染后裁剪再查看。文本约每页 800 token,图像约 4000 token,解析结果按(绝对路径、mtime、mode、dpi)缓存,可用 cache=False 强制重解析。
限制:pdf_scan 仅词法排序,非相关性判断,同义词可能漏检;纯图像扫描件无文本层,需渲染后自行阅读;1–4 页的简单查询用代理自带工具即可;单关键词精确查找宜用 pdf_grep 或直接过滤文本。