SuperAPI AI 工具集

doc-extract

前端与建站

查看项目

更新于 10-15 19:56

技能介绍

用途:将二进制文档转换为纯文本,供后续处理使用。无状态设计,只读输入、向 stdout 输出 JSON,不写缓存或临时文件,调用方自行负责缓存,适合处理含 PHI 的敏感文档。

主要能力:支持 PDF、DOCX、XLSX、PPTX、RTF 以及纯文本、Markdown、HTML。输出 JSON 含 text、method、pages 字段;分页格式的 text 带 === [page N] === 页锚点,pages 在存在页标记时出现,method 标明实际使用的提取器(liteparse、pdftotext、rtf-to-text 或 passthrough)。

使用方式:先执行 cd <this skill dir> && bun install 安装依赖(liteparse 提供 lit 命令,处理 PDF/DOCX/XLSX/PPTX 并含 OCR;rtf-to-text 处理 RTF)。随后运行 bun <this skill dir>/scripts/extract.ts <input-file> [--content-type <mime>]。格式默认取自扩展名;无有效扩展名时用 --content-type 指定,如 application/pdf。liteparse 拒绝无扩展名文件,此类 PDF 走 pdftotext 回退。错误以 {"error": "..."} 输出到 stderr 并退出码 1。在 bun TS 中可直接导入 extract、resolveLit 函数而非调用命令行。

限制:未安装 liteparse 时,若系统装有 poppler,PDF 仍可通过 pdftotext -layout 回退处理,其他二进制格式则必须依赖 liteparse。多值列表格(如选项 A 与 B、档内与档外)的列可能在提取文本中逐行交错,单元格文本甚至可能落入相邻列句中,值通常保留但归属可能含糊;当答案来自多列表格某一列且文档无冗余复述时,应直接阅读原始页面核对,可用页锚点配合 Read 工具的 pages 参数仅渲染该页。其他细节暂未提供。