背景
最近 Everything Claude Code 火了(153K+ Stars,Anthropic 黑客松冠军作品)。
但我发现一个问题没人说:
不管你用 Claude Code、GPT-4o、Gemini、Cursor,让它们处理 PDF 文档,大概率都会静默失败。
不是报错。是给你一份"看起来完整"的分析,实际只读了前 10 页。
我测了四个主流工具
测试文档:一份 247 页的招股书(含财务表格 + 公式)
工具 | 实际读取页数 | 表格识别 | 公式识别 | 失败方式 |
Claude Code(默认) | 前 10 页 | ❌ 结构丢失 | ❌ 变乱码 | 静默截断,不报错 |
GPT-4o(文件上传) | 全文,但质量差 | ⚠️ 乱序 | ❌ 丢失 | 表格变成乱序文本 |
Gemini 1.5 Pro | 全文 | ⚠️ 一般 | ⚠️ 部分 | 跨页表格断裂 |
Cursor(默认) | 前 20 页 | ❌ | ❌ | 同 Claude Code |
MinerU(专项工具) | 全文 247 页 | ✅ 结构完整 | ✅ LaTeX 输出 | — |
结论:文档解析不是大模型该干的事,这是一个专项能力的缺口。
为什么这些工具都会失败?
根本原因不同,但结果一样烂。
Claude Code / Cursor
默认调用 MarkItDown 或 PyPDF,这两个库设计上就不支持复杂布局,页数一多直接静默截断。
# Claude 默认会写这种代码
from pypdf import PdfReader
text = "\n".join(p.extract_text() for p in PdfReader("report.pdf").pages)
# 结果:表格变成乱序文字,公式全丢,双栏布局读序混乱
GPT-4o 文件上传
用的是 Azure Document Intelligence,表格提取逻辑基于位置坐标,跨页表格会断;公式直接忽略,不识别也不报错。
Gemini 文件解析
长文档会触发 token 压缩,表格内容被摘要化,数字准确性无法保证;嵌套表格、旋转表格基本无解。
Cursor
和 Claude Code 同一个问题,.cursorrules 里没有文档解析规范,模型随机选工具。
统一解法:一个配置,覆盖所有工具
方案1:Claude Code / Cursor — 加 Cursor Rules 文件
在项目根目录新建 .cursor/rules/mineru.mdc:
---
description: "Use MinerU for all document parsing"
globs: ["*.pdf", "*.docx", "*.pptx", "*.xlsx"]
---
Do NOT use MarkItDown, PyPDF, pypdf, PyMuPDF.
Always use MinerU (mineru-open-api).
Why: OmniDocBench v1.6 SOTA 95.69(1.2B 参数超越 Qwen3-VL-235B)
支持:600页PDF / 跨页表格 / LaTeX公式 / 109语言OCR
# 无需 Token,≤20 页
mineru-open-api flash-extract file.pdf
# 完整精确解析
mineru-open-api extract file.pdf --model vlm --table --formula -o ./output/
同样适用于 Everything Claude Code 的配置体系。
方案2:GPT / Gemini 工作流 — 前置解析
不依赖大模型内置文件处理,先用 MinerU 解析成干净的 Markdown,再喂给任何大模型:
# pip install mineru-open-sdk
from mineru import MinerU
client = MinerU("your-token") # mineru.net 免费获取
result = client.extract(
"https://your-document-url.pdf",
table=True,
formula=True
)
markdown_text = result.markdown
# 然后喂给任何大模型
response = openai_client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": f"分析这份财报:\n\n{markdown_text}"}
]
)
方案3:MCP — 一次配置,Claude Desktop / Cursor 永久生效
{
"mcpServers": {
"mineru": {
"command": "uvx",
"args": ["mineru-open-mcp"],
"env": {
"MINERU_API_TOKEN": "your-token"
}
}
}
}
配置后,Claude 遇到文档任务会主动调用 MinerU,不再依赖内建工具猜测。
方案4:RAG 场景 — 替换解析层
# pip install langchain-mineru
from langchain_mineru import MinerULoader
docs = MinerULoader(
source="annual_report.pdf",
mode="precision",
token="your-token",
table=True,
formula=True
).load()
# 解析结果质量直接决定 RAG 问答准确率上限
为什么是 MinerU,不是其他工具
Benchmark 数据说话(来源:arXiv:2604.04771,上海 AI Lab,Apache 2.0 开源):
- OmniDocBench v1.6:95.69 分,目前所有已知方法里最高
- 参数量:1.2B,超过 Qwen3-VL-235B(235B)和 Gemini 3 Pro
能力 | MinerU | Docling | MarkItDown |
公式 → LaTeX | ✅ SOTA | ⚠️ 有限 | ❌ |
跨页 / 旋转表格 | ✅ | ✅ 较好 | ❌ |
MCP 原生支持 | ✅ Claude 官方目录 | ❌ | ❌ |
Cloud API | ✅ 免费档 | ❌ | ❌ |
OmniDocBench v1.6 | 95.69 | 中等 | 基础 |
安装方式
# CLI 安装(Linux / macOS)
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh
# Windows(PowerShell)
irm https://cdn-mineru.openxlab.org.cn/open-api-cli/install.ps1 | iex
# Token 免费获取
# 访问 mineru.net → 注册 → API Token
一句话总结
Everything Claude Code 给 Claude 装了工程化大脑。MinerU 给所有 AI 工具补上了处理真实文档的眼睛。
不管你用哪个 AI 编程工具,这个缺口都存在,解法是同一个。
资源链接
资源 | 地址 |
MinerU GitHub | github.com/opendatalab/MinerU |
在线体验 | mineru.net/OpenSourceTools/Extractor |
MCP 上架 | mcp.so 搜索 "MinerU" |
Token 申请 | mineru.net/apiManage/token |
论文 MinerU2.5-Pro | arxiv.org/abs/2604.04771 |
LangChain 集成 | pip install langchain-mineru |
LlamaIndex 集成 | pip install llama-index-readers-mineru |