开源 · Rust · AI 基础设施 · 效率工具 任何文档,秒变 Markdown Firecrawl 开源 anydoc 实测 10 天狂揽 1.5 万 Star · 14 种格式 · 4ms 级转换 · MIT 许可证 |
你给大模型喂过 Word 文档或 PPT 吗?要么复制粘贴后格式稀碎、表格全乱,要么先生成 PDF 再 OCR,慢得让人抓狂。「让模型读懂办公文档」这件事,2026 年了依然是个没有好答案的问题。直到 Firecrawl 开源了 anydoc——一个 10 天就冲到 1.5 万 Star 的 Rust 文档转换库。
给 LLM 喂文档,为什么这么痛
做过 RAG、文档问答、知识库的同学,下面四个坑你一定踩过:
1 格式地狱
.doc、.docx、.ppt、.xls、.rtf、.odt、.epub……每个格式的二进制结构完全不同。传统方案要么按格式各配一个解析器,要么全部交给 LibreOffice 兜底——适配成本高,产出还不统一。 |
2 结构丢失
表格变成一串乱码、标题层级消失、脚注列表全部平铺。转换完的文本人能看懂,模型抓不住重点——喂进去质量差,检索出来更差。 |
3 慢且贵
用 LibreOffice 转一份文档平均要 1 秒多,批处理上千份文件就要跑半小时;商业转换服务按量收费,量大了一笔不小的开销。 |
4 隐私风险
把合同、标书、内部报告上传到第三方 API 做转换,数据在别人手里走了一圈。对合规敏感的团队,这一条就直接否掉了整个方案。 |
AI 应用落地,缺的是一条「把任意文档变成模型读得懂的干净文本」的标准化管道——这就是 anydoc 想做的事。 |
anydoc:把一切文档变成 Markdown 的 Rust 库
anydoc(github.com/firecrawl/anydoc)是 AI 抓取与解析公司 Firecrawl 开源的文档转换库,截至本文编写时已获得约 15,000 Star,采用 MIT 许可证。它把 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV、PDF 共 14 种格式统一转换为干净的 GitHub Flavored Markdown,并内置了 Node.js、Python、WebAssembly(浏览器端)、Rust 四套接口。
它并不是一个「玩具」项目——anydoc 正是 Firecrawl 自家 Parse 托管 API 的底层转换引擎,在商用服务里跑过真实负载后才开源。浏览器演示版(firecrawl.github.io/anydoc/)用 WebAssembly 运行,文件全程在你本地转换,不出机器。
✅ anydoc 的核心承诺
|
四个设计亮点,看懂它的底气
1 一套模型,输出永远一致
每种格式先解析进一个统一的 Document 模型(块、内联元素、表格、脚注、资源),再由同一个 Markdown 序列化器输出。转义、表格、标题锚点、脚注的行为在任何格式下都一致——修好 docx 的表格转义 bug,rtf、odt 等其他格式自动同步修复,不用逐格式打补丁。 |
2 识别格式靠内容,不靠扩展名
格式从字节内容本身判断:PDF 文件头、RTF 开组、OLE 流名、ZIP 包 mimetype。文件被错误命名(比如把 .docx 存成 .dat)也能正确转换。只有 CSV 这种没有内容标记的格式才需要靠扩展名或显式指定。 |
3 快:单文档中位数 4.4 毫秒
纯 Rust、无机器学习模型、无外部服务,官方 benchmark 里中位数转换耗时 4.4ms,比 LibreOffice 快约 250 倍。绑定层也不拖后腿:Node.js 版跑在 libuv 线程池上不阻塞事件循环,Python 版转换时释放 GIL,多线程应用不会卡死。 |
4 Agent 就绪:AI 助手直接读文档
anydoc 以 Agent Skill 的形式发布:一条 |
30 秒上手
最快的方式是直接一行命令,把文档转成 Markdown 输出到终端或文件:
|
首次运行会自动下载对应平台的预编译二进制。想永久使用就全局安装:npm install -g @firecrawl/anydoc
2 Python 三行搞定
|
3 浏览器里零安装试用
打开官方演示页 firecrawl.github.io/anydoc/,拖一个文件进去就能看转换结果——整个转换跑在浏览器里的 WebAssembly 上,文件不会上传到任何服务器。想验证质量又不想装环境,这是最快的方式。 |
官方 Benchmark:全面碾压的底气
anydoc 官方用 100 份真实文档、覆盖 14 种格式,与 6 款主流转换工具做了盲测对比。评分方式是让 LLM 评审(Claude Sonnet 5)对照文档渲染图逐项打分,共 482 次两两对比,从完整性、结构、格式、干净度四个维度给分(0-100)。
anydoc 是唯一覆盖全部 14 种格式的工具,总分 81 全场最高,速度比第二名快 30 倍。注意:总分是「各工具所支持格式的平均分」,mammoth 的 70 分只代表 docx 一种格式。看单格式对比更公平:
每个格式 anydoc 都是第一,xlsx 相对是它最弱的格式(72 分),但仍是全场最高。竞品得分取自官方 benchmark 中该格式下的最高分,完整数据见仓库 bench/ 目录。
应用场景与一点冷静的提醒
🎯 谁最该用它
|
⚠️ 客观提醒:它不能做什么
|
写在最后
anydoc 给我的启发是:AI 时代的基础设施,很多时候不是更聪明的模型,而是更顺滑的「接入层」。模型不擅长解析二进制格式,那就用 4 毫秒的 Rust 库替它读完;数据不能出内网,那就做成 WASM 让转换发生在浏览器里。
如果你的工作流里恰好要处理一堆 Word、PPT、Excel、PDF——不管是喂给 RAG 还是塞给编码助手,anydoc 都值得放进工具箱。开源、免费、本地运行、实测第一,几乎没有不试的理由。
把任意格式的文档 变成模型读得懂的文本 anydoc 用 4 毫秒给出了答案 |
截至本文编写时,anydoc 已收获约 15,000 Star、833 个 Fork,MIT 协议完全开放。想要随时跟进它的迭代,直接 Watch 仓库即可。
🔗 GitHub:github.com/firecrawl/anydoc |
🧪 浏览器演示:firecrawl.github.io/anydoc/ 📖 官方文档:firecrawl.dev/parse |
本文写于 2026 年 8 月 所有项目信息基于 anydoc 官方 README 和 GitHub 仓库 Star 数为截至本文编写时的数据,可能持续变化 欢迎交流讨论 |
夜雨聆风