AI章节合并工具Skill ai-chapter-consolidate

AI章节合并工具是一款基于人工智能的文档处理技能,专门用于将多个分页HTML文件智能合并为单个连续的章节文档。该工具通过AI算法自动移除重复页眉页脚、规范化标题层次结构、保持语义一致性,并确保内容流畅无中断。适用于电子书制作、文档数字化、内容管理系统等场景,显著提升多页文档的阅读体验和可维护性。关键词:AI文档合并、HTML章节整合、智能内容处理、语义结构优化、连续文档生成、Claude AI应用、文档数字化工具、电子书制作、内容管理系统、自动化文档处理。

AI应用 0 次安装 0 次浏览 更新于 3/1/2026

name: ai-chapter-consolidate description: 使用AI将单个页面HTML文件合并为统一的章节文档。创建连续文档格式,以改善阅读体验和语义一致性。

AI章节合并技能

目的

本技能使用AI智能合并单个页面HTML文件为单个连续的章节文档。不仅仅是简单的拼接,AI会:

  • 移除连续页面中的重复页眉/页脚
  • 确保跨页面标题层次结构一致
  • 在整个文档中保持语义结构
  • 保留所有内容,无丢失或重复
  • 创建流畅的内容流(无分页符)

结果是统一的章节文档,采用连续格式(单个page-container,单个page-content)。

操作步骤

  1. 收集章节的所有页面HTML文件

    • 收集章节中所有页面的04_page_XX.html文件
    • 验证所有文件存在且有效
    • 按页码升序排序
  2. 从每个页面提取内容

    • 加载每个HTML文件
    • <main class="page-content">中提取主要内容
    • 保留语义类和结构
  3. 为AI合并准备输入

    • 第1页:包含章节标题的完整内容
    • 第2+页:提取内容部分,移除章节标题/导航
    • 保留所有文本和结构
    • 注意任何特殊部分(图表、表格等)
  4. 调用AI合并

    • 将所有页面内容发送给Claude
    • 请求合并为单个连续文档
    • 指定结构要求
    • 请求标题层次结构规范化
  5. 处理AI输出

    • 从响应中提取合并后的HTML
    • 验证结构完整性
    • 确保所有页面都有体现
    • 检查标题层次结构
  6. 保存合并后的文档

    • 保存到:output/chapter_XX/chapter_artifacts/chapter_XX.html
    • 创建元数据/日志文件
    • 计算统计信息

输入文件

每页HTML文件(由前一关卡验证):

  • output/chapter_XX/page_artifacts/page_16/04_page_16.html(章节开头)
  • output/chapter_XX/page_artifacts/page_17/04_page_17.html(续页)
  • output/chapter_XX/page_artifacts/page_18/04_page_18.html(续页)
  • …(章节中所有页面)

章节元数据(来自分析):

  • 页面范围(章节的第一页和最后一页)
  • 章节编号
  • 章节标题
  • 预期页面数量

AI合并提示

发送给Claude的提示:

您正在将单个页面HTML文档合并为单个连续的章节。

输入页面:

第1页(开头 - 包含章节标题):
[第1页的HTML内容]

第2页(续页):
[第2页的HTML内容]

第3页(续页):
[第3页的HTML内容]

...(所有页面)

任务:
将这些页面合并为一个HTML文档,使其作为一个连续的章节阅读。

要求:

1. 结构:
   - 创建单个<div class="page-container">包装所有内容
   - 创建单个<main class="page-content">用于所有内容
   - 移除分页指示器或注释
   - 创建真正的连续文档(无分页元素)

2. 章节标题:
   - 保留第1页的章节标题(章节编号、标题)
   - 移除续页中的章节标题/标题
   - 如果第1页存在,保留章节导航
   - 移除其他页面中的重复导航

3. 内容保留:
   - 包含所有页面的所有文本内容
   - 保留确切措辞(不进行释义)
   - 维护所有列表、段落、表格
   - 包含所有语义类
   - 保留所有HTML结构

