开发与工程 ✓ Anthropic · 官方 document-extractionpdf-extractiondocxxlsxpptxrtfocr

文档纯文本提取器

将常见文档和医疗附件转换为可处理的纯文本。

FollowSkills 评估 · FSRS-2.0
不推荐
52/ 100 五分制 2.6 / 5
信任安全19 / 25 · 3.8/5

代码显示采用只读文件处理、子进程环境变量白名单,并明确面向PHI且不写缓存;但仍传递HOME、临时目录及代理变量,依赖第三方解析器,未说明输入文件权限边界、资源限制或恢复策略,且缺少许可证信息,因此扣6分。

可靠稳定7 / 20 · 1.8/5

主路径、格式映射、PDF回退、错误JSON和退出码均有实现;但文档所述rtf-to-text依赖及method值与代码实际自定义RTF/XML解码不一致,未提供测试套件或异常输入覆盖,静态证据不足,因此扣13分并受静态上限限制。

适用触发10 / 15 · 3.3/5

明确面向多种医疗文档和EHR附件,支持扩展名及MIME类型,并说明表格和无扩展名文件的边界;但未说明中文/OCR质量、超大文件、加密文档及不适用场景,触发条件仍较概括,因此扣5分。

规范维护6 / 15 · 2.0/5

结构清晰,包含安装、命令、输出格式、表格限制和调用示例;但缺少版本策略、变更记录、维护责任、完整依赖锁定、许可证说明和故障排查,文档与实现存在过时信息,因此扣9分。

有效结果6 / 15 · 2.0/5

代码覆盖PDF、Office、RTF、XML及纯文本抽取,并输出页锚点和方法信息,核心任务可完成;但静态阅读无法验证解析正确性,表格列错位、OCR和格式完整性仍需人工复核,且输出可能需要后处理,因此扣9分并受静态上限限制。

证据核验4 / 10 · 2.0/5

源代码、类型配置和实现路径可审计,关键行为有注释;但没有提交测试、CI覆盖或第三方执行证据,文档依赖说明还与实现冲突,因此扣6分并受静态上限限制。

证据充分度: 评估于 2026年7月23日 审查版本 744278a1fe63
使用前请注意
  • 文档声称依赖rtf-to-text并列出rtf-to-text方法,但package.json和代码实际使用自定义decoders.mjs;应同步文档、输出协议和依赖声明。
  • 处理医疗文档时仍会启动第三方解析器并传递部分环境变量;部署方应审查代理、缓存、临时目录和资源限制,避免PHI外泄或资源耗尽。
  • 表格列归属、OCR、加密文件、超大文件和异常格式未有测试证据;关键临床或计费结论必须回读原始文档并人工复核。
  • 许可证、版本、变更记录和维护责任未在该技能材料中明确。
查看完整评分方法 →

它能做什么 & 适用场景

doc-extract 是 healthcare 插件中的共享文档转文本技能,专门处理 PDF、DOCX、XLSX、PPTX、RTF 以及纯文本、Markdown 和 HTML 文件。它读取输入文件并将 JSON 输出到标准输出,不写入磁盘,也不创建缓存或临时文件。分页格式会保留页面标记,并报告实际使用的提取方法。安装依赖后适合需要把合同、EHR DocumentReference 附件或其他二进制文档交给后续流程处理的场景。

运行 scripts/extract.ts,按文件扩展名识别格式并读取输入文件;使用 liteparse 处理 PDF、DOCX、XLSX 和 PPTX(包含 OCR),使用 rtf-to-text 处理 RTF,使用 pdftotext -layout 作为部分 PDF 的回退方案,并直接透传纯文本、Markdown 或 HTML。命令向标准输出打印包含 text、method 和可选 pages 字段的 JSON;错误写入标准错误并以状态码 1 退出。分页文本之间会插入 === [page N] === 标记。

  1. 医疗系统集成者需要把下载的 EHR DocumentReference 附件转换为纯文本,以便后续处理。
  2. 合同处理流程需要先读取 PDF、DOCX 或 RTF 文档的文本内容。
  3. 数据工程师需要从 XLSX 或 PPTX 文件提取文本供脚本继续分析。
  4. 需要 OCR 的文档处理场景希望通过 liteparse 从 PDF、DOCX、XLSX 或 PPTX 中提取文字。
  5. 安全敏感的文档流程希望提取器不写入缓存、临时文件或其他磁盘状态。

优缺点一览

优点
  • 覆盖 PDF、DOCX、XLSX、PPTX、RTF、纯文本、Markdown 和 HTML。
  • 输出标准化 JSON,并报告实际提取方法和可用页数。
  • 不写入磁盘,不使用缓存或临时文件,适合 PHI 敏感流程。
  • 支持 PDF、DOCX、XLSX 和 PPTX 的 OCR 路径。
局限
  • 首次使用需要 Bun 以及从 npm 获取的 liteparse 和 rtf-to-text 依赖。
  • 除 PDF 回退路径外,其他二进制格式依赖 liteparse;无扩展名文件不能走 liteparse。
  • 多值列的表格可能发生列间交错,提取结果不能始终作为列归属的唯一依据。
  • 源材料未提供测试套件、平台覆盖或性能数据。

如何安装

先安装 healthcare 插件:/plugin marketplace add anthropics/healthcare,然后运行 /plugin install healthcare@healthcare。进入该技能目录 plugins/healthcare/skills/doc-extract/ 后执行 bun install。源材料未说明 Bun 的安装步骤或具体插件目录位置在不同客户端中的变化。

如何使用

在该技能目录中运行:bun scripts/extract.ts <input-file> [--content-type <mime>]。例如:bun scripts/extract.ts attachment.pdf,或对无扩展名的医疗附件运行 bun scripts/extract.ts attachment --content-type application/pdf。输出是包含提取文本和方法信息的 JSON;其他技能也可在 Bun TypeScript 中直接导入 extract 和 resolveLit。

对比同类

对于 PDF,工具会在适用时使用 pdftotext -layout 作为 liteparse 不可用时的回退方案;RTF 则使用 rtf-to-text。源材料未提供与其他完整产品的比较。

常见问题

它会把文件上传到网络服务吗?
源材料只说明该脚本读取本地输入文件并写入标准输出,不写入磁盘;没有说明会调用远程网络服务。
没有文件扩展名的 PDF 能处理吗?
可以传入 --content-type application/pdf,但源材料说明 liteparse 会拒绝无扩展名文件,此类 PDF 会进入 pdftotext 回退路径。
表格提取结果可以直接当作事实依据吗?
多值列可能逐行交错,导致列归属不明确。若文档没有其他重复表述,应回看原始页面确认。
这个技能是否需要 MCP 服务器?
不需要。它是一个本地脚本;README 中列出的 MCP 服务器属于 healthcare 插件集合,而非该技能的运行要求。

同仓库的其他 Skills

均来自 anthropics/healthcare

相关 Skills