天枢 - 企业级 AI 一站式数据预处理平台 | PDF/Office转Markdown | 支持MCP协议AI助手集成 | Vue3+FastAPI全栈方案 | 文档解析 | 多模态信息提取
See the code企业级 AI 数据预处理平台
支持文档、图片、音频等多模态数据处理 | GPU 加速 | MCP 协议
结合 Vue 3 前端 + FastAPI 后端 + LitServe GPU负载均衡
English | 简体中文
如果这个项目对你有帮助,请点击右上角 ⭐ Star 支持一下,这是对开发者最大的鼓励!
webhook_urlsetup.sh 入口(GPU/纯 pipeline/CPU/原生/离线),新增 pipeline-only 编排与离线部署方案.env)mineru[all]>=3.4.5,同步 mineru-vl-utils>=1.0.5,<2、pypdf>=5.6.0MinerU2.5-2509-1.2B → MinerU2.5-Pro-2605-1.2B(模型下载脚本、mineru.json、vLLM 服务同步)do_parse API、vlm/hybrid 后端名(旧别名 *-auto-engine 仍受支持)、pipeline 模型目录结构(PP-DocLayoutV2 等)均保持不变--accelerator mps),VLM 后端自动走 MLX;音视频辅助引擎在 mac 上回退 CPUtransformers==4.57.6、albumentations>=1.4.11magic-pdf.json(扁平)→ mineru.json(嵌套 models-dir 结构)unimernet_hf_small_2503、pp_formulanet_plus_m).docx 文件路由至 MinerU 3.0 原生解析器(office_docx_analyze),解析精度优于 MarkItDown.doc、.xls、.ppt 经 LibreOffice 自动转换为新格式后,再交由 MinerU 或 MarkItDown 处理,不再报错.env 新增)
PDF_SPLIT_ENABLED: 是否启用自动拆分(默认 true)PDF_SPLIT_THRESHOLD_PAGES: 拆分阈值页数(默认 500)PDF_SPLIT_CHUNK_SIZE: 每个子任务处理页数(默认 500)WORKER_MEMORY_LIMIT: 容器硬内存限制(默认 16G)WORKER_MEMORY_RESERVATION: 内存软限制/预留(默认 8G)RUSTFS_PUBLIC_URL 环境变量(外部可访问地址).env.example 配置文件,移除冗余选项✅ Docker 容器化部署支持
setup.sh(或 make setup)即可完成全栈部署make reload 即生效;make smoke 一键验证解析链路docker-compose.yml、backend/Dockerfile、frontend/Dockerfile)✅ 企业级用户认证与授权系统
backend/auth/ 目录✅ 新增插件化格式引擎系统
✅ 生物信息学格式引擎
backend/format_engines/README.md⚠️ 实验性功能:某些特殊水印可能效果不佳,建议先小范围测试。
📖 详细说明:水印去除优化指南
backend/video_engines/README.mdbackend/audio_engines/README.md🎯 支持内容结构化 JSON 格式输出
🎉 新增 PaddleOCR-VL 多语言 OCR 引擎
MinerU Tianshu(天枢)是一个企业级 AI 数据预处理平台,将非结构化数据转换为 AI 可用的结构化格式:
实时监控队列统计和最近任务
支持批量处理和高级配置
重置超时任务、清理旧文件
mineru-server/
├── frontend/ # Vue 3 前端(TypeScript + TailwindCSS)
│ ├── src/ # 源码(api、components、views、stores、router)
│ └── vite.config.ts
│
├── backend/ # Python 后端(FastAPI + LitServe)
│ ├── api_server.py # API 服务器
│ ├── litserve_worker.py # GPU Worker Pool
│ ├── mcp_server.py # MCP 协议服务器
│ ├── auth/ # 认证授权(JWT、SSO)
│ ├── audio_engines/ # 音频引擎(SenseVoice)
│ ├── video_engines/ # 视频引擎(FFmpeg + OCR)
│ ├── format_engines/ # 格式引擎(FASTA、GenBank)
│ ├── remove_watermark/ # 水印去除(YOLO11x + LaMa)
│ └── requirements.txt
│
├── setup.sh # 一键部署脚本(交互式引导 + 非交互参数)
├── scripts/ # 辅助脚本(docker-entrypoint.sh、init-models.sh)
│
├── docker-compose.yml # Docker 编排配置
└── Makefile # 快捷命令
前置要求:Docker 20.10+、Docker Compose 2.0+、NVIDIA Container Toolkit(GPU 可选)
# 一键部署(交互式引导)
bash setup.sh
# 跳过提问直接部署(非交互,适合 CI/熟手)
bash setup.sh --mode pipeline --yes
# 预览将要执行的配置(不构建、不启动)
bash setup.sh --mode gpu --dry-run
Windows 用户请使用 Git Bash 或 WSL 运行
setup.sh。
setup.sh 支持六种部署模式:
| 模式 | 说明 |
|---|---|
gpu | GPU 标准部署(docker-compose.yml,默认) |
pipeline | 纯 pipeline 部署(只下载 PDF-Extract-Kit 模型,更轻量) |
cpu | Mac CPU 本地开发(docker-compose.cpu.yml + .env.cpu) |
native | 本机原生部署(不用 Docker,Apple Silicon 自动 MPS 加速,VLM 走 MLX) |
offline-build / offline-deploy | 离线部署:联网机构建离线包 / 生产机离线部署 |
交互过程会询问网络环境(国内镜像加速 / 海外官方源直连)、GPU 数量(自动检测)、Worker 并发数、模型源(HuggingFace/ModelScope)、Redis、RustFS 公网地址和端口,并自动完成 JWT 密钥生成、MINERU_VIRTUAL_VRAM_SIZE/WORKER_MEMORY_LIMIT 计算、目录创建和健康检查。
网络环境也可用参数指定:
--network cn(国内镜像加速,默认)或--network global(海外/代理,官方源直连)。该选择同时作用于 Docker 镜像构建(apt/pip/npm 源)与原生部署的 pip 安装。
常用命令:
make start # 启动服务
make stop # 停止服务
make logs # 查看日志
服务访问:
前置要求:Node.js 18+、Python 3.8+、CUDA(可选)
1. 安装依赖
cd backend
bash install.sh # Linux/macOS 自动安装
# 或 pip install -r requirements.txt
2. 启动后端
cd backend
python start_all.py # 启动所有服务
python start_all.py --enable-mcp # 启用 MCP 协议
3. 启动前端
cd frontend
npm install
npm run dev # http://localhost:3000
# 自定义启动
python backend/start_all.py \
--api-port 8000 \
--worker-port 9000 \
--accelerator cuda \
--devices 0,1 \
--workers-per-device 2 \
--enable-mcp --mcp-port 8002
MinerU Tianshu 支持 Model Context Protocol (MCP),让 AI 助手(Claude Desktop)直接调用文档解析服务。
1. 启动服务
cd backend
python start_all.py --enable-mcp # MCP Server 端口 8002(默认)
2. 配置 Claude Desktop
编辑配置文件(%APPDATA%\Claude\claude_desktop_config.json Windows / ~/Library/Application Support/Claude/claude_desktop_config.json macOS):
{
"mcpServers": {
"mineru-tianshu": {
"url": "http://localhost:8002/sse",
"transport": "sse"
}
}
}
注意:MCP Server 默认端口为 8002(本地和 Docker 部署均相同)
3. 使用
在 Claude 中直接说:帮我解析这个 PDF:C:/Users/user/doc.pdf
支持的工具:
parse_document: 解析文档(Base64 或 URL,最大 500MB)get_task_status: 查询任务状态list_tasks: 列出最近任务get_queue_stats: 获取队列统计Tianshu 支持完全离线部署,分为联网机构建、生产机部署两个阶段:
# 1. 在联网环境构建离线包(Linux/Mac 均可,产物在 docker-images/)
bash setup.sh --mode offline-build
# 2. 传输到生产服务器
rsync -avz docker-images/ user@prod-server:/opt/tianshu/
# 3. 在生产服务器部署
cd /opt/tianshu
bash setup.sh --mode offline-deploy
特点:
关键修复:
# 交互式引导部署(推荐)
bash setup.sh
# 或直接启动(需已配置 .env)
docker compose up -d
如需手动部署:
前端构建:cd frontend && npm run build(产物在 dist/)
Nginx 配置:
server {
listen 80;
root /path/to/frontend/dist;
location / { try_files $uri $uri/ /index.html; }
location /api/ { proxy_pass http://localhost:8000/api/; }
}
后端部署:cd backend && python start_all.py --api-port 8000 --worker-port 9000
# 构建与启动
docker compose build --parallel # 并行构建全部镜像
docker compose up -d # 后台启动全部服务
docker compose down # 停止并移除容器
# 状态与日志
docker compose ps # 查看服务状态
docker compose logs -f # 跟踪全部日志
docker compose logs -f backend # 跟踪单服务日志
# 进入容器与调试
docker compose exec backend bash # 进入后端容器
docker compose exec worker nvidia-smi # 检查容器内 GPU
docker stats # 查看容器资源占用
前端:Vue 3、TypeScript、Vite、TailwindCSS、Pinia、Vue Router
后端:FastAPI、LitServe、MinerU、SenseVoice、SQLite、Loguru
前端无法连接:curl http://localhost:8000/api/v1/health 检查后端,查看 vite.config.ts 代理配置
Worker 无法启动:nvidia-smi 检查 GPU,pip list | grep mineru 检查依赖
详见 frontend/README.md 和 backend/README.md
访问 http://localhost:8000/docs 查看完整 API 文档
主要端点:
POST /api/v1/tasks/submit - 提交任务GET /api/v1/tasks/{task_id} - 查询状态GET /api/v1/queue/stats - 队列统计欢迎提交 Issue 和 Pull Request!
本项目基于以下优秀的开源项目构建:
核心引擎
框架与工具
感谢所有开源贡献者!
本项目采用 Apache License 2.0 开源协议。
Copyright 2024 MinerU Tianshu Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
72 followers · starred Mar 2026
Python
56.1%
Vue
23.7%
TypeScript
10.7%
Shell
7.0%
Dockerfile
1.4%
天枢 - 企业级 AI 一站式数据预处理平台 | PDF/Office转Markdown | 支持MCP协议AI助手集成 | Vue3+FastAPI全栈方案 | 文档解析 | 多模态信息提取
See the code企业级 AI 数据预处理平台
支持文档、图片、音频等多模态数据处理 | GPU 加速 | MCP 协议
结合 Vue 3 前端 + FastAPI 后端 + LitServe GPU负载均衡
English | 简体中文
如果这个项目对你有帮助,请点击右上角 ⭐ Star 支持一下,这是对开发者最大的鼓励!
webhook_urlsetup.sh 入口(GPU/纯 pipeline/CPU/原生/离线),新增 pipeline-only 编排与离线部署方案.env)mineru[all]>=3.4.5,同步 mineru-vl-utils>=1.0.5,<2、pypdf>=5.6.0MinerU2.5-2509-1.2B → MinerU2.5-Pro-2605-1.2B(模型下载脚本、mineru.json、vLLM 服务同步)do_parse API、vlm/hybrid 后端名(旧别名 *-auto-engine 仍受支持)、pipeline 模型目录结构(PP-DocLayoutV2 等)均保持不变--accelerator mps),VLM 后端自动走 MLX;音视频辅助引擎在 mac 上回退 CPUtransformers==4.57.6、albumentations>=1.4.11magic-pdf.json(扁平)→ mineru.json(嵌套 models-dir 结构)unimernet_hf_small_2503、pp_formulanet_plus_m).docx 文件路由至 MinerU 3.0 原生解析器(office_docx_analyze),解析精度优于 MarkItDown.doc、.xls、.ppt 经 LibreOffice 自动转换为新格式后,再交由 MinerU 或 MarkItDown 处理,不再报错.env 新增)
PDF_SPLIT_ENABLED: 是否启用自动拆分(默认 true)PDF_SPLIT_THRESHOLD_PAGES: 拆分阈值页数(默认 500)PDF_SPLIT_CHUNK_SIZE: 每个子任务处理页数(默认 500)WORKER_MEMORY_LIMIT: 容器硬内存限制(默认 16G)WORKER_MEMORY_RESERVATION: 内存软限制/预留(默认 8G)RUSTFS_PUBLIC_URL 环境变量(外部可访问地址).env.example 配置文件,移除冗余选项✅ Docker 容器化部署支持
setup.sh(或 make setup)即可完成全栈部署make reload 即生效;make smoke 一键验证解析链路docker-compose.yml、backend/Dockerfile、frontend/Dockerfile)✅ 企业级用户认证与授权系统
backend/auth/ 目录✅ 新增插件化格式引擎系统
✅ 生物信息学格式引擎
backend/format_engines/README.md⚠️ 实验性功能:某些特殊水印可能效果不佳,建议先小范围测试。
📖 详细说明:水印去除优化指南
backend/video_engines/README.mdbackend/audio_engines/README.md🎯 支持内容结构化 JSON 格式输出
🎉 新增 PaddleOCR-VL 多语言 OCR 引擎
MinerU Tianshu(天枢)是一个企业级 AI 数据预处理平台,将非结构化数据转换为 AI 可用的结构化格式:
实时监控队列统计和最近任务
支持批量处理和高级配置
重置超时任务、清理旧文件
mineru-server/
├── frontend/ # Vue 3 前端(TypeScript + TailwindCSS)
│ ├── src/ # 源码(api、components、views、stores、router)
│ └── vite.config.ts
│
├── backend/ # Python 后端(FastAPI + LitServe)
│ ├── api_server.py # API 服务器
│ ├── litserve_worker.py # GPU Worker Pool
│ ├── mcp_server.py # MCP 协议服务器
│ ├── auth/ # 认证授权(JWT、SSO)
│ ├── audio_engines/ # 音频引擎(SenseVoice)
│ ├── video_engines/ # 视频引擎(FFmpeg + OCR)
│ ├── format_engines/ # 格式引擎(FASTA、GenBank)
│ ├── remove_watermark/ # 水印去除(YOLO11x + LaMa)
│ └── requirements.txt
│
├── setup.sh # 一键部署脚本(交互式引导 + 非交互参数)
├── scripts/ # 辅助脚本(docker-entrypoint.sh、init-models.sh)
│
├── docker-compose.yml # Docker 编排配置
└── Makefile # 快捷命令
前置要求:Docker 20.10+、Docker Compose 2.0+、NVIDIA Container Toolkit(GPU 可选)
# 一键部署(交互式引导)
bash setup.sh
# 跳过提问直接部署(非交互,适合 CI/熟手)
bash setup.sh --mode pipeline --yes
# 预览将要执行的配置(不构建、不启动)
bash setup.sh --mode gpu --dry-run
Windows 用户请使用 Git Bash 或 WSL 运行
setup.sh。
setup.sh 支持六种部署模式:
| 模式 | 说明 |
|---|---|
gpu | GPU 标准部署(docker-compose.yml,默认) |
pipeline | 纯 pipeline 部署(只下载 PDF-Extract-Kit 模型,更轻量) |
cpu | Mac CPU 本地开发(docker-compose.cpu.yml + .env.cpu) |
native | 本机原生部署(不用 Docker,Apple Silicon 自动 MPS 加速,VLM 走 MLX) |
offline-build / offline-deploy | 离线部署:联网机构建离线包 / 生产机离线部署 |
交互过程会询问网络环境(国内镜像加速 / 海外官方源直连)、GPU 数量(自动检测)、Worker 并发数、模型源(HuggingFace/ModelScope)、Redis、RustFS 公网地址和端口,并自动完成 JWT 密钥生成、MINERU_VIRTUAL_VRAM_SIZE/WORKER_MEMORY_LIMIT 计算、目录创建和健康检查。
网络环境也可用参数指定:
--network cn(国内镜像加速,默认)或--network global(海外/代理,官方源直连)。该选择同时作用于 Docker 镜像构建(apt/pip/npm 源)与原生部署的 pip 安装。
常用命令:
make start # 启动服务
make stop # 停止服务
make logs # 查看日志
服务访问:
前置要求:Node.js 18+、Python 3.8+、CUDA(可选)
1. 安装依赖
cd backend
bash install.sh # Linux/macOS 自动安装
# 或 pip install -r requirements.txt
2. 启动后端
cd backend
python start_all.py # 启动所有服务
python start_all.py --enable-mcp # 启用 MCP 协议
3. 启动前端
cd frontend
npm install
npm run dev # http://localhost:3000
# 自定义启动
python backend/start_all.py \
--api-port 8000 \
--worker-port 9000 \
--accelerator cuda \
--devices 0,1 \
--workers-per-device 2 \
--enable-mcp --mcp-port 8002
MinerU Tianshu 支持 Model Context Protocol (MCP),让 AI 助手(Claude Desktop)直接调用文档解析服务。
1. 启动服务
cd backend
python start_all.py --enable-mcp # MCP Server 端口 8002(默认)
2. 配置 Claude Desktop
编辑配置文件(%APPDATA%\Claude\claude_desktop_config.json Windows / ~/Library/Application Support/Claude/claude_desktop_config.json macOS):
{
"mcpServers": {
"mineru-tianshu": {
"url": "http://localhost:8002/sse",
"transport": "sse"
}
}
}
注意:MCP Server 默认端口为 8002(本地和 Docker 部署均相同)
3. 使用
在 Claude 中直接说:帮我解析这个 PDF:C:/Users/user/doc.pdf
支持的工具:
parse_document: 解析文档(Base64 或 URL,最大 500MB)get_task_status: 查询任务状态list_tasks: 列出最近任务get_queue_stats: 获取队列统计Tianshu 支持完全离线部署,分为联网机构建、生产机部署两个阶段:
# 1. 在联网环境构建离线包(Linux/Mac 均可,产物在 docker-images/)
bash setup.sh --mode offline-build
# 2. 传输到生产服务器
rsync -avz docker-images/ user@prod-server:/opt/tianshu/
# 3. 在生产服务器部署
cd /opt/tianshu
bash setup.sh --mode offline-deploy
特点:
关键修复:
# 交互式引导部署(推荐)
bash setup.sh
# 或直接启动(需已配置 .env)
docker compose up -d
如需手动部署:
前端构建:cd frontend && npm run build(产物在 dist/)
Nginx 配置:
server {
listen 80;
root /path/to/frontend/dist;
location / { try_files $uri $uri/ /index.html; }
location /api/ { proxy_pass http://localhost:8000/api/; }
}
后端部署:cd backend && python start_all.py --api-port 8000 --worker-port 9000
# 构建与启动
docker compose build --parallel # 并行构建全部镜像
docker compose up -d # 后台启动全部服务
docker compose down # 停止并移除容器
# 状态与日志
docker compose ps # 查看服务状态
docker compose logs -f # 跟踪全部日志
docker compose logs -f backend # 跟踪单服务日志
# 进入容器与调试
docker compose exec backend bash # 进入后端容器
docker compose exec worker nvidia-smi # 检查容器内 GPU
docker stats # 查看容器资源占用
前端:Vue 3、TypeScript、Vite、TailwindCSS、Pinia、Vue Router
后端:FastAPI、LitServe、MinerU、SenseVoice、SQLite、Loguru
前端无法连接:curl http://localhost:8000/api/v1/health 检查后端,查看 vite.config.ts 代理配置
Worker 无法启动:nvidia-smi 检查 GPU,pip list | grep mineru 检查依赖
详见 frontend/README.md 和 backend/README.md
访问 http://localhost:8000/docs 查看完整 API 文档
主要端点:
POST /api/v1/tasks/submit - 提交任务GET /api/v1/tasks/{task_id} - 查询状态GET /api/v1/queue/stats - 队列统计欢迎提交 Issue 和 Pull Request!
本项目基于以下优秀的开源项目构建:
核心引擎
框架与工具
感谢所有开源贡献者!
本项目采用 Apache License 2.0 开源协议。
Copyright 2024 MinerU Tianshu Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
72 followers · starred Mar 2026
Python
56.1%
Vue
23.7%
TypeScript
10.7%
Shell
7.0%
Dockerfile
1.4%