4. 标题层次结构:
   - 在合并页面中规范化标题级别
   - 第1页h1 = 章节标题(保持为h1)
   - 每个页面的第一部分 = h2(主要部分)
   - 子部分 = h3或h4(根据需要)
   - 确保无层次跳跃(h1 → h3 无h2)
   - 逻辑编号连续标题

5. 内容流:
   - 移除页面特定的页眉/页脚
   - 无缝合并,使内容自然流动
   - 无人工中断或过渡
   - 段落逻辑延续
   - 列表保持连贯性

6. 图表和图像:
   - 保留所有表格和图形
   - 保留图表标题和说明
   - 包含所有图像及正确路径
   - 保留目录(如果存在)

7. CSS类:
   - 保留所有语义类(section-heading、paragraph等)
   - 保持一致的类使用
   - 确保类匹配章节开头页面样式
   - 不添加或移除类

8. 元数据:
   - 包含标题标签:"Chapter N: Title - Pages X-Y"
   - 保留meta charset和viewport
   - 链接样式表:<link rel="stylesheet" href="../../styles/main.css">

输出:

仅返回单个有效的HTML5文档:

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chapter [N]: [Title] - Pages [X-Y]</title>
    <link rel="stylesheet" href="../../styles/main.css">
</head>
<body>
    <div class="page-container">
        <main class="page-content">
            <!-- 所有页面内容,无缝合并 -->
        </main>
    </div>
</body>
</html>

验证:

  • 单个HTML5文档
  • 所有页面都有体现
  • 无分页符或过渡
  • 正确的标题层次结构
  • 所有文本保留

## 页面内容提取逻辑

发送给AI前,策略性提取内容:

### 第1页(开头):
- **包含**:整个页面HTML内容
- **原因**:包含章节标题、导航、第一部分
- **保留**:所有元素(标题、导航、分隔线、内容)

### 第2-N页(续页):
- **提取**:仅章节标题之后的内容
- **跳过**:章节编号、章节标题、章节导航
- **保留**:章节标题、段落、列表、图表
- **包含**:所有语义内容部分

