Skip to content

3rd-Musketeer/mineru-vis-vue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 ChatPDF Vue Component Demo

一个基于Vue 3的PDF文档智能阅读组件演示项目。支持PDF查看、Markdown渲染、悬停联动和AI智能问答功能,专为MineRU处理结果设计。

✨ 项目特性

  • 🎯 自包含组件 - ChatPDF组件完全独立,可直接复制到任何Vue 3项目
  • 📄 PDF + Markdown - 双栏布局,PDF与Markdown内容实时联动
  • 🤖 AI智能问答 - 基于选中内容的上下文AI对话
  • 🔄 MineRU集成 - 直接使用MineRU的layout.json,自动转换数据格式
  • 流式输出 - AI回答实时生成,提升交互体验
  • 🎨 现代UI - 基于Tailwind CSS的美观界面

🚀 快速开始

1. 安装依赖

# 使用 bun (推荐)
bun install

# 或使用 npm
npm install

# 或使用 pnpm
pnpm install

2. 启动开发服务器

bun dev

3. 使用ChatPDF组件

ChatPDF 目录复制到你的项目中:

🚀 使用 Bun (推荐) - 零配置体验

# 无需安装依赖,直接使用!
bun dev  # bun会自动检测并安装所有需要的依赖

使用其他包管理器

# 安装ChatPDF所需依赖 (在项目根目录执行)
npm install vue @tato30/vue-pdf markdown-it markdown-it-katex katex openai

# 安装 Tailwind CSS 4 (必需,用于组件样式)
npm install tailwindcss @tailwindcss/vite

⚠️ 重要: ChatPDF组件依赖 Tailwind CSS 4 进行样式渲染,请务必按照下面的 Tailwind CSS 4 配置 部分进行配置。

使用组件:

<script setup>
import ChatPDF from '@/components/ChatPDF/index.vue'

// 提供 MineRU 处理结果的具体文件路径
const layoutUrl = '/path/to/layout.json' // MineRU生成的布局文件
const pdfUrl = '/path/to/document.pdf' // 原始PDF文件
</script>

<template>
  <div class="h-screen">
    <ChatPDF :layout-url="layoutUrl" :pdf-url="pdfUrl" />
  </div>
</template>

📁 项目结构

mineru-vis-vue/
├── ChatPDF/                 # 🎯 核心组件 (可直接复制使用)
│   ├── index.vue           # 主入口组件
│   ├── components/         # 子组件
│   ├── composables/        # 组合式函数
│   ├── utils/              # 工具函数 (包含MineRU转换器)
│   ├── types/              # 类型定义
│   └── README.md           # 详细使用文档
├── src/
│   ├── views/
│   │   └── HomeView.vue    # 演示页面
│   └── ...
├── public/
│   └── sample-pdf/         # 演示数据
│       ├── layout.json     # MineRU生成的布局文件
│       ├── images/         # 提取的图片
│       └── *.pdf           # PDF文件
└── ...

🛠️ 从 MineRU 开始

1. 使用 MineRU 处理PDF

详见 MineRU

2. 获取处理结果

MineRU 会生成:

  • layout.json - 布局和内容数据
  • images/ - 提取的图片
  • 原始PDF文件

3. 使用ChatPDF组件

<ChatPDF :layout-url="/path/to/layout.json" :pdf-url="/path/to/document.pdf" />

🤖 AI功能配置

创建 .env 文件配置AI服务:

VITE_AI_API_KEY=api-key
VITE_AI_BASE_URL=api-endpoint
VITE_AI_MODEL=model-name

📚 详细文档

🔧 开发设置

🎨 Tailwind CSS 4 配置

ChatPDF组件使用 Tailwind CSS 4 进行样式设计。如果您的项目尚未配置 Tailwind CSS,请按以下步骤设置:

安装 Tailwind CSS 4

npm install tailwindcss @tailwindcss/vite

配置 Vite 插件

在您的 vite.config.ts 中添加 Tailwind CSS 插件:

import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'

export default defineConfig({
  plugins: [
    tailwindcss(),
    // ... 其他插件
  ],
})

导入 Tailwind CSS

在您的主 CSS 文件中添加导入:

@import 'tailwindcss';

📖 详细配置指南: 请参考 Tailwind CSS 官方文档 获取完整的安装和配置说明。

开发命令

# 开发服务器 (热重载)
bun dev

# 类型检查 + 构建 + 压缩
bun run build

# 单元测试
bun test:unit

# 代码检查
bun lint

# 类型检查 (不输出文件)
bun run type-check

🎯 使用场景

  • 学术论文阅读 - PDF + AI问答,提升阅读效率
  • 技术文档分析 - 结构化内容展示,快速定位信息
  • 研究资料整理 - 基于内容的智能对话和摘要
  • 教育培训 - 交互式文档阅读体验

📄 许可证

MIT License - 详见 LICENSE 文件


💡 提示: ChatPDF组件完全自包含,可以轻松集成到任何Vue 3项目中。只需复制 ChatPDF 目录并提供MineRU生成的文件路径即可开始使用。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages