给大模型或 AI 智能体准备输入时,最麻烦的一步往往是把格式杂乱的办公文档变成干净的纯文本。Firecrawl 开源的 Rust 库 anydoc 直接瞄准这一步:把 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV、PDF 共 14 种格式统一转成 GitHub 风味 Markdown。在项目官方基准测试中,它是唯一覆盖全部 14 种格式的对比工具,中位转换耗时 4.4 毫秒,综合评分 81 分,排在 7 个对比工具首位。项目在 GitHub 上有 18.4k star,MIT 许可,最新版本 v0.2.3 于 2026 年 8 月发布。
它解决什么问题
大模型和智能体读文档,依赖结构清晰的 Markdown:标题、表格、列表、代码块都保留下来,内容才可能被正确理解。但办公文档格式繁多,Word、PPT、Excel、PDF 各有各的解析逻辑,一个团队内部往往同时混着十几种格式。
已有的转换工具各有短板:LibreOffice 转换质量一般且慢,pandoc 对办公格式支持有限,markitdown 只覆盖 6 种格式。anydoc 的做法是把「每个格式解析进同一个文档模型,再由同一个序列化器输出」,转义、表格、脚注在不同格式间行为一致,一处修复全局生效。
关键数字
- GitHub 18.4k star、1.1k fork、124 次提交,MIT 许可;最新版本 v0.2.3(2026 年 8 月发布)
- 代码构成:Rust 80.2%、Python 13.6%
- 提供 Node.js、Python、Rust、WebAssembly(浏览器)四种绑定
- 纯 Rust 实现,无机器学习模型、无外部服务,文档在本机转换
官方基准:唯一全覆盖、速度最快
官方在 100 份真实文档、14 种格式上对比了 7 个工具,由大模型盲评打分(482 次两两判定,评分 0-100,越高越好):
| 工具 | 覆盖格式 | 中位耗时 | 评分 |
|---|---|---|---|
| anydoc | 14/14 | 4.4 ms | 81 |
| libreoffice | 12/14 | 1129.5 ms | 40 |
| unstructured | 8/14 | 572.9 ms | 63 |
| markitdown | 6/14 | 134.8 ms | 65 |
| pandoc | 5/14 | 102.1 ms | 56 |
| docling | 4/14 | 513.6 ms | 57 |
| mammoth | 1/14 | 52.5 ms | 70 |
按中位耗时算,anydoc 比 LibreOffice 快约 256 倍,比格式覆盖较多的 pandoc 快约 23 倍。需要说明的是,这份基准是项目官方自评(LLM 盲评),不是第三方独立评测。
快和干净从哪来
三个设计决定解释了它的表现。
格式检测靠内容,不靠扩展名。 解析器从文件字节读取标记:PDF 头、RTF 开头、OLE 流名、ZIP 包 mimetype。文件扩展名标错也能转对。CSV 没有这类标记,只能靠扩展名或显式指定。
统一文档模型加单一序列化器。每个格式一个解析器,全部输出到同一个文档模型,再由一个 Markdown 序列化器渲染。表格转义这类问题修一次,所有格式同时受益。
本地处理,按需增强。文本型 PDF 由内置的 pdf-inspector 本地转换,不需要 OCR 服务;纯扫描件这类本地读不了的文件,可以接 Firecrawl 云端的 Parse 接口补 OCR。方程转成 LaTeX($...$ 和 $$),图片以替代文本呈现,原始字节保留在文档模型里。
五种接入方式
- CLI:
npx @firecrawl/anydoc report.docx,全局安装后可直接用 anydoc 命令 - Node.js:
npm install @firecrawl/anydoc,提供 toMarkdown 系列函数 - Python:
pip install firecrawl-anydoc,提供 anydoc.to_markdown 系列函数,绑定释放 GIL - Rust:
cargo add anydoc - 浏览器:
@firecrawl/anydoc-wasm,转换在浏览器里本地完成,文件不出本机
另外它还打包成 Agent Skill:npx skills add firecrawl/anydoc,Claude Code、Codex、Cursor、OpenCode 等兼容智能体可以直接把任意文档转成 Markdown 再处理。
适合谁用
- 给大模型、RAG 或智能体准备文档语料的团队:anydoc 是格式覆盖最全的开源选择之一,MIT 许可,可以放心集成
- 需要把混合格式文档统一成 Markdown 的自动化流水线:4.4 毫秒的中位耗时意味着批量处理不再是瓶颈
- 在意数据不出本机的场景:转换全程本地执行,无外部服务调用
如果你在搭 AI 文档处理管线,值得先拿它跑一批真实文档验证效果。基准数据是官方自评,最终以你自己的机器、你自己的文档实测为准。