### 提取示例:
```html
<!-- 第1页:保留所有内容 -->
<div class="chapter-header">
    <span class="chapter-number">2</span>
    <h1 class="chapter-title">Rights in Real Estate</h1>
</div>
<nav class="section-navigation">...</nav>
<h2 class="section-heading">REAL PROPERTY RIGHTS</h2>
<p class="paragraph">...</p>

<!-- 第2页:跳过标题,保留内容 -->
<!-- <div class="chapter-header">...</div> 已跳过 -->
<!-- <nav class="section-navigation">...</nav> 已跳过 -->
<h4 class="subsection-heading">Physical characteristics.</h4>
<p class="paragraph">...</p>
<ul class="bullet-list">...</ul>

<!-- 第3页:继续相同模式 -->
<h4 class="subsection-heading">Interdependence.</h4>
<p class="paragraph">...</p>

输出文件

合并后的章节HTML

路径output/chapter_XX/chapter_artifacts/chapter_XX.html

结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chapter 2: Rights in Real Estate - Pages 16-29</title>
    <link rel="stylesheet" href="../../styles/main.css">
</head>
<body>
    <div class="page-container">
        <main class="page-content">
            <!-- 章节标题(来自第1页) -->
            <div class="chapter-header">...</div>
            <nav class="section-navigation">...</nav>
            <hr class="section-divider">

            <!-- 第1页内容 -->
            <h2 class="section-heading">REAL PROPERTY RIGHTS</h2>
            <p class="paragraph">...</p>

            <!-- 第2页内容(无缝合并) -->
            <h4 class="subsection-heading">Physical characteristics.</h4>
            <p class="paragraph">...</p>
            <ul class="bullet-list">...</ul>

            <!-- 第3页内容(继续流) -->
            <h4 class="subsection-heading">Interdependence.</h4>
            <p class="paragraph">...</p>

            <!-- ... 更多剩余页面内容 ... -->

            <!-- 最后一页内容 -->
            <h2 class="section-heading">REGULATIONS AND LICENSING</h2>
            <p class="paragraph">...</p>
        </main>
    </div>
</body>
</html>

合并日志

路径output/chapter_XX/chapter_artifacts/consolidation_log.json

{
  "chapter": 2,
  "title": "Rights in Real Estate",
  "book_pages": "16-29",
  "pdf_indices": "15-28",
  "consolidated_at": "2025-11-08T14:35:00Z",
  "pages_merged": 14,
  "pages_included": [
    {
      "page": 16,
      "book_page": 17,
      "status": "opening_chapter",
      "content_type": "header_navigation_content"
    },
    {
      "page": 17,
      "book_page": 18,
      "status": "continuation",
      "content_type": "subsections_paragraphs"
    },
    {
      "page": 18,
      "book_page": 19,
      "status": "continuation",
      "content_type": "subsections_paragraphs_list"
    }
    // ... 所有页面
  ],
  "content_statistics": {
    "total_headings": {
      "h1": 1,
      "h2": 4,
      "h3": 0,
      "h4": 12
    },
    "total_paragraphs": 156,
    "total_lists": 12,
    "total_list_items": 42,
    "total_tables": 3,
    "total_images": 5,
    "total_words": 12547
  },
  "ai_model": "claude-3-5-sonnet-20241022",
  "consolidation_notes": "成功将14个页面合并为连续格式"
}

实现

通过Python包装器执行合并:

cd Calypso/tools

# 运行合并
python3 consolidate_chapter.py \
  --chapter 2 \
  --pages 15-28 \
  --output "../output" \
  --mapping "../analysis/page_mapping.json"

# 或直接通过Claude API调用:
# 编排器发送包含所有页面内容的AI提示

质量检查

传递到下一关卡前:

  1. 文件已创建

    • [ ] chapter_XX.html存在
    • [ ] 文件是有效的HTML(可解析)
    • [ ] 文件大小合理(通常> 50KB)
  2. 结构已验证

    • [ ] 单个<div class="page-container">
    • [ ] 单个<main class="page-content">
    • [ ] 所有标签正确关闭
    • [ ] 无重复内容
  3. 内容完整性

    • [ ] 所有页面都有体现
    • [ ] 无缺失部分
    • [ ] 段落/标题数量合理
    • [ ] 所有文本内容存在
  4. 标题层次结构

    • [ ] 以h1开头(章节标题)
    • [ ] h1计数 = 1
    • [ ] h2 = 主要部分
    • [ ] h3/h4 = 子部分
    • [ ] 无层次跳跃
  5. 元数据已记录

    • [ ] 记录合并时间戳
    • [ ] 记录合并页面数量
    • [ ] 计算内容统计信息
    • [ ] 保存日志文件

成功标准

✓ 所有页面合并为单个文档 ✓ 从第1页保留章节标题 ✓ 从续页中移除重复标题 ✓ 内容自然流动(连续格式) ✓ 标题层次结构正确 ✓ 所有文本内容保留 ✓ 语义类保持 ✓ 准备进行语义验证

错误处理

如果页面HTML不完整

  • 在合并日志中记录
  • 包含可用的任何内容
  • 继续验证(验证将捕获问题)

如果标题层次结构模糊

  • AI做出最佳判断
  • 语义验证关卡将根据需要细化
  • 在日志中记录决策

如果内容出现重复

  • AI自动去重
  • 验证字数是否合理
  • 记录任何异常内容模式

后续步骤

合并完成后:

  1. 质量关卡2(语义验证)检查语义结构
  2. 技能5(质量报告生成)生成最终报告
  3. 质量关卡3(视觉准确性检查)验证外观

设计说明

  • 本技能是AI驱动的(使用概率合并)
  • 依赖AI对文档结构的理解
  • 产生连续格式(无分页符)
  • 智能合并(不仅仅是拼接)
  • 输出将通过验证关卡细化

测试

测试第2章合并:

# 输入:14个单独的页面HTML文件(第16-29页)
# 处理:AI合并为单个连续章节
# 输出:chapter_02.html(单个统一文档)

# 验证:
# - 文件大小是所有页面的总和
# - 内容逻辑流动
# - 标题层次结构合理
# - 无重复部分