From mineru-refine
PDF/DOC/PPT/图片 进、干净 Markdown 出——比原生 MinerU 产物更可用。先用 MinerU 官方 API 解析成 content_list,再用 mineru-refine 后处理清洗(伪标题、跨页断句、跨页拆表、乱码表、OCR 形近字、页面家具…),全程机器校验保真、fail-open 不搞崩。当用户说"清洗这个 PDF"、"把这份文档转成干净 markdown"、"解析并清洗"、"用 mineru-prime/mineru-refine 处理"时使用。需要三个 key:MINERU_API_TOKEN / DEEPSEEK_APIKEY / QWEN_APIKEY。
How this skill is triggered — by the user, by Claude, or both
Slash command
/mineru-refine:mineru-primeopusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
全链路两段:**① MinerU 官方 API 把文件解析成 `content_list.json` + images** →
全链路两段:① MinerU 官方 API 把文件解析成 content_list.json + images →
② mineru-refine 后处理清洗,产出 drop-in 替身目录(清洗版 content_list + 重渲染 full.md + 审计报告)。
两段都靠仓库脚本驱动,运行时统一 bun。本 plugin 默认把三层 opt-in 清洗 (OCR 形近字修正 / 乱码表视觉重转写 / 乱码表降级兜底)全开——最大限度清洗, 输出契约从"只删不增"转为双契约(有逾点全部留痕、可审计、可程序化撤销)。
命令:plugin 的 bin/ 已自动进 PATH,直接当命令调,不用关心脚本在哪、不依赖 $CLAUDE_PLUGIN_ROOT:
mineru-prime-fetch <输入文件> <产物目录> —— MinerU 解析mineru-prime-refine <产物目录> [清洗输出目录] —— refine 清洗(首次运行自动装依赖)若极少数环境里这两个命令不在 PATH(command -v mineru-prime-refine 为空),
回退用 $CLAUDE_PLUGIN_ROOT/bin/mineru-prime-refine,再不行用
find ~/.claude/plugins -name mineru-prime-refine 2>/dev/null 定位。
工作目录 $WORKDIR:放 .env 和产物的地方。默认用户当前目录下的 mineru-refine-out/
(不存在就建);用户指定了输出位置就用用户的。两个命令都从 $WORKDIR 运行
(cd "$WORKDIR" && mineru-prime-...),因为 bun 从 cwd 自动加载 .env 里的 key。
pdf / doc / docx / ppt / pptx / png / jpg / jpeg / html。bun:command -v bun。没有就停下来引导安装(curl -fsSL https://bun.sh/install | bash),
装好再继续——别用别的运行时凑合。
key:检查 $WORKDIR/.env 是否已含以下三个。缺哪个就向用户要哪个,
然后写进 $WORKDIR/.env(持久化,下次免输)。已存在的不要覆盖、不要打印 key 值。
| key | 必需性 | 用途 |
|---|---|---|
MINERU_API_TOKEN | 解析必需 | MinerU 官方 API 解析(https://mineru.net 申请) |
DEEPSEEK_APIKEY | 清洗必需 | refine 文本裁决主力;缺则 refine 直接 fail-open |
QWEN_APIKEY | 清洗强烈建议 | 跨页拆表视觉裁决 + 乱码表视觉重转写;缺则这两类整体搁置 |
三个都给齐再往下;用户坚持不给 QWEN_APIKEY 就照常跑,但提醒他视觉相关清洗会被搁置。
cd "$WORKDIR" && mineru-prime-fetch "<输入文件绝对路径>" "$WORKDIR/mineru"
$WORKDIR/mineru/content_list.json + images/。{ok, stem, outDir, items})——读它确认产物与 item 数。cd "$WORKDIR" && mineru-prime-refine "$WORKDIR/mineru" "$WORKDIR/refined"
首次运行会自动 bun install 把 mineru-refine 原生绑定装进 plugin 的 scripts/node_modules(幂等,之后秒过)。
$WORKDIR/refined/:images/、layout.json 原样镜像
(img_path 不断链),content_list.json 是清洗版,full.md 确定性重渲染,
另有 refine_report.json 审计报告。failOpen=true 意味着触发了兜底(异常/key 缺失/LLM 不可用),refined 内容即原始输入——
要明确告诉用户没真正清洗到,并查 refine_report.json 找原因(多半是 DEEPSEEK_APIKEY 问题)。给用户一段简明小结,基于第 4 步的摘要 JSON:
suspectsBefore → suspectsAfter):清洗整体效果。opCounts)+ 降级/删除留痕条数(removedSpans)。confusionFixes(OCR 形近字替换)/ tableRewrites(乱码表整格重转写)
/ tableDegraded(救不回降级为图片的表数)。tokenUsage)与 是否 failOpen。$WORKDIR/refined/——指明 full.md 是干净 markdown 成品,
content_list.json 可直接 drop-in 替换原 MinerU 结果喂下游,refine_report.json 可逐条审计。不要轮询、不要后台挂着;跑完即汇报。
.env 即可。Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub lcpmarvel/mineru-refine --plugin mineru-refine