用途:当 PDF 过长(如 50 页约 200K tokens),整份嵌入过大,或需引用分散在多处的答案时,用本技能按需加载相关内容,而不是反复逐页读取。
主要能力与用法:脚本位于 scripts/pdf_nav.py,用 python3 运行,依赖 pypdf(pip install pypdf;uv 环境可 uv pip install pypdf),纯 Python,无需系统库。
- 大纲:python3 scripts/pdf_nav.py outline paper.pdf,返回页码与层级树,有书签时免费且即时,建议先试。
- 检索:python3 scripts/pdf_nav.py search paper.pdf "pattern" [--regex],返回页码、行与片段。
- 取文:python3 scripts/pdf_nav.py text paper.pdf 5,21-25,62 > sections.txt,一次性拉取所需页为持久文本再读取,约 800 tokens/页,而图片页约 4000 且一轮后掉落上下文。
- 穷尽抽取:先输出全文到文件,再按页或章节切块分发给子代理并行读取,各自按明确纳入规则返回条目,主代理合并去重;条目 ≲300 时可由单个子代理通读全文输出。
- 读图:需要图中小字数值时,用 Read(file_path="paper.pdf", pages="5") 以高分辨率图片逐面板查看,这是唯一使用视觉的路径。
适用场景:多章节综述、跨全文列举数据集或基线、定位术语、需要立即引用的 1–4 页查询(可直接用 Read 的 pages 参数,但须在下一轮写完答案)。
限制:文本抽取适合导航与阅读散文,但不忠实于版式;更高保真可换用 pypdfium2,图上的值不要用脚本读取。仅做字面关键词搜索时直接提取文本并 grep 即可。具体版本、收费与平台支持暂未提供。