本地运行 · 开源 · MCP 就绪

不是转换器,是文档的查询接口

PDF、Word、Excel、PPT、网页、图片进来,带标题层级、表格结构和页码溯源的 Markdown / JSON 出去。Agent 先要目录,再决定读哪一节——进上下文的只有需要的那几段。

文件不出本机 Apache-2.0 macOS & Windows 命令行 / 图形界面 / Web / MCP

get_outline("年报.pdf")Agent 调用
2 业务回顾p.4–11
3.2 财务摘要 · 含表格 2 个p.12–14
4 风险因素p.15–22

只把这一节取进上下文,或按词跨文档搜

get_section("年报.pdf", "财务摘要")
search_documents("毛利率")
本年度毛利率 41.2%,较上年提升 2.6 个百分点,主要来自…… 来源:年报.pdf · p.12 · 3.2 财务摘要

Local only

整条链路没有一次网络请求

解析引擎跑在你自己的机器上,装完就能断网用。合同、病历、财报、未公开的稿子—— 这些本来就不该传给别人的服务器。

上传 0 字节 引擎 本机运行 许可 Apache-2.0

PDF
DOCX
XLSX
PPTX
HTML
IMAGE
✕ 网络
本机引擎
MARKDOWN
JSON
HTML
TEXT
标注版 PDF

结构与溯源

它认得出结构,不只是抠出文字

标题分几级、表格几行几列、这段话落在第几页,都写进输出。 开了质量自检,它还会把识别结果标回原文——哪里认错了,你自己能看见。

标题 正文与表格 建议复核

这三个颜色不是设计师挑的,就是质量自检生成的标注版 PDF 用的颜色。

标题 · h2 · p.33.2 财务摘要
段落 · p.3
表格 · 4×3 · p.4
疑似扫描页 · p.5整页没有文字层,已转给 OCR 通道

进 / 出

六种进,五种出

混在一个文件夹里批量转也行,扫描件会被自动认出来转到 OCR 通道。另有三种加工产物:RAG 分块(带页码与标题路径)、表格 CSV、质量自检报告。

输入

PDF版面最完整
Worddocx
Excelxlsx · 每表一页
PowerPointpptx · 每页一页
网页html · 零依赖
图片png jpg tiff bmp webp gif
版面分析 · 本机

输出

Markdown给人读
JSON 结构树给程序
HTML带结构标签
纯文本txt
标注版 PDF核对识别结果

图片和扫描件要出文字,需要先装一次 OCR 服务(命令行一条命令装好,依赖有几个 GB,同样全程本地)。 不装也能用,只是扫描件转出来没有文字。

给 Agent 用

让 Agent 自己去翻,而不是把整本塞进去

内置 MCP Server,一行注册就多出 8 个工具。文档留在本机,Agent 只取需要的部分。

# 注册(Claude Code)
$ claude mcp add aimorsel -- morsel mcp

# 之后 Agent 自己会这么用
get_outline("年报.pdf")
get_section("年报.pdf", "财务摘要")
search_documents("毛利率")
工具它做什么
get_outline只返回标题树、每节页码与 token 估算——读大文档的第一步
get_section按标题取某一节正文,标题模糊匹配
search_documents跨已转换文档检索,命中带页码与标题路径
read_pdf_markdown小文档一次读完,直接返回正文
extract_tables把所有表格以 CSV 文本返回
get_chunksRAG 分块 JSONL,每块带页码与标题路径
qa_check逐页统计,标出空白页、疑似扫描页、低密度页
convert_pdf转换并返回产物清单;没变过的文件直接命中缓存

批量

一千份文档,不用守着

中途断电、临时加文件、隔天再跑——接着上次继续,不重复劳动。

断点续传
只转新的和改过的;换了输出格式或参数会自动重转
多进程并发
几十份以上明显更快,坏文件不拖垮整批
监听文件夹
丢进去就转;文件还在拷贝中会等它稳定
转换报告
每批一份 CSV:状态、页数、耗时、失败原因,Excel 直接打开
失败有下限
引擎解析不了的文件降级成纯文本兜底,而不是留个空目录

测试对比

731 份文档全部转出,保真不输专用引擎

731 份公开文档、8 类格式,与 docling、pymupdf4llm、markitdown、pdfplumber 四个开源工具同批对比。评分标准公开且一致:真值直接取自源文件(LaTeX 源码、HTML 原件、合成件的已知结构),同一套指标衡量所有引擎,没有人工打分。

五个引擎,三项指标同一批 731 份公开语料 · 颜色 = 引擎

AImorseldoclingpymupdf4llmmarkitdownpdfplumber

覆盖 731 份里转成功的份数

AImorsel731 · 100%
markitdown539 · 74%
pymupdf4llm293 · 40%
pdfplumber289 · 40%
docling只跑了 300 份子集,不进图

文本保真 逐对比较,只算双方都成功的文档 · 对手 vs AImorsel

doclingn=2990.841 vs 0.839
pymupdf4llmn=2930.775 vs 0.773
markitdownn=5390.715 vs 0.842
pdfplumbern=2890.574 vs 0.778

中位耗时 秒 / 份 · 越短越好

pdfplumber0.5 s
markitdown0.8 s
AImorsel1.6 s
pymupdf4llm7.2 s
docling11.2 s

两处得说清楚。在 77 份「五个引擎全成功」的小交集上,docling 与 pymupdf4llm 的文本相似度高于 AImorsel(0.92 对 0.82);该子集偏标准单栏 PDF,结构指标仍是 AImorsel 领先。最弱一环是扫描件与图片:数字保真 0.716(有文字层 0.891),扫描件里的数字需要人工二次校验。

完整结果表与口径说明 → 语料、脚本、真值生成器与指标实现都在仓库 bench/ 里,重跑误差小于 1%。

下载

解压就是全部安装过程

包里自带精简 Java 运行时,不用另装 Java,也不用装 Python。

macOS Apple Silicon · arm64 下载 .dmg v1.0.2 · 121 MB · 已签名并公证
macOS Intel · x86_64 下载 .dmg v1.0.2 · 122 MB · 已签名并公证
Windows x64 下载 .zip v1.0.2 · 116 MB · 未签名

一个包里含命令行、图形界面、Web 服务、MCP Server 四个程序,共用同一份依赖。 开发者也可以 pip install aimorsel 或从源码装:见 下载页

开源核心永远免费、永远完整、永远在本地。 数学公式 → LaTeX 和手写识别正在做成可选的本地模型包,同样不联网。