English | 中文
一个基于 AI 技术的智能电子书解析工具,支持将 EPUB 和 PDF 格式的电子书转换为结构化的思维导图和文字总结。
- EPUB 文件:完整支持 EPUB 格式电子书的解析和处理
- PDF 文件:智能解析 PDF 文档,支持基于目录和智能检测的章节提取
- 多种 AI 服务:支持 Google Gemini 和 OpenAI GPT 模型
- 三种处理模式:
- 📝 文字总结模式:生成章节总结、分析章节关联、输出全书总结
- 🧠 章节思维导图模式:为每个章节生成独立的思维导图
- 🌐 整书思维导图模式:将整本书内容整合为一个完整的思维导图
- 智能章节检测:自动识别和提取书籍章节结构
- 章节筛选:支持跳过前言、目录、致谢等非核心内容
- 灵活选择:用户可自由选择需要处理的章节
- 子章节支持:可配置子章节提取深度
- 智能缓存:自动缓存 AI 处理结果,避免重复计算
- 缓存管理:支持按模式清除缓存,节省存储空间
- 离线查看:已处理的内容可离线查看
- 响应式设计:适配各种屏幕尺寸
- 实时进度:处理过程可视化,实时显示当前步骤
- 交互式思维导图:支持缩放、拖拽、节点展开/折叠
- 内容预览:支持查看原始章节内容
- Node.js 18+
- pnpm(推荐)或 npm
# 克隆项目
git clone https://github.com/SSShooter/ebook-to-mindmap
cd ebook-to-mindmap
# 安装依赖
pnpm install
# 或
npm installpnpm dev
# 或
npm run dev访问 http://localhost:5173 开始使用。
首次使用需要配置 AI 服务:
- 点击「配置」按钮
- 选择 AI 服务提供商:
- Google Gemini(推荐):需要 Gemini API Key
- OpenAI GPT:需要 OpenAI API Key 和 API 地址
- 输入相应的 API Key
- 选择模型(可选,使用默认模型即可)
Google Gemini API Key:
- 访问 Google AI Studio
- 登录 Google 账号
- 创建新的 API Key
- 复制 API Key 到配置中
OpenAI API Key:
- 访问 OpenAI Platform
- 登录并进入 API Keys 页面
- 创建新的 API Key
- 复制 API Key 到配置中
这里还有一些免费方案可供参考。
- 点击「选择 EPUB 或 PDF 文件」按钮
- 选择要处理的电子书文件
- 支持的格式:
.epub、.pdf
在配置对话框中设置处理参数:
- 文字总结模式:适合需要文字总结的场景
- 章节思维导图模式:为每个章节生成独立思维导图
- 整书思维导图模式:生成整本书的统一思维导图
- 小说类:适用于小说、故事类书籍
- 非小说类:适用于教材、工具书、技术书籍等
- 智能章节检测:启用后会使用 AI 智能识别章节边界
- 跳过无关章节:自动跳过前言、目录、致谢等内容
- 子章节深度:设置提取子章节的层级深度(0-3)
- 点击「提取章节」按钮
- 系统会自动解析文件并提取章节结构
- 提取完成后会显示章节列表
- 可以选择需要处理的章节(默认全选)
- 确认选择的章节
- 点击「开始处理」按钮
- 系统会显示处理进度和当前步骤
- 处理完成后会显示结果
根据选择的处理模式,可以查看不同类型的结果:
- 章节总结:每个章节的详细总结
- 章节关联:分析章节之间的逻辑关系
- 全书总结:整本书的核心内容总结
- 交互式思维导图:可缩放、拖拽的思维导图
- 节点详情:点击节点查看详细内容
- 导出功能:支持导出为图片或其他格式
- 前端框架:React 19 + TypeScript
- 构建工具:Vite
- 样式方案:Tailwind CSS + shadcn/ui
- 状态管理:Zustand
- 文件解析:
- EPUB:@smoores/epub + epubjs
- PDF:pdfjs-dist
- 思维导图:mind-elixir
- AI 服务:
- Google Gemini:@google/generative-ai
- OpenAI:自定义实现
系统会自动缓存 AI 处理结果,提高效率:
- 自动缓存:处理结果会自动保存到本地
- 智能复用:相同内容不会重复处理
- 缓存清理:可按模式清除特定类型的缓存
- 存储优化:缓存数据经过压缩,节省存储空间
- 章节选择:支持批量选择/取消选择章节
- 并发处理:多个章节可并行处理(受 API 限制)
- 断点续传:处理中断后可从上次位置继续
- 思维导图导出:支持导出为 PNG、SVG 等格式
- 文字总结导出:支持导出为 Markdown、TXT 格式
- 数据备份:支持导出处理结果数据
本项目采用 MIT 许可证。详见 LICENSE 文件。
感谢以下开源项目:
如有问题或建议,欢迎提交 Issue 或联系开发者。