AnyDoc Skill:把任意办公文档毫秒转 Markdown 的 Rust 神器
AnyDoc Skill:把任意办公文档毫秒转 Markdown 的 Rust 神器
AnyDoc 是 Firecrawl 于 2026 年 8 月初发布的一款纯 Rust 文档转换库,能将 Word、PowerPoint、Excel、PDF 等 14 种办公格式统一转为干净的 GitHub-Flavored Markdown(GFM),中位转换耗时仅 4.7ms,首周狂揽近 1.2 万 star,成为 2026 年 8 月增长最快的开发者工具之一。
功能与原则
AnyDoc 解决的是一个工程上长期被忽视的痛点:RAG 流水线的入口质量。向量数据库和 reranker 被反复调优,但文档解析器一旦把财务表格里的合并单元格弄成一团乱码,所有上游优化全部白费。
设计原则有三:① 格式全覆盖(14 种格式统一进同一 Document 模型);② 极速本地(纯 Rust、无外部依赖、无 ML 模型);③ 一处修复全局生效(所有格式共用同一个 serializer,表格转义修复一次,所有格式都受益)。
认可度
- GitHub Star:约 19.4K(截至 2026-09-01,首周破 1.2 万,发布 4 天破万 star)
- 下载量:npm 周下载量持续攀升,Python pip 依赖数 6+ 直接依赖、10+ 间接依赖
- 社媒热度:8 月上旬 GitHub Trending 霸榜,dev.to / deepseek.club / byteiota 等技术社区集中报道
- Trending 经历:2026-08 上旬登顶 GitHub Trending 多语言分类
链接
GitHub:https://github.com/firecrawl/anydoc
原作者
由 Firecrawl 团队开发维护(母公司为 Mendable)。Firecrawl 此前主打网页爬取 AI 化,AnyDoc 是其文档处理工具链的核心新品。Firecrawl 同时提供云端 OCR 能力(Firecrawl Parse API),与本地解析形成互补。
介绍
AnyDoc 起源于一个被反复验证的真实需求:团队在搭建 RAG 流水线时,文档解析环节长期是短板。Cloud 方案(LlamaParse、Unstructured)按页收费,千份文档成本迅速失控;本地替代品(如 Docling)覆盖格式不全(仅 4/14 种)且单文档耗时 513ms。AnyDoc 瞄准这个”干净数字文件”的 80% 场景,用纯 Rust 实现零外部依赖、中位耗时 4.7ms 的极速解析。
核心架构为:文件字节 → 格式检测(读 magic bytes 而非信任扩展名,.docx 改名为 .pdf 仍能正确解析)→ 各格式专属解析器 → 统一 Document 模型(blocks、inlines、tables、footnotes、assets)→ GFM 序列化器输出 Markdown。由于所有格式都经由同一模型和序列化器,修复一处 bug 自动修复全格式。
支持格式包括:DOCX、PPTX、XLSX、ODP、ODT、ODS、RTF、EPUB、CSV,以及文本型 PDF(通过 pdf-inspector 内置解析;扫描版/纯图片 PDF 对接 Firecrawl Parse API 完成 OCR)。
特点
- 14 种格式全覆盖,统一 GFM 输出,下游 RAG/Agent 无需适配多格式
- 中位转换耗时 4.7ms,比同类本地方案快 100 倍以上(Docling 513ms)
- 纯 Rust 实现,零外部依赖,无需 ML 模型,敏感文档不上传服务器
- WASM 构建支持浏览器本地转换(文件永不离开机器)
- 多语言 SDK:Node.js(非阻塞 libuv 线程池)、Python(释放 GIL)、Rust、CLI(npx @firecrawl/anydoc)、Claude Code / Codex / Cursor Agent Skill
- 基于内容检测格式而非信任文件扩展名,防止伪装文件绕过
- 完整文档结构:标题、列表、合并单元格表格、脚注、代码块、嵌入资源(图片/媒体原始字节 + MIME 类型)
- MIT 许可证,可商用
使用方法
安装
# CLI(无需安装)
npx @firecrawl/anydoc report.docx
# Node.js
npm install @firecrawl/anydoc
# Python
pip install firecrawl-anydoc
# Rust
cargo add anydoc
基本调用
# Python
from anydoc import convert
md = convert("report.docx")
print(md)
// Node.js
import { toMarkdown } from '@firecrawl/anydoc';
const markdown = await toMarkdown('slides.pptx');
console.log(markdown);
# CLI 输出到控制台
npx @firecrawl/anydoc report.docx
# 保存为 md 文件
npx @firecrawl/anydoc slides.pptx -o slides.md
# 标准输入读取 CSV
npx @firecrawl/anydoc - --format csv < data.csv
Agent Skill 集成
npx skills add firecrawl/anydoc
装好后直接对 Agent 说”请把这份季度报告转为 Markdown”,Agent 自动调用 Skill 完成转换。
使用场景与人群
适用场景:
– RAG / LLM 文档预处理流水线(将 PDF/Word/Excel 统一清洗为 Markdown)
– AI 工程师搭建本地文档处理流程(无需付费 API,敏感文件不离机器)
– 科研人员批量将期刊 PDF 和实验数据 Excel 整理为统一笔记格式
– Agent 工作流集成(Claude Code / Codex / Cursor / OpenCode 的文档处理 Skill)
目标用户:
– AI/RAG 工程师、数据工程师
– 需要本地处理敏感文档的团队
– 在 AI 编码工具中处理各种格式文档的开发者
– 任何需要批量将办公文档转为纯文本/Markdown 的场景
输入与输出案例
案例 1:Word 转 Markdown
输入:report.docx(含多级标题、合并单元格表格、脚注)
输出:
## Q3 Financial Summary
| Region | Revenue | YoY Growth |
|-----------|---------|------------|
| APAC | $12.4M | +23% |
| EMEA | $8.1M | +15% |
> ¹ Data sourced from internal BI system, audited 2026-08-15
案例 2:Excel 多 Sheet 转 Markdown 表格
输入:sales_data.xlsx(含多个工作表、合并单元格、数值列)
输出:每个 Sheet 分别转为独立 Markdown 表格,标题行自动识别,数值格式化保留,缺失值处理为空字符串。
AnyDoc 把”文档格式壁垒”这件事做到了极致简洁:一次解析、14 种格式、统一输出、工程级稳定。对任何在搭建 LLM 流水线或让 AI Agent 处理办公文档的团队,它都是当前最值得加入工具箱的开源组件之一。
评论区
登录后可评论。