今日开源[第17期]public-domain-books-translation
SaberOnGo/public-domain-books-translation 项目分析
分析日期:2026-06-15
项目地址:https://github.com/SaberOnGo/public-domain-books-translation
一、项目介绍
1.1 项目概述
LifeBook 书坊(public-domain-books-translation) 是一个多语言公版书翻译与 EPUB 制作流程项目。它不是简单的"AI 一键翻译"仓库,而是一个完整的、可追溯的翻译出版流水线,保留了来源证据、版权核查、翻译草稿、审校记录、EPUB 校验、分层随机抽检和版本化发布等全部环节。
1.2 项目地址与官网
| 项目 | 链接 |
|---|---|
| GitHub 仓库 | https://github.com/SaberOnGo/public-domain-books-translation |
| 创建时间 | 2026-05-10 |
| 最新提交 | 2026-06-14 |
| 许可证 | MIT(代码)+ CC BY-NC-SA 4.0(内容) |
1.3 项目状态
- 当前版本:LifeBook Launcher v1.3.12(2026-05-30)
- Stars:215
- Forks:21
- Open Issues:1
- 总提交数:104 commits
- 发布版本:6 个 releases
- 默认分支:main
1.4 多语言 README
项目提供 4 种语言的 README:
README.md(英文)README.zh-CN.md(简体中文)readme/README.zh-TW.md(繁体中文)readme/README.ja.md(日本语)
1.5 项目示意图
该项目是纯文本/代码仓库,没有提供 GUI 界面截图。其"可视化"主要体现在:
- EPUB 输出成品(封面、排版效果)
- LifeBook Launcher 桌面应用(基于 Tauri 的跨平台启动器)
- 流程图和文档结构
二、项目亮点
2.1 核心亮点
| 亮点 | 说明 |
|---|---|
| AI + 人工协作翻译流程 | 不是简单调用 AI 翻译,而是建立完整的翻译、审校、质检流水线 |
| 分层随机抽检机制 | 第一版 EPUB 后强制执行统计学抽样检验,覆盖段落、表格、图片、公式、注释 |
| 问题族追杀机制 | 抽检发现的问题必须归纳为"问题族",全书审计同类问题,修复后新 seed 复抽 |
| 版本化发布管理 | EPUB 按软件发布方式管理(vX.X.X),含 release notes、state JSON |
| 多语言方向模板 | 支持英语、日语、古希腊语、法语、德语等多种语言到简体中文/其他语言 |
| 私人自用模式 | 支持非公版书的本地个人学习翻译,与公开项目完全隔离 |
| LifeBook Digest | EPUB 后处理模块,为长篇书籍生成章节拓扑与知识脉络图 |
| 专家级译文质量 Skill | 内置专家级翻译质量执行流程和多义词回看机制 |
2.2 主要功能模块
-
书籍工程创建
books/scripts/create_book_project.py自动创建带编号的书籍项目
-
翻译流水线
- 从原文获取、分章、术语表、试译到批量翻译的完整流程
-
质量门禁系统
- 每章译后全量检查
- 结构性译文覆盖检查
- EPUB 校验(EPUBCheck)
- 分层随机抽检
-
EPUB 制作
- 封面设计、书籍信息页、XHTML 转换、OPF manifest 管理
-
版本发布
output/release/带版本号 EPUB + release notes
-
LifeBook Launcher
- Windows 桌面启动器,自动管理项目和客户端
-
翻译工作量评估
- 预翻译难度评估 + 实际统计
三、项目运行环境与运行条件
3.1 编程语言占比
- Python: 43.4%
- Rust: 31.2%
- TypeScript: 17.8%
- JavaScript: 4.6%
- CSS: 3.0%
3.2 核心技术栈
| 层级 | 技术 |
|---|---|
| 后端/脚本 | Python 3(翻译流水线、质检脚本、随机抽检) |
| 桌面启动器 | Rust + Tauri v2(LifeBook Launcher) |
| 前端(Launcher UI) | React 19 + Vite 8 + TypeScript 6 |
| 构建工具 | Node.js + npm(EPUB 构建、校验、lint) |
| EPUB 校验 | EPUBCheck(Java,通过 epubchecker npm 包调用) |
| 版本控制 | Git(含自定义 commit message 校验脚本) |
3.3 关键依赖
books/package.json(共享工具):
{
"dependencies": {
"epubchecker": "^5.2.1"
},
"scripts": {
"check:local-paths": "...",
"new:book": "...",
"check:gitignore-policy": "...",
"setup:tools": "...",
"check:tools": "..."
}
}
LifeBook Launcher(tools/lifebook-launcher/source/package.json):
@tauri-apps/api: ^2.11.0@tauri-apps/plugin-autostart: ^2.5.1react: ^19.2.6lucide-react: ^1.16.0vite: ^8.0.14typescript: ^6.0.3
Launcher Rust 依赖(Cargo.toml):
tauri: 2.11.2tokio: 1.x(异步运行时)reqwest: 0.12(HTTP 客户端)serde: 1.x(序列化)chrono: 0.4(日期时间)
3.4 运行环境要求
- 操作系统: Windows(Launcher 主要支持),Linux/macOS(部分脚本兼容)
- Python: 3.x
- Node.js: 支持 npm 的现代版本
- Java: EPUBCheck 需要 Java 运行时
- Git: 用于项目管理和 commit 校验
- AI 客户端: OpenCode Desktop、Codex App、Claude Code、aider、Antigravity 等(可选)
3.5 安装方式
# 克隆仓库
git clone https://github.com/SaberOnGo/public-domain-books-translation.git
# 安装共享工具依赖
cd books
npm install
# 安装 LifeBook Launcher 依赖
cd ../tools/lifebook-launcher/source
npm install
# 运行 Launcher(开发模式)
npm run tauri dev
四、项目代码介绍
4.1 代码架构图
仓库根目录结构
public-domain-books-translation/
├── AGENTS.md # AI Agent 强制规则
├── README.md / README.zh-CN.md # 多语言 README
├── opencode.jsonc # OpenCode 客户端适配配置
├── .opencode/ # OpenCode agent 和命令定义
├── .gitignore
│
├── books/ # 书籍工程目录 + 共享 Node.js 工具
│ ├── package.json # 共享依赖(epubchecker 等)
│ ├── scripts/
│ │ ├── create_book_project.py # 创建书籍工程核心脚本
│ │ ├── run_python.js # Node 调用 Python 的桥接脚本
│ │ ├── check_gitignore_policy.py
│ │ └── setup_local_tools.py
│ ├── zh-Hans/ # 简体中文成书目录
│ ├── private/ # 私人自用项目(Git 忽略)
│ └── node_modules/ # 共享依赖(Git 忽略)
│
├── template/epub_pipeline/ # EPUB 制作权威模板
│ ├── README.md # 模板总说明
│ ├── common/ # 通用 EPUB 流程
│ │ ├── README.md
│ │ ├── scripts/ # 共享脚本
│ │ │ ├── check_no_local_absolute_paths.py
│ │ │ ├── select_random_review_passages.py
│ │ │ ├── evaluate_translation_difficulty.py
│ │ │ └── update_translation_metrics.py
│ │ ├── references/ # 政策文档
│ │ │ ├── quality_gate_framework.md
│ │ │ ├── stratified_random_spotcheck.md
│ │ │ ├── release_versioning.md
│ │ │ ├── cover_design_policy.md
│ │ │ ├── book_info_frontmatter_policy.md
│ │ │ ├── epub_assets_figures_tables.md
│ │ │ └── translation_effort_metrics.md
│ │ ├── prompts/ # 翻译流程 prompt(00-19)
│ │ └── assets/ # 默认 EPUB 资源
│ │
│ ├── English-to-Simplified-Chinese/ # 英译中模板
│ ├── Japanese-to-Simplified-Chinese/# 日译中模板
│ ├── Ancient-Greek-to-Simplified-Chinese/
│ ├── targets/zh-Hans/ # 简体中文目标语言质量规则
│ ├── profiles/classical-science-zh-Hans/ # 特殊书籍类型覆盖
│ └── modes/private_use/ # 私人自用模式覆盖
│
├── digest/ # LifeBook Digest 后处理模块
│ ├── lifebook_digest/ # Python 模块
│ ├── prompts/ # Digest 生成 prompt
│ ├── references/ # Digest 工作流规则
│ ├── schemas/ # 配置 schema
│ ├── qa/ # Digest 审校清单
│ └── examples/ # 配置示例
│
├── doc/
│ ├── public/ # 公开用户文档
│ │ ├── how-to-use-prompts.zh-CN.md
│ │ └── user_prompt/ # 4 个启动 prompt 模板
│ └── project/ # 项目工程文档
│ └── ai-clients/ # AI 客户端接入说明
│
├── skills/ # 可复用 Skill 文件
│ ├── public-domain-epub-pipeline/SKILL.md
│ ├── expert-translation-quality/SKILL.md
│ ├── translation-quality-defect-families/SKILL.md
│ └── print-compatible-book-layout/SKILL.md
│
├── research/ # 语言方向调研产物
│ └── English-to-Simplified-Chinese/book-discovery/
│
├── tools/
│ └── lifebook-launcher/ # LifeBook Launcher
│ ├── LifeBook Launcher Setup.exe # Windows 安装包
│ └── source/ # 开发源码(Tauri + React)
│ ├── src-tauri/Cargo.toml # Rust 后端
│ ├── src/ # React 前端
│ └── package.json
│
├── tests/ # 测试
├── license/ # 多语言许可证
│ ├── LICENSE.en.md # MIT(代码)+ CC BY-NC-SA 4.0(内容)
│ ├── CONTRIBUTING.en.md
│ ├── COMMERCIAL_LICENSE.en.md
│ └── DIGEST_LICENSE.en.md
│
└── readme/ # 多语言 README 和 Digest 说明
├── README.zh-TW.md
├── README.ja.md
└── digest/
书籍工程内部结构(创建后)
books/zh-Hans/1_示例书名_作者名/
├── chapters/
│ ├── src/ # 原文 Markdown
│ ├── translated/ # 译文草稿
│ └── final/ # 终稿
├── frontmatter/ # 封面、书籍信息页
├── metadata/ # book.yaml、private_use_declaration.md
├── assets/ # 图片、SVG、CSS
├── qa/ # 质量控制记录
│ ├── chapter_controls/
│ ├── pretranslation/
│ ├── fidelity/
│ ├── readability/
│ └── gates/
├── reviews/
│ └── random_spotcheck/round_XXX/
├── preproduction/ # 制作规格
├── state/ # pipeline_state.json
├── output/
│ ├── book.epub # 当前构建产物
│ ├── release/ # 版本化发布产物
│ └── private_artifacts/ # 私人产物
└── package.json # 本书脚本(继承共享依赖)
4.2 核心模块介绍
4.2.1 books/scripts/create_book_project.py — 书籍工程创建
- 自动创建带编号的书籍项目
- 复制模板层(common + language-pair + target + profile)
- 生成初始目录结构和配置文件
4.2.2 template/epub_pipeline/common/scripts/ — 共享脚本
| 脚本 | 功能 |
|---|---|
check_no_local_absolute_paths.py |
本地绝对路径泄漏检查(可移植性门禁) |
select_random_review_passages.py |
分层随机抽检采样器 |
evaluate_translation_difficulty.py |
翻译难度预评估 |
update_translation_metrics.py |
翻译工作量统计更新 |
4.2.3 template/epub_pipeline/common/references/ — 政策文档
| 文档 | 说明 |
|---|---|
quality_gate_framework.md |
质量门禁框架 |
stratified_random_spotcheck.md |
分层随机抽检规则 |
release_versioning.md |
版本发布管理 |
cover_design_policy.md |
封面设计政策 |
book_info_frontmatter_policy.md |
书籍信息页政策 |
epub_assets_figures_tables.md |
EPUB 资源、图表、表格规范 |
translation_effort_metrics.md |
翻译工作量指标 |
4.2.4 template/epub_pipeline/common/prompts/ — 翻译流程 Prompt
- 00-19 编号的标准化 prompt 文件
- 覆盖从原文获取到版本发布的完整流程
4.2.5 tools/lifebook-launcher/ — LifeBook Launcher
- Rust 后端: Tauri 框架,处理文件系统操作、项目管理和 AI 客户端通信
- React 前端: 用户界面,项目列表、启动配置、状态显示
- 功能: 自动管理项目、一键启动 AI 客户端、版本检查
4.2.6 digest/ — LifeBook Digest 后处理模块
- 为长篇书籍生成章节拓扑与知识脉络图
- 包含 Python 模块、prompt、规则、schema、审校清单
4.3 核心代码解析
4.3.1 分层随机抽检机制
# select_random_review_passages.py 核心逻辑
# 1. 按层次分层:段落、表格、图片、公式、注释
# 2. 每层按统计学方法随机抽样
# 3. 2 个独立 Agent 各评 120 个样本
# 4. 发现问题归纳为"问题族"
# 5. 全书审计同类问题
# 6. 修复后使用新 seed 复抽
4.3.2 问题族追杀机制
抽检发现问题
↓
归纳为"问题族"(如:人名翻译不一致)
↓
全书审计同类问题
↓
批量修复
↓
使用新 seed 重新抽样
↓
验证修复效果
4.3.3 模板层架构
common/ # 通用流程(所有语言对共享)
↓
English-to-Simplified-Chinese/ # 语言对特定模板
↓
targets/zh-Hans/ # 目标语言质量规则
↓
profiles/classical-science-zh-Hans/ # 书籍类型覆盖
↓
modes/private_use/ # 私人自用模式覆盖
4.3.4 质量门禁流程
原文获取 → 分章 → 术语表 → 试译 → 批量翻译
↓
每章译后全量检查
↓
结构性译文覆盖检查
↓
EPUB 构建
↓
EPUBCheck 校验
↓
分层随机抽检(第一轮)
↓
问题族修复
↓
分层随机抽检(复抽)
↓
版本发布(vX.X.X)
4.3.5 核心代码文件清单
| 文件路径 | 功能 |
|---|---|
books/scripts/create_book_project.py |
创建书籍工程,自动分配编号,复制模板层 |
template/epub_pipeline/common/scripts/check_no_local_absolute_paths.py |
本地绝对路径泄漏检查(可移植性门禁) |
template/epub_pipeline/common/scripts/select_random_review_passages.py |
分层随机抽检采样器 |
template/epub_pipeline/common/scripts/evaluate_translation_difficulty.py |
翻译难度预评估 |
books/package.json |
共享 Node.js 工具依赖 |
tools/lifebook-launcher/source/src-tauri/Cargo.toml |
Launcher Rust 后端配置 |
AGENTS.md |
所有 AI Agent 的强制行为规则 |
opencode.jsonc |
OpenCode 客户端适配配置 |
五、项目的应用、优点和不足
5.1 应用场景
-
公版书翻译出版
- 将 Project Gutenberg 等公版书籍翻译成中文/其他语言,产出高质量 EPUB
-
学术/古典文献翻译
- 支持古希腊语、拉丁语等古典语言到现代语言的翻译
-
个人学习自用
- 非公版书的本地个人翻译(不传播、不商用)
-
多语言翻译研究
- 语言对模板可作为翻译方法论研究素材
-
AI 辅助出版实验
- 探索 AI Agent 在出版流程中的系统化应用
5.2 项目优点
| 优点 | 详细说明 |
|---|---|
| 质量管控极其严格 | 逐章零问题 PASS、分层随机抽检、问题族全书审计、双 Agent 独立评审,质量门槛远超普通 AI 翻译项目 |
| 流程标准化 | 从原文获取到版本发布的 20+ 个步骤全部模板化,可复制到任意语言对 |
| 可追溯性强 | 每本书保留完整的来源证据、QA 记录、审校历史、release notes |
| 多语言架构 | 支持任意源语言到任意目标语言,模板层(common + language-pair + target + profile)设计清晰 |
| 版权意识强 | 严格区分公版/授权/私人自用三种模式,私人项目完全隔离于 Git |
| 可扩展的 Skill 系统 | 翻译质量问题族、专家级译文质量等经验可跨书复用 |
| 配套桌面工具 | LifeBook Launcher 降低普通用户使用门槛 |
| 版本化管理 | EPUB 像软件一样版本迭代,支持持续改进 |
| 开源友好 | 代码 MIT 许可证,非代码内容 CC BY-NC-SA 4.0 |
5.3 项目不足与待改进
| 不足 | 详细说明 |
|---|---|
| 学习曲线陡峭 | 模板体系庞大(20+ prompt 文件、多份 policy 文档),新用户/AI Agent 需要大量阅读才能上手 |
| Token 成本高 | 分层随机抽检要求每轮 2 个 Agent 各评 120 个样本,多轮迭代消耗大量 AI 调用 |
| 当前语言对有限 | 虽有架构支持多语言,但实际模板主要集中在到简体中文的方向 |
| 缺乏可视化界面 | 除 Launcher 外,核心流程依赖命令行和 AI 客户端,对非技术用户不够友好 |
| 依赖外部 AI 服务 | 需要用户自行配置 DeepSeek/OpenAI/Claude 等 API Key |
| Java 运行时依赖 | EPUBCheck 需要 Java,Windows 用户可能遇到环境配置问题 |
| 私人模式无质量折扣 | 私人自用项目不降低质量要求,对个人轻量使用而言流程过重 |
| 社区规模小 | 215 stars、21 forks,处于早期阶段,社区贡献和模板积累尚有限 |
| 无在线演示/预览 | 无法快速体验成品效果,必须下载完整仓库并配置环境 |
5.4 社区与生态
- 活跃维护:最新提交于 2026-06-14,持续更新
- 多语言文档:README 支持 4 种语言
- 版本发布:已发布 6 个版本,最新为 LifeBook Launcher v1.3.12
- Skill 系统:4 个可复用 Skill 文件
- AI 客户端支持:OpenCode、Codex、Claude Code、aider、Antigravity 等
六、总结
LifeBook 书坊(public-domain-books-translation) 是一个高度工程化、质量导向的 AI 辅助公版书翻译出版系统。它不是"让 AI 随便翻译一下"的玩具项目,而是试图建立一套可复现、可审计、可持续迭代的数字出版流水线。其核心价值在于:
- 把 AI 翻译从"一次性输出"升级为"可验证的流程"
- 用统计学抽样和版本化管理保证出版质量
- 用模板架构支持多语言、多类型的翻译项目
对于希望系统性地利用 AI 进行高质量书籍翻译的个人或团队,这是一个非常有参考价值的基础设施项目。但对于只想快速翻译一两本书的 casual 用户,其复杂度和成本可能过高。

浙公网安备 33010602011771号