Skip to content

tangchunwu/ai-reader-pro

Repository files navigation

AI Reader Pro

AI Reader Pro 是一个现代化的电子书阅读器,支持 PDF 和 EPUB 格式,集成了 AI 辅助功能,提供智能总结、思维导图生成等功能。

特性

  • 📚 支持 PDF 和 EPUB 格式
  • 🤖 AI 智能总结和分析
  • 🗺️ 自动生成思维导图
  • 📝 笔记和书签管理
  • 📊 阅读统计和进度追踪
  • 🔍 全文搜索
  • 🎨 自定义阅读主题
  • 💾 笔记导出和导入

快速开始

环境要求

  • Node.js 16+
  • npm 7+
  • OpenAI API Key (用于AI功能)

安装

# 克隆项目
git clone https://github.com/yourusername/ai-reader-pro.git

# 进入项目目录
cd ai-reader-pro

# 安装依赖
npm install

# 创建环境变量文件
cp .env.example .env

# 配置环境变量
# 编辑 .env 文件,添加你的 OpenAI API Key

开发

# 启动开发服务器
npm run dev

# 运行测试
npm test

# 构建生产版本
npm run build

主要功能

文件支持

  • PDF文件读取和渲染
  • EPUB文件解析和显示
  • 大文件分块加载
  • 文件格式自动检测

AI功能

  • 章节内容智能总结
  • 全书要点提取
  • 思维导图自动生成
  • 关键概念分析

阅读功能

  • 页面缩放和适配
  • 主题切换
  • 目录导航
  • 全文搜索
  • 文本选择和笔记
  • 书签管理
  • 阅读进度同步
  • 阅读时间统计

数据管理

  • 笔记导出(JSON/CSV/PDF)
  • 书签导入导出
  • 阅读设置持久化
  • 离线缓存支持

快捷键

快捷键 功能
/ Space 下一页
上一页
Ctrl + F 搜索
Ctrl + B 添加书签
Ctrl + T 切换主题
Ctrl + + 放大
Ctrl + - 缩小

技术栈

  • React 18 + TypeScript
  • Tailwind CSS
  • PDF.js
  • EPUB.js
  • OpenAI API

项目结构

project/
├── src/
│   ├── components/      # React组件
│   ├── contexts/        # React上下文
│   ├── hooks/          # 自定义Hooks
│   ├── services/       # API服务
│   ├── utils/          # 工具函数
│   └── types/          # TypeScript类型定义
├── public/             # 静态资源
├── server/             # 后端API
└── tests/              # 测试文件

API文档

核心接口

// 生成摘要
POST /api/summarize
{
  type: 'chapter' | 'pages' | 'book';
  bookId: string;
  chapters?: string[];
  startPage?: number;
  endPage?: number;
}

// 生成思维导图
POST /api/mind-map
{
  text: string;
}

// 文本提取
POST /api/extract-text
FormData(file, pages?)

开发指南

代码规范

  • 使用ESLint和Prettier
  • 遵循TypeScript严格模式
  • 组件使用函数式和Hooks
  • 统一错误处理
  • 性能优化最佳实践

提交规范

feat: 添加新功能
fix: 修复bug
docs: 更新文档
style: 代码格式调整
refactor: 代码重构
test: 添加测试
chore: 构建过程或辅助工具的变动

部署

Docker部署

# 构建镜像
docker build -t ai-reader-pro .

# 运行容器
docker run -p 3000:3000 ai-reader-pro

传统部署

# 构建项目
npm run build

# 启动服务
npm run start

贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'feat: Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

许可证

MIT License

联系方式




About

AI Reader Pro - 现代化电子书阅读器

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors