前些天我突发奇想,想着让CC帮我开发一个小工具,实现Obsidian直接调用MinerU解析服务
以此满足我平日文献解析的需求,我本人经常使用Obsidian
如果还要去打开终端或者vscode跑脚本那简直太麻烦了,所以我干脆做了这么一个简单的插件
在此之前,我也在Obsidian第三方插件市场里面搜索过,不过没有完全符合我的需求,或者说不够轻量和方便,而且不是开箱即用
所以我打算让cc帮我架构,自己做一个更方便,更适合日常解析文献使用的插件

开发好以后,我就可以在Obsidian直接调用MinerU解析服务,省得我每次解析文献都要打开终端跑脚本。
呐,这是设置的UI,可以支持很多选项,看你喜欢

我还以为要开发好几天,结果,cc一次就跑通了,我打开看了一下,还挺像回事的。
这段时间断断续续又加了些东西,功能基本齐了,我就把它开源发到GitHub上,顺便提交给了Obsidian插件市场审核。
项目地址:
https://github.com/luffysolution-svg/mineru-to-obsidian
插件叫「MinerU Parser」,等插件市场审核通过了,直接在Obsidian里搜这个名字就能装,审核之前的话可以先用下面两种方式装。
它是干什么的
简单说,在文件浏览器里右键点一个文档,选择解析,它就会调用你配置好的解析服务,把PDF、Word、PPT、图片这些转成Markdown笔记,图片附件也会一起存到你指定的文件夹。
我自己是解析论文和专利用得最多,扫描版的、带公式和表格的那种,普通工具解析不出来,得靠OCR。
装完插件不用额外配置就能用,免费额度够日常小文件用了。这里我把每个解析后端的配置和使用场景都写进了插件里的说明文档,照着走一遍就行。

支持哪些解析方式
目前一共接了7种后端,各有各的适用场景。
MinerU
这是我用得最多的,云端解析,扫描件、公式、表格识别都比较准。免费模式不用填Token,但限制单文件10MB以内、20页以内,而且不提取图片。文档大一点或者需要把图片也解析出来,就去MinerU官网申请个API Token,付费接口能到200MB、200页,图片也会一起提取。
markitdown
微软出的本地Python工具,装个pip install markitdown[all]就能用,不用填任何密钥。缺点是不提取图片,纯轻量转换、Office文档用它效果不错。

docling
也是本地Python工具,pip install docling装上就行,同样不提取图片。不联网也能跑,就这一个优点,但有时候够用了。
Vision LLM OCR
接你自己的视觉大模型,官方接口或者中转站都行,只要模型支持读图(比如gpt-4o、qwen-vl-max),填个Base URL、API Key和模型名就能用。插件里有测试按钮,配置完点一下就知道通不通。
百度OCR
国内用起来比较方便,免费额度也给得不少。需要去百度智能云开通“文字识别”服务,做实名认证,然后拿到API Key和Secret Key填进去。
TextIn(合合)
需要在TextIn后台申请App ID和Secret Code,适合对解析质量要求高、也在国内用的场景。
Doc2X
专门针对论文里的公式和表格调优过,接口是异步的,传文件上去之后轮询结果,填一个类似sk-开头的API Key就行。写论文经常要处理公式的可以试试。
总结一下
七个后端摆出来可能有点晃眼,不知道选哪个就记这几条:扫描件和排版乱的用MinerU,干净的Office文档markitdown顶得住,纯离线场景docling,一张截图丢Vision LLM OCR,国内免费额度够用就百度OCR,公式表格多就上Doc2X。
功能细节
除了解析本身,我还加了几个平时自己会用到的小功能。
批量解析:文件浏览器里多选几个文件一起右键,会按照每个后端能承受的并发数排队跑,不会一股脑全冲上去把接口打满。
保存路径可以自定义:用{filename}、{date}、{noteName}这些变量拼路径,笔记和图片附件想放哪个文件夹,自己定。
图片附件命名也能改:保留原文件名、按序号命名,或者自己写个模板都行。
操作也很简单,选择需要解析的PDF或者其他格式的文档,鼠标右键点击即可

解析完成或者失败都会弹提示,不用一直盯着看。
这是开始解析的状态:

这是解析完成之后的产物:


图注会自动关联到、图片会自动插入到markdown文件,完全不用担心看不见和找不到
公式、参考文献、表格丝毫不差
包括这种复杂表格的文件也能识别出来:

怎么装
插件市场也已经上架,目前很开心居然在没有任何发布介绍的情况下已经有49个小伙伴偷偷使用了哈哈哈。我倍感荣幸!!!

当然!你也可以提供BRAT插件安装,在BRAT里添加仓库地址,在这里可以第一时间安装最新版本
另一种是去Releases页面手动下载manifest.json和main.js,扔进.obsidian/plugins/下面对应的文件夹,重启一下Obsidian就能在设置里启用。
想自己改代码的话,clone下来跑npm install && npm run build也行,是个标准的Obsidian插件项目结构。
写在最后
这插件从写代码到现在断断续续搞了小半个月,主要是想解决自己平时解析文献要来回切换软件的麻烦,现在直接在Obsidian里右键就能出结果,确实省了不少事。
开源出来也是想看看有没有人跟我一样有这个需求,使用下拉如果遇到问题或者有其他功能添加的需求,欢迎各位去GitHub提issue,我看到都会立即处理。
以上,就是我的插件的介绍
我是三木,感兴趣的话可以点开主页,有更多优质内容等你解锁!
加纳~

夜雨聆风