一句话介绍
anydoc 是由 Firecrawl 团队开源的超快文档转换工具,支持 Word、PowerPoint、Excel、PDF、EPUB 等十余种格式,一键输出干净的 GitHub 风格 Markdown,基于 Rust 编写,速度达毫秒级。
它是什么?
在 AI 应用开发中,将各种格式文档(尤其是 Office 文档和 PDF)转换为结构化 Markdown 一直是痛点。市面上虽然有不少转换工具,但要么依赖复杂的后端服务,要么输出质量参差不齐,表格和列表经常混乱。anydoc 的出现,就是为了在本地、快速、高质量地完成这件事。
anydoc 由 Firecrawl 团队维护,该项目正是火苗(Firecrawl)的核心组件,同时也被其托管服务 Firecrawl Parse 所使用。项目采用 MIT 许可证,完全开源,已在 GitHub 收获 12,800+ Stars,并支持 Node.js、Python、WebAssembly 三种调用方式。
GitHub: https://github.com/firecrawl/anydoc
Stars: 12,800+
语言: Rust
许可证: MIT
核心功能
1. 多格式全覆盖
anydoc 支持将以下格式转换为 Markdown:
- Word (.docx)
- PowerPoint (.pptx)
- Excel (.xlsx)
- OpenDocument (.odt, .ods, .odp)
- RTF (.rtf)
- EPUB (.epub)
- CSV (.csv)
- PDF (.pdf)
无论输入什么格式,输出都是统一的 GitHub Flavored Markdown,方便直接喂给 LLM。
2. 毫秒级超快转换
得益于 Rust 引擎,anydoc 能在个位数毫秒内完成转换。对于常见的 Word 或 PPT 文档,转换速度远超 Python 生态中的同类库(如 pandoc、markdownify 等),尤其适合需要批量处理的场景。
3. 三种调用方式
- CLI:一行命令即可转换,支持
npx直接运行 - Node.js:
npm install @firecrawl/anydoc - Python:
pip install firecrawl-anydoc - WebAssembly:浏览器内直接运行,文件不出本地,隐私友好
4. Agent Skill 支持
anydoc 已打包为 Agent Skill,Claude Code、Codex、Cursor、OpenCode 等 AI 编程助手可直接调用。只需一条命令即可让 agent 学会阅读和转换任何文档:
npx skills add firecrawl/anydoc
5. 内置在线 Demo
项目提供了一个 WebAssembly 演示页面,用户可以直接在浏览器中上传文件,转换结果在本地完成,无需上传到服务器,兼顾便捷性和隐私。
适用人群
- AI 应用开发者:需要将用户文档作为 LLM 输入的应用(如文档问答、智能摘要)
- 内容创作者:快速将 PPT、Word 文档转为 Markdown 发布到技术博客
- 数据工程师:批量处理多格式文档,构建 RAG 知识库
- Privacy 敏感用户:希望本地转换、不出网的安全需求
- 开发者工具爱好者:喜欢 Rust 编写的轻量高性能工具
与同类工具对比
| 工具 | 速度 | 格式支持 | 调用方式 | 本地运行 | 备注 |
|---|---|---|---|---|---|
| anydoc | ⭐⭐⭐⭐⭐ 毫秒级 | 10+ 格式 | CLI/Node/Python/ WASM | ✅ | Firecrawl 出品,Agent Skill 支持 |
| Pandoc | ⭐⭐⭐ 秒级 | 20+ 格式 | CLI | ✅ | 老牌工具,但配置复杂 |
| markdownify (Python) | ⭐⭐⭐⭐ 较快 | 主要 HTML | Python | ✅ | 仅适合 HTML 转换 |
| LibreOffice + 脚本 | ⭐⭐ 慢 | 极多格式 | CLI | ✅ | 重量级,需安装完整桌面套件 |
| Firecrawl Parse (托管) | ⭐⭐⭐⭐⭐ 快 | 含 OCR | API | ❌ | 含扫描文档 OCR,但需付费 |
anydoc 的优势在于:Rust 实现的速度、多语言绑定、Agent Skill 友好,以及完全免费开源。
如何使用
方式一:CLI 命令行(最简单)
# 转换 Word 文档为 Markdown 并输出到控制台
npx @firecrawl/anydoc report.docx
# 保存到文件
npx @firecrawl/anydoc slides.pptx -o slides.md
# 从标准输入读取 CSV
npx @firecrawl/anydoc - --format csv < data.csv
npx 会在首次运行时自动下载预编译二进制文件,无需安装 Rust 环境。
方式二:Python
pip install firecrawl-anydoc
import anydoc
# 从文件路径转换
markdown = anydoc.to_markdown("report.docx")
print(markdown)
# 从字节流转换(自动检测格式)
with open("slides.pptx", "rb") as f:
markdown = anydoc.to_markdown_bytes(f.read())
# CSV 需要指定格式
markdown = anydoc.to_markdown_bytes(csv_bytes, "csv")
方式三:Node.js
npm install @firecrawl/anydoc
import { toMarkdown } from '@firecrawl/anydoc';
const markdown = await toMarkdown('report.docx');
console.log(markdown);
方式四:浏览器内运行(WebAssembly)
npm install @firecrawl/anydoc-wasm
import init, { toMarkdownBytes } from '@firecrawl/anydoc-wasm';
await init();
const markdown = toMarkdownBytes(fileBytes);
方式五:接入 AI Agent(Agent Skill)
# 让 Claude Code / Cursor / Codex 等 agent 学会转换文档
npx skills add firecrawl/anydoc
安装后,agent 会自动掌握文档转换能力,无需手动调用。
总结
anydoc 是文档转 Markdown 领域的一款小而美的利器。它背靠 Firecrawl 的团队,有稳定的商业化产品(Firecrawl Parse)作为后盾,在功能完整性和持续维护上都有保障。
优点: - Rust 实现,速度极快(毫秒级) - 支持格式丰富,输出质量高 - 多语言绑定,接入成本低 - Agent Skill 支持,对 AI 开发者尤其友好 - 完全免费开源(MIT 许可)
不足: - PDF 不支持 OCR,扫描版 PDF 需要配合 Firecrawl 托管服务 - 对复杂排版(如大量表格嵌套)的处理仍有提升空间
推荐指数:⭐⭐⭐⭐⭐(5/5)
如果你需要在 AI 应用中处理各种格式的文档,或者单纯想快速把 Word/PPT 转为 Markdown,anydoc 是目前最值得尝试的工具之一。
原文链接:https://github.com/firecrawl/anydoc 在线 Demo:https://firecrawl.github.io/anydoc/