mineru-extract by blessonism/openclaw-search-skills
npx skills add https://github.com/blessonism/openclaw-search-skills --skill mineru-extract使用 MinerU 作为上游“内容标准化器”:向 MinerU 提交 URL,轮询处理完成,下载结果压缩包,并提取主要的 Markdown 内容。
我们遵循 MinerU MCP 的思维模型,但我们 不 运行 MCP 服务器。
scripts/mineru_parse_documents.py
--file-sources (逗号或换行符分隔){ ok, items, errors }scripts/mineru_extract.py认证:
MINERU_TOKEN (来自 mineru.net 的 Bearer token)默认模型启发式规则:
.pdf/.doc/.ppt/.png/.jpg 结尾的 URL → 广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
pipelineMinerU-HTML (最适合 WeChat 文章等 HTML 页面)将密钥放在 技能根目录 的 .env 文件中 (不要粘贴到聊天输出中):
# 在 mineru-extract 技能目录下: .env
MINERU_TOKEN=your_token_here
MINERU_API_BASE=https://mineru.net
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 结果压缩包到:
~/.openclaw/workspace/mineru/<task_id>/
它会写入:
result.zip它会向 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 2err_msg,并在输出中保留原始来源链接。每周安装量
70
仓库
GitHub 星标数
233
首次出现
2026年2月11日
安全审计
安装于
codex62
openclaw61
gemini-cli60
amp60
github-copilot60
kimi-cli60
Use MinerU as an upstream “content normalizer”: submit a URL to MinerU, poll for completion, download the result zip, and extract the main Markdown.
We align to the MinerU MCP mental model, but we do not run an MCP server.
scripts/mineru_parse_documents.py
--file-sources (comma/newline-separated){ ok, items, errors }scripts/mineru_extract.pyAuth:
MINERU_TOKEN (Bearer token from mineru.net)Default model heuristic:
.pdf/.doc/.ppt/.png/.jpg → pipelineMinerU-HTML (best for HTML pages like WeChat articles)Put secrets in skill root .env (do not paste into chat outputs):
# In the mineru-extract skill directory: .env
MINERU_TOKEN=your_token_here
MINERU_API_BASE=https://mineru.net
MCP-style wrapper (returns JSON, optionally includes markdown text):
python3 mineru-extract/scripts/mineru_parse_documents.py \
--file-sources "<URL1>\n<URL2>" \
--language ch \
--enable-ocr \
--model-version MinerU-HTML
If you want the markdown content inline in the JSON (can be large):
python3 mineru-extract/scripts/mineru_parse_documents.py \
--file-sources "<URL>" \
--model-version MinerU-HTML \
--emit-markdown --max-chars 20000
Low-level (single URL, print markdown to stdout):
python3 mineru-extract/scripts/mineru_extract.py "<URL>" --model MinerU-HTML --print > /tmp/out.md
The script always downloads + extracts the MinerU result zip to:
~/.openclaw/workspace/mineru/<task_id>/
It writes:
result.zipIt prints a JSON summary to stderr with paths:
task_id, full_zip_url, out_dir, markdown_path--model: pipeline | vlm | MinerU-HTML (HTML requires MinerU-HTML)--ocr/--no-ocr: enable OCR (effective for pipeline/vlm)--table/--no-table: table recognition--formula/--no-formula: formula recognition--language ch|en|...--page-ranges "2,4-6" (non-HTML)err_msg and keep an original-source link in outputs.Weekly Installs
70
Repository
GitHub Stars
233
First Seen
Feb 11, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
codex62
openclaw61
gemini-cli60
amp60
github-copilot60
kimi-cli60
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
43,100 周安装
社交媒体内容策略指南:LinkedIn、Twitter、Instagram、TikTok、Facebook平台优化与模板
250 周安装
WhisperX 音频转文字工具 - 支持多语言、词级时间戳、字幕格式输出
254 周安装
Browserbase Fetch API:快速获取网页内容、头部和元数据,无需浏览器会话
257 周安装
Sentry Flutter SDK 完整设置指南:错误监控、性能剖析、会话回放
257 周安装
OpenClaw CLI 命令行工具:AI 网关与智能体管理完整指南
250 周安装
PEFT参数高效微调指南:LoRA/QLoRA方法,在消费级GPU上微调大语言模型
252 周安装
--timeout 600 / --poll-interval 2