Skip to content

Proposal: AI EPUB 精排工作台 #459

@codedogQBY

Description

@codedogQBY

背景

ReadAny 已经具备阅读器、AI 对话、笔记、导出、书库管理和多端基础能力。下一步可以考虑把「精排 EPUB」从单点转换功能升级为一套可组合的书籍编辑/出版工具链。

这里的关键判断是:精排 EPUB 不是一个按钮,而是一种能力链:

解析 EPUB -> 建立可编辑草稿工程 -> 内容/样式/目录/元数据/封面编辑 -> 预览校验 -> 导出新 EPUB

如果这套能力被抽成稳定工具,AI 和用户手动编辑都可以复用同一套底层操作。

市场参考

现在市场上有很多电子书工具,但形态比较分散:

  • Sigil:强大的 EPUB 手工编辑器,适合懂 XHTML/CSS/OPF 的技术用户。
  • Calibre:综合电子书管理和格式转换工具,也能编辑 EPUB,但更像工具箱。
  • Vellum / Atticus / Jutoh:偏作者出版排版,从稿件生成 EPUB/PDF,适合 self-publishing。
  • InDesign:专业出版排版,能力强但重。
  • Pandoc / ebook-convert / EPUBCheck:适合命令行自动化和校验,普通用户门槛较高。
  • Kindle Create:平台绑定,面向 Kindle 生态。

ReadAny 的差异化机会是:阅读器内闭环 + AI 自动执行 + 用户可视化确认 + 可导出版本管理。

产品方向

建议做一个「AI EPUB 精排工作台」。它既是用户手动编辑入口,也是 AI 自动修改后的确认/预览/导出界面。

典型用户路径:

读到排版问题 -> Reader AI 修当前章/修全书 -> 打开 EPUB 工作台预览 -> 用户确认/撤销/微调 -> 导出精排版 EPUB

或:

书库里选择一本书 -> 精排与编辑 -> 手动改目录/样式/元数据/封面 -> 导出新版本

AI 能力边界

Reader AI 不应只限制在当前章节。它应该是「带当前阅读上下文的 AI 入口」,但底层权限可以和 Chat AI 一样。

两个 AI 入口的区别:

Chat AI:全局入口,适合批量任务、全书任务、书库任务
Reader AI:阅读现场入口,默认知道当前书、当前章、当前位置、选区、笔记

Reader AI 和 Chat AI 都应该能调用 EPUB 编辑工具,包括:

  • 修当前选区 / 当前段落 / 当前章节
  • 修全书排版
  • 重建目录
  • 统一 CSS / 中文排版风格
  • 修复章节标题层级
  • 补全或建议元数据:标题、作者、语言、简介、标签等
  • 生成封面建议,后续可接入封面生成草稿
  • 生成全书结构见解、主题见解、人物/术语表
  • 校验 EPUB 草稿
  • 导出新 EPUB

重点:AI 应该能自动修改,而不只是给建议。

安全设计

AI 不应直接覆盖原始 EPUB。建议采用 draft/project 模型:

  • 原书永远保留。
  • AI 和用户都修改 EPUB draft。
  • 每次修改记录为 operation,支持撤销、重做、预览 diff。
  • 全书级修改前自动创建 checkpoint。
  • 导出时生成新文件,例如:书名 - 精排版.epub
  • 删除章节、合并章节、重写大段正文等高风险操作需要确认。

建议抽象

可以把精排能力抽成一组确定性的工具,AI 只通过工具修改草稿工程,而不是直接乱写压缩包。

示例工具:

createEpubDraft(bookId)
analyzeEpub(draftId)
inspectBookStructure(draftId)
listChapters(draftId)
readChapter(draftId, chapterId)
editChapterHtml(draftId, chapterId, patch)
replaceStylesheet(draftId, stylesheetId, css)
applyTypographyProfile(draftId, profileId)
rebuildToc(draftId)
setMetadata(draftId, metadata)
setCover(draftId, assetId)
validateEpubDraft(draftId)
exportEpub(draftId)

内部模型可以类似:

EPUB Project / Draft
- manifest
- spine
- toc/nav
- metadata
- assets
- chapters as XHTML DOM
- stylesheets as CSS AST or structured rules
- operations history
- checkpoints

用户入口建议

用户自己的入口应围绕「某一本书」,不建议 MVP 阶段直接做顶层 Tab。

建议入口:

  1. 书库中每本书的更多菜单:精排与编辑
  2. 阅读器工具栏/更多菜单:编辑此书进入 EPUB 工作台
  3. 书籍详情页:显示 精排状态:未处理 / 有草稿 / 已导出,并提供 继续编辑

AI 入口:

  • Reader AI:当前书上下文下直接「修当前章」「修全书」「生成封面/元数据建议」。
  • Chat AI:全局或书库上下文下批量精排、统一风格、导出。

最终都落到同一个 EPUB 工作台。

MVP 拆分

建议分阶段做:

  1. EPUB draft/project 基础:打开 EPUB、解析结构、保留原文件、创建草稿。
  2. 工作台只读预览:章节树、manifest、metadata、toc、资源列表。
  3. 基础可编辑:元数据、目录、封面、CSS 模板。
  4. 中文排版模板:段首缩进、段间距、标题样式、注释/图片基础规则。
  5. 本章编辑:章节 XHTML/可视化预览,支持撤销。
  6. AI 工具接入:Reader AI / Chat AI 可调用工具修改本章或全书 draft。
  7. 校验与导出:生成新 EPUB,跑基础合法性检查,保留导出记录。

可能的技术落点

  • @readany/core:EPUB project/draft 数据模型、操作记录、解析和导出逻辑。
  • packages/app:桌面 EPUB 工作台 UI、文件系统读写、大文件处理、预览。
  • foliate-js:继续用于阅读/预览能力。
  • AI tools:把 EPUB 编辑能力暴露给现有 AI tool/agent 层。

移动端可以先支持查看精排草稿和轻量编辑,批量全书精排与导出优先放桌面端。

验收方向

  • 用户可以从书库进入某本书的 EPUB 工作台。
  • 用户可以从 Reader AI 发起「修当前章」和「修全书」。
  • AI 修改的是 draft,不覆盖原 EPUB。
  • 用户可以预览 AI 修改结果、撤销、继续手动微调。
  • 用户可以导出新的 EPUB 文件。
  • 导出的 EPUB 可以被 ReadAny 重新导入并正常阅读。

总结

这个方向可以把 ReadAny 从「AI 阅读器」扩展到「AI 阅读 + AI 书籍精修/出版工具」。核心壁垒不是单纯编辑 EPUB,而是把阅读现场、AI 自动修改、人工确认、导出版本管理做成闭环。

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:aiAI, model configuration, vectorization, citations, promptsarea:importImport, download, file handling, format supportarea:libraryLibrary, book management, groups, tags, metadataarea:readerReader, pagination, scrolling, layout, TOCenhancementNew feature or requestpriority:p2Medium: useful fix or enhancement, scoped impact, should be planned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions