§0N 标题
English Title
概述
深度调研主题,生成100页以上书籍级PDF手册。采用模块化HTML片段结构、语义化版本管理、多Agent并行写作、Playwright渲染PDF。当用户需要完整PDF手册、电子书、橙皮书、参考指南时触发,即使仅说「做一本书」「做个PDF手册」「做个完整指南」「做一本XX的手册」亦触发。
Book-PDF:书籍级PDF手册全流程是一项面向实际任务的技能,主要用于从一个主题到100页+专业PDF;五个阶段:调研 → 规划 → 写作 → 构建 → 版本更新;
需要时读取;写HTML片段时;references/design。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
从一个主题到100页+专业PDF。五个阶段:调研 → 规划 → 写作 → 构建 → 版本更新。
npm install playwright && npx playwright install chromium| 需要时读取 | 文件 | 内容 |
|---|---|---|
| 写HTML片段时 | references/design-system.md | CSS变量、主题、组件HTML速查、视觉红线 |
| 新建项目时 | templates/ 目录 |
可直接复制的骨架文件(build.js/build-pdf.js/update.sh/styles.css) |
| 参考已有项目时 | 01-公众号写作/_过程文件/openclaw-guide/ |
首个实战项目(8 Part、35节、100页+) |
用 init 脚本一键创建项目骨架:
bash scripts/init-project.sh <项目目录> <手册标题> # 示例:bash scripts/init-project.sh ./my-guide "Python完全指南"
自动创建目录结构、复制模板文件、生成 version.json/CHANGELOG.md/PROJECT.md、检查依赖。
{项目名}/
├── PROJECT.md # 项目中枢(大纲+进度+数据速查)
├── styles.css # 共享CSS(从templates/复制)
├── build.js # HTML合并脚本(从templates/复制,改FRAGMENT_ORDER)
├── build-pdf.js # Playwright PDF渲染(从templates/复制)
├── update.sh # 一键版本更新(从templates/复制)
├── version.json # {"version":"1.0.0","build":1,"lastUpdate":"","title":""}
├── CHANGELOG.md # 更新日志
├── fragments/ # 内容片段(纯HTML,不含)
│ ├── 00-cover.html / 01-toc.html
│ ├── part{N}-{中文简称}.html
│ ├── appendix.html / 99-backpage.html
├── research/ # 调研资料
├── output/ # {title}-v{version}.html/.pdf
└── versions/ # 历史PDF存档
{项目目录}/research/YYYY-MM-{关键词}.md编辑项目目录下的 PROJECT.md,包含:
修改 build.js 中的 FRAGMENT_ORDER。与用户确认大纲后进入写作。
多Agent并行,每个agent输出一个HTML片段。
每个写作agent需要:
标签,只写正文内容)每个正文片段必须遵循以下结构,否则PDF排版会出错:
§0N 标题
English Title
概述
三条规则:
包裹 → 控制左右边距(没有它内容顶边)
id="partN" 属性 → 目录锚点跳转需要
page-break class → 每章从新页开始
目录片段使用 .toc + .toc-item + 结构。详见 design-system.md。
作者信息配置(可选)
封面和尾页支持自定义作者信息,在 version.json 中配置:
{
"title": "手册标题",
"author": {
"name": "作者名称",
"title": "作者头衔/简介",
"bio": "详细简介(显示在尾页)",
"subtitle": "副标题",
"exclusive": "专属内容说明(封面底部)",
"qrImage": "二维码图片路径",
"linkUrl": "链接地址",
"linkText": "链接文字",
"social": "社交链接(HTML格式)"
}
}
封面占位符:
{{AUTHOR_NAME}} - 作者名称
{{AUTHOR_TITLE}} - 作者头衔
{{AUTHOR_EXCLUSIVE}} - 专属内容说明
尾页占位符:
{{BOOK_TITLE}} - 手册标题
{{BOOK_SUBTITLE}} - 副标题
{{AUTHOR_NAME}} - 作者名称
{{AUTHOR_BIO}} - 作者简介
{{AUTHOR_QR_IMAGE}} - 二维码图片
{{AUTHOR_LINK_URL}} - 链接地址
{{AUTHOR_LINK_TEXT}} - 链接文字
{{AUTHOR_SOCIAL}} - 社交链接
{{VERSION}} - 版本号
{{YEAR}} - 年份
详细模板见 design-system.md 和 templates/fragments/
阶段4:构建
node build.js # 合并片段 → HTML
node build-pdf.js # Playwright → PDF
# 或一键:
./update.sh build # 仅构建
阶段5:版本更新
修改 fragments/*.html 后运行:
./update.sh patch "修正某个错误" # 1.0.0 → 1.0.1
./update.sh minor "更新内容" # 1.0.0 → 1.1.0
./update.sh major "新增章节" # 1.0.0 → 2.0.0
自动:更新version.json → 写CHANGELOG → build HTML(版本号注入封面)→ 生成PDF → 备份到versions/
快速启动清单
- 确定主题、读者、规模
-
bash scripts/init-project.sh <目录> <标题> 创建项目
- 修改 build.js 的
FRAGMENT_ORDER
- 编辑 PROJECT.md(大纲+调研索引+进度)
- 多Agent并行调研 → 并行写作 →
./update.sh minor "初版" 构建
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习