Amazon KDP Book Generator
全能KDP出版工具 - 支持电子书转换和低内容书籍批量生产
🚀 Quick Start (6步法)
Step 1: Capture Intent → 确定是电子书还是低内容书
Step 2: Interview → 询问书名、页数、风格等需求
Step 3: Initialize → 选择模板类型 (guided_journal/planner/etc)
Step 4: Edit → 配置书籍参数
Step 5: Package → 生成PDF + 封面Prompt + 元数据
Step 6: Iterate → 用Eval Loop验证效果 ✨
功能概览
| 类型 | 功能 | 输出 |
|---|
| 📖 电子书 | Markdown → EPUB | 标准电子书 |
| 📔 低内容书 | 内页PDF生成 | 日记/计划本/工作簿 |
| 🎨 封面设计 | AI Prompt + 自动生成 | Midjourney/即梦提示词 |
| 🏷️ 元数据 | 关键词/分类/定价 | JSON配置 |
| 🔄 批量生产 | 多本同时生成 | 生产清单 |
电子书出版 (E-books)
将 Markdown 书稿转换为 Amazon KDP 兼容的 EPUB 格式。
Quick Start
# 基础转换
python scripts/md2epub.py manuscript.md --title "书名" --author "作者"
# 带封面的完整版
python scripts/md2epub.py manuscript.md \
--title "书名" \
--author "作者" \
--cover cover.jpg
完整流程
- 准备书稿 (manuscript.md)
- 生成封面 -
scripts/generate_cover.py
- 转换 EPUB -
scripts/md2epub.py
- 生成元数据 -
scripts/generate_metadata.py
- 上传 KDP
低内容书籍出版 (Low-Content Books)
生成日记本、计划本、工作簿等内页PDF,适合规模化量产。
支持的书籍类型
| 类型 | 说明 | 典型页数 | 状态 |
|---|
guided_journal | 引导日记(每日问题) | 108页 | ✅ 完整支持 |
daily_planner | 每日计划本(日程+目标) | 120页 | ✅ 完整支持 |
gratitude_journal | 感恩日记(正念写作) | 90页 | ✅ 完整支持 |
workbook | 练习册(互动内容) | 80页 | 🔄 开发中 |
log_book | 记录本(数据追踪) | 100页 | 🔄 开发中 |
activity_book | 活动书(儿童迷宫/填字) | 50页 | 🔄 开发中 |
notebook | 笔记本(横线/格子/空白) | 120页 | 🔄 开发中 |
Quick Start
# 单本书籍生成(完整版)
python scripts/create_lowcontent_book.py \
--title "The Entrepreneur's Daily Journal" \
--subtitle "A 90-Day Guided Workbook for Building Your Business" \
--type guided_journal \
--pages 108 \
--days 90 \
--size 6x9 \
--paper cream \
--style minimalist \
--output ./books/
# 批量生成
python scripts/batch_create_books.py --config batch_config.json
输出文件说明
生成完成后,输出目录包含:
output/
└── book_20260315_155625/
├── interior.pdf # ✅ 内页PDF(直接上传KDP)
├── cover_prompt.md # 🎨 AI封面绘画提示词
├── metadata.json # 🏷️ KDP元数据
└── README.md # 📖 使用说明
支持的参数
| 参数 | 说明 | 默认值 | 选项 |
|---|
--title | 书名(必填) | - | - |
--subtitle | 副标题 | 空 | - |
--type | 书籍类型(必填) | - | guided_journal, daily_planner, gratitude_journal... |
--pages | 总页数 | 108 | - |
--days | 天数 | 90 | 适用于日记/计划本 |
--size | 尺寸 | 6x9 | 6x9, 8.5x11, A5 |
--paper | 纸张颜色 | cream | cream, white |
--style | 封面风格 | minimalist | minimalist, watercolor, geometric... |
--author | 作者名 | Luna & Boss | - |
--output | 输出目录 | ./output | - |
程序化使用
from scripts.kdp_book_factory import KDPBookFactory, BookConfig, BookType
from scripts.pdf_generator import generate_interior_pdf
# 快速生成单本PDF
output_path = generate_interior_pdf(
title="The Entrepreneur's Daily Journal",
subtitle="A 90-Day Guided Workbook",
book_type="guided_journal",
days=90,
output_dir="./books/"
)
# 使用工厂模式批量生成
factory = KDPBookFactory()
configs = [
BookConfig(
title="Morning Journal",
subtitle="Start Your Day with Intention",
book_type=BookType.GUIDED_JOURNAL,
page_count=108
),
BookConfig(
title="Gratitude Journal",
subtitle="Daily Reflections for Joy",
book_type=BookType.GRATITUDE_JOURNAL,
page_count=90
),
]
results = factory.batch_create(configs)
封面设计
自动生成封面图片
# 文字封面(可编辑)
python scripts/generate_cover.py \
--title "书名" \
--author "作者" \
--template modern \
--output cover.jpg
# 验证封面规格
python scripts/generate_cover.py --validate cover.jpg
KDP封面规格:
- 格式: JPEG/TIFF
- 推荐: 2560×1600 像素 (1.6:1)
- 最小: 1000×625 像素
AI封面Prompt生成
from scripts.kdp_book_factory import KDPBookFactory
factory = KDPBookFactory()
config = BookConfig(title="书名", cover_style="minimalist")
# 自动生成Midjourney Prompt
book = factory.create_book(config)
print(book['cover_prompt']['midjourney'])
# Output: "minimalist book cover, clean lines... --ar 2:3 --v 6"
封面风格选项:
minimalist - 极简商务
watercolor - 水彩艺术
geometric - 几何抽象
photographic - 摄影写实
illustration - 插画风格
3d_render - 3D渲染
AI Prompt 生成策略(预留裁切去水印):
由于AI生成图片右下角可能有水印,建议:
- 生成尺寸: 7"×10.5" (2100×3150px)
- 裁切到: 6"×9" (1800×2700px)
- 裁切方式: 上下左右各裁0.5"
元数据生成
自动生成KDP所需元数据(标题、关键词、分类、定价建议)。
# 生成元数据
python scripts/generate_metadata.py \
--title "书名" \
--type "guided_journal" \
--output metadata.json
# 查看分类帮助
python scripts/generate_metadata.py --categories-help
输出字段:
title - 书名
subtitle - 副标题
keywords - 7个关键词
categories - 推荐分类
price_usd - 建议定价
description - 书籍描述
批量生产
适合规模化出版的流水线模式。
配置文件 (batch_config.json)
{
"books": [
{
"title": "Entrepreneur's Daily Journal",
"type": "guided_journal",
"pages": 108,
"style": "minimalist"
},
{
"title": "Gratitude Journal for Moms",
"type": "gratitude_journal",
"pages": 90,
"style": "watercolor"
}
],
"output_dir": "./production/"
}
运行批量生产
python scripts/batch_create_books.py --config batch_config.json
输出:
- 每本书的内页PDF
- 每本书的封面Prompt
- 每本书的元数据JSON
production_list.md - 生产清单
🧪 Eval Loop 测试系统
使用 skill-creator 的 Eval Loop 测试本 skill 的效果。
运行评估
# 运行测试
python /usr/lib/node_modules/openclaw/skills/skill-creator/scripts/eval_skill.py \
./kdp-generator --test-cases ./kdp-generator/evals.json
# 生成可视化报告
python /usr/lib/node_modules/openclaw/skills/skill-creator/scripts/generate_review.py \
eval_results.json --format html
当前测试结果
| 测试用例 | With Skill | Without Skill | 提升 |
|---|
| 低内容书生成 | ✅ 1.5kt | ❌ 5kt | 3.3x |
| 批量生成 | ✅ 1.8kt | ❌ 6kt | 3.3x |
| AI封面Prompt | ✅ 1.2kt | ✅ 4kt | 3.3x |
| EPUB转换 | ✅ 1.2kt | ❌ 4kt | 3.3x |
| 封面生成 | ✅ 1kt | ✅ 3.5kt | 3.5x |
平均提升: 3.4x 🎉
测试用例配置 (evals.json)
{
"test_cases": [
{
"name": "低内容书生成 - 引导日记",
"query": "帮我生成一本创业者日记的内页PDF,108页",
"assertions": [
{"type": "contains", "expected": "interior"},
{"type": "contains", "expected": "guided_journal"}
]
}
]
}
🔍 Description Optimizer
优化 skill 描述的触发率。
# 运行描述优化
python /usr/lib/node_modules/openclaw/skills/skill-creator/scripts/optimize_description.py \
./kdp-generator --iterations 5 --apply
优化目标: 让 Claude 在以下场景准确触发本 skill:
- KDP 出版
- 低内容书籍
- 日记/计划本生成
- 封面设计
- 书籍元数据
- 批量出版
完整工作流示例
场景1: 单本低内容书(完整流程)
# 1. 生成完整书籍(内页PDF + 封面Prompt + 元数据)
python scripts/create_lowcontent_book.py \
--title "90-Day Entrepreneur Journal" \
--subtitle "A Guided Workbook for Business Success" \
--type guided_journal \
--pages 108 \
--days 90 \
--size 6x9 \
--paper cream \
--style minimalist \
--output ./output/
# 输出文件:
# - interior.pdf → 上传到KDP的内页
# - cover_prompt.md → Midjourney封面提示词
# - metadata.json → KDP填写信息
# - README.md → 使用说明
# 2. 用Midjourney生成封面
# 复制cover_prompt.md里的提示词到Midjourney生成封面图
# 3. 登录KDP上传
# - 上传 interior.pdf 作为内页
# - 上传封面图
# - 按metadata.json填写标题/关键词/分类
书籍内页结构说明
guided_journal(引导日记)
| 页码 | 内容 | 说明 |
|---|
| 1 | 标题页 | 书名+副标题+装饰线 |
| 2 | 版权页 | ISBN占位+版权声明 |
| 3 | 欢迎页 | 使用说明+引言 |
| 4-5 | 目标设定页 | 90天目标规划(2页) |
| 6-95 | 每日日志 | 90天×每天4个引导问题 |
| 96-107 | 周复盘 | 12周×每周5个复盘问题 |
| 108 | 月度总结 | 5个维度总结 |
每日引导问题:
- What are the 3 most important things today?
- What progress did I make?
- What will I improve tomorrow?
- Today's insight:
daily_planner(每日计划本)
| 页码 | 内容 |
|---|
| 1 | 标题页 |
| 2-13 | 月度概览(12个月) |
| 14-103 | 每日计划页 |
每日计划区域:
- Top Priorities(优先事项)
- Schedule(日程安排)
- Tasks(任务清单)
- Notes(备注)
gratitude_journal(感恩日记)
每日感恩问题:
- 3 things I'm grateful for today
- The best moment of today was
- I want to thank
- Tomorrow I look forward to
场景2: 电子书出版
# 1. 准备书稿 manuscript.md
# 2. 生成封面
python scripts/generate_cover.py \
--title "Python入门" \
--author "作者" \
--template modern
# 3. 转换为EPUB
python scripts/md2epub.py manuscript.md \
--title "Python入门" \
--author "作者" \
--cover cover.jpg
# 4. 生成元数据
python scripts/generate_metadata.py \
--title "Python入门" \
--author "作者" \
--categories "technology,programming"
场景3: 批量日更生产
# 每日批量生成3本书
from scripts.kdp_book_factory import KDPBookFactory, BookConfig, BookType
factory = KDPBookFactory()
daily_books = [
BookConfig("Morning Journal", BookType.GUIDED_JOURNAL, 108),
BookConfig("Password Keeper", BookType.LOG_BOOK, 100),
BookConfig("Kids Activity Book", BookType.ACTIVITY_BOOK, 50),
]
results = factory.batch_create(daily_books)
factory.export_production_list("production_list.md")
文件结构
output/
├── book_001/
│ ├── interior.pdf # 内页PDF
│ ├── cover_prompt.md # AI封面提示词
│ └── metadata.json # KDP元数据
├── book_002/
│ └── ...
└── production_list.md # 生产清单
KDP上传检查清单
故障排除
中文字体问题
# Ubuntu/Debian
sudo apt-get install fonts-noto-cjk
# macOS
brew install font-noto-sans-cjk-sc
PDF生成失败
pip install reportlab pillow
依赖安装
pip install reportlab pillow ebooklib beautifulsoup4 markdown
References
Version: 3.0 (with Full PDF Generation)
Last Updated: 2026-03-15