mcpField
M
mineru-extract

mineru-extract

github.com/blessonism文档处理438184 次安装9 周前更新
代码仓库

关于 mineru-extract

mineru-extract 是调用 MinerU 官方 API 的文档提取技能,面向需要将网页或文件内容转成 Markdown 的流程。它提交 URL、轮询任务并下载结果,提供 JSON 汇总或直接输出 Markdown;该项目不运行 MCP 服务。

主要功能

  1. 01批量提交 URL 并轮询解析任务
  2. 02下载结果压缩包并提取 Markdown
  3. 03通过 JSON 汇总成功项与错误
  4. 04支持 OCR、表格和公式识别选项
  5. 05按文件类型选择默认解析模型

适用场景

  1. 01将网页文章提取为 Markdown
  2. 02解析 PDF、演示文稿或图片文档
  3. 03批量处理多个文档来源
  4. 04检查解析失败 URL 和错误信息

MCP 相关

项目参考 MinerU MCP 的使用方式,但明确不运行 MCP 服务。它通过脚本调用 MinerU 官方 API,并以 JSON 或 Markdown 提供解析结果。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blessonism/search-skills --skill mineru-extract

安装后在 Claude Code 中输入/mineru-extract确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.example
scripts/
mineru_extract.py
mineru_parse_documents.py

详细介绍

MinerU 提取(官方 API)

将 MinerU 用作上游“内容规范化器”:向 MinerU 提交 URL,轮询任务完成状态,下载结果 zip,并提取主要 Markdown 内容。

快速开始(与 MCP 对齐)

我们的思路与 MinerU MCP 一致,但不会运行 MCP 服务。

  • 主脚本(MCP 风格):scripts/mineru_parse_documents.py
    • 输入:--file-sources(以逗号或换行符分隔的来源)
    • 输出:stdout 上的 JSON 契约:{ ok, items, errors }
  • 底层脚本(单个 URL):scripts/mineru_extract.py

身份验证:

  • 设置 MINERU_TOKEN(来自 mineru.net 的 Bearer token)

默认模型选择规则:

  • 以 .pdf/.doc/.ppt/.png/.jpg 结尾的 URL → pipeline
  • 其他 URL → MinerU-HTML(最适合微信公众号文章等 HTML 页面)
1)配置令牌(仅限技能)

将密钥放入技能根目录中的 .env(不要粘贴到聊天输出中):

# In the mineru-extract skill directory: .env
MINERU_TOKEN=your_token_here
MINERU_API_BASE=https://mineru.net
2)解析 URL → Markdown(推荐)

MCP 风格包装脚本(返回 JSON,可选择是否包含 Markdown 文本):

python3 mineru-extract/scripts/mineru_parse_documents.py \
  --file-sources "<URL1>\n<URL2>" \
  --language ch \
  --enable-ocr \
  --model-version MinerU-HTML

如果要在 JSON 中内嵌 Markdown 内容(可能很大):

python3 mineru-extract/scripts/mineru_parse_documents.py \
  --file-sources "<URL>" \
  --model-version MinerU-HTML \
  --emit-markdown --max-chars 20000

底层方式(单个 URL,将 Markdown 输出到 stdout):

python3 mineru-extract/scripts/mineru_extract.py "<URL>" --model MinerU-HTML --print > /tmp/out.md

输出

脚本始终会将 MinerU 结果 zip 下载并解压到:

~/.openclaw/workspace/mineru/<task_id>/

写入:

  • result.zip
  • 解压后的文件(Markdown + JSON + 资源)

脚本会在 stderr 上输出包含以下路径的 JSON 摘要:

  • task_id、full_zip_url、out_dir、markdown_path

参数(常用)

  • --model:pipeline | vlm | MinerU-HTML(HTML 需要使用 MinerU-HTML)
  • --ocr/--no-ocr:启用 OCR(对 pipeline/vlm 有效)
  • --table/--no-table:表格识别
  • --formula/--no-formula:公式识别
  • --language ch|en|...
  • --page-ranges "2,4-6"(非 HTML)
  • --timeout 600 / --poll-interval 2

故障情况与回退方案

  • MinerU 可能无法获取某些 URL(反爬虫、地理位置限制或需要登录)。
    • 回退方案:提供 HTML 文件或 PDF/长截图;然后使用 MinerU 批量上传端点实现“上传 + 解析”流程。
    • 始终报告失败的 URL 和 MinerU 的 err_msg,并在输出中保留原始来源链接。

参考资料

评论

支持 Markdown