这篇内容能帮你生成什么
本文给出一条可直接复制给 AI 的“生成型提示词(Prompts)”。目标不是写教程,而是让 AI 一次性产出一个可运行、可构建、可部署的在线工具:电子书(EPUB/MOBI/FB2)批量互转 + 目录/元数据/资源完整性校验 + 报告导出。
适用场景
你需要在团队内部或个人工作流里快速搭一个网页工具:把电子书文件拖进去就能转换格式,并且在转换前后给出“目录是否断链、元数据是否缺失、图片/字体资源是否缺失、编码是否异常”等可读报告;同时提供任务队列、进度、取消、日志、下载,满足运维部署与后续排障。
交付物清单(AI 必须输出)
源码与文件树:前端 + 后端完整项目,可本地一键启动。
运行命令:开发模式与生产模式的启动命令(含环境变量示例)。
部署说明:Dockerfile + docker-compose.yml,写清端口、挂载目录、资源限制与反向代理(可选)。
测试/QA:至少 20 条可执行测试用例或 QA checklist(覆盖异常输入、并发、取消、资源清理、安全边界)。
示例:提供示例输入与示例输出(报告 JSON/HTML 的样例结构即可)。
Prompt(复制给 AI 直接生成项目)
你是一名资深全栈工程师 + 构建/部署负责人。请从零生成一个“在线电子书批量转换与目录校验工作台”项目,要求可直接运行与部署。
【目标】
做一个 Web 在线工具:用户上传一个或多个电子书文件(EPUB/MOBI/FB2),选择目标格式(EPUB/MOBI/FB2)与输出选项,系统执行转换,并在转换前后对“目录(TOC)/元数据/资源完整性”进行校验,最终提供:转换后的文件下载 + 校验报告下载。
【硬性约束】
1) 必须输出完整项目源码与文件树(可用 monorepo 或前后端分离),能在 Windows/macOS/Linux 运行。
2) 必须给出一键启动命令:开发模式 + 生产模式。
3) 必须提供 Dockerfile 与 docker-compose.yml(包含反向代理可选项),写清端口与环境变量。
4) 必须提供测试用例或 QA checklist(至少 20 条),覆盖:异常文件、编码问题、超大文件、并发、取消任务、断点续传(可选)、安全限制。
5) 必须提供日志与错误码设计:用户可读 + 运维可查。
6) 转换引擎必须优先使用开源可靠方案(例如 calibre 的 ebook-convert 或等价工具链);如果使用外部二进制,请把“依赖安装/下载方式”写清楚,并给出替代方案。
7) 不能把文件上传到第三方云:转换与校验都在本服务完成;临时文件要有清理策略。
【功能细节】
A. 上传与任务
- 支持拖拽上传,支持多文件;单文件最大限制可配置(默认 100MB)。
- 创建任务后进入队列:显示进度、当前步骤(解析/校验/转换/再次校验/打包/完成)。
- 支持取消任务(已开始的转换也要尽可能终止)。
B. 校验与报告
- 解析输入电子书:
- EPUB:检查 container. 、OPF、manifest/spine、NCX 或 nav.xhtml;
- MOBI/FB2:提取/推断元数据与目录结构(能做多少做多少,并在报告里标注“可用度”)。
- 校验项(至少):
- 目录层级是否为空、是否有重复条目、是否有断链;
- 元数据(标题/作者/语言/出版日期)缺失与格式;
- 资源完整性:图片/字体引用是否存在;
- 字符编码与非法字符检测;
- 转换前后目录条目数量变化提示;
- 生成一个可下载的 JSON 报告 + 人类可读的 HTML 报告。
C. 安全与合规
- 上传类型白名单;禁止可执行文件;服务端做 MIME/魔数检测。
- 对解压类格式(EPUB)防 zip-slip;限制解压后总大小;限制文件数量。
- 速率限制与并发控制;任务隔离(不同用户 token)。
D. UI
- 首页:上传区 + 选项。
- 任务列表页:任务状态、日志、下载按钮。
- 报告详情页:可读的分段报告,支持导出。
【技术栈建议(可改,但要说明)】
- 后端:Node.js(Express/Fastify) 或 Python(FastAPI)。
- 前端:React/Vite 或 Vue。
- 任务队列:BullMQ/Redis 或内置队列(需要解释并发策略)。
- 文件存储:本地临时目录 + 清理;可选 S3 但默认关闭。
【输出格式】
1) 先给项目简介与架构图(ASCII)。
2) 再给完整文件树。
3) 然后逐文件输出源码(重要文件必须完整,次要文件可适度省略但要能跑起来)。
4) 给出本地运行步骤(含依赖安装)。
5) 给出 Docker 部署步骤。
6) 给出测试与 QA checklist。
7) 给出常见故障排查(至少 10 条)。
使用与验收建议
把 Prompt 交给 AI 后,先检查它是否给出了完整文件树、可执行命令与 Docker 部署步骤;然后用 2-3 个不同来源的电子书做冒烟测试:一份目录很复杂、一份含图片与自定义字体、一份存在元数据缺失。最后根据报告里的校验项逐条核对,确认“转换前后目录变化提示、断链提示、资源缺失提示、错误码与日志”都能复现与定位。
常见坑位(让 AI 在代码里提前规避)
重点让 AI 处理:解压 ZIP 的 zip-slip 风险与总大小限制;超大文件的上传限制与流式处理;任务取消的可靠终止;临时目录清理策略;以及转换引擎依赖(如 calibre)在不同系统上的安装与替代方案。