# Book Mind

> 将书籍内容处理为可导入 XMind/MindMaster/幕布/Notion 的「章→节→子节→核心要点」四层 Markdown 思维导图大纲；整本书可先建章节索引，再按章节号或主题检索定位、按需提取单章，避免全书扫描。当用户提供整本书或章节文本，要求生成思维导图、结构大纲、读书笔记、建索引或查找某主题在哪些章节时触发。

- Skill: `open-source-on-ai/book-mind` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add open-source-on-ai/book-mind`
- Raw SKILL.md: https://api.skillmd.com/api/skills/open-source-on-ai/book-mind/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: open-source-on-ai (https://skillmd.com/u/open-source-on-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/open-source-on-ai/book-mind

---


请按以下强制规范处理书籍内容，生成无冗余、可直接导入思维导图软件（XMind / MindMaster / 幕布 / Notion）的 mindmap 格式 Markdown 大纲。用户提供了思维导图样式时，以其层级与措辞为准；未提供时，以本规范为唯一样式基准，不得自行发挥。

## 零、工作模式总览

| 模式 | 触发条件 | 动作 | 输出物 |
| ---- | ---- | ---- | ---- |
| A 索引模式 | 输入整本书或多章内容，或用户指令「建索引」 | 解析全书结构，建立章节索引 | 章节索引表 |
| B 检索模式 | 用户指定章节号、提问或给主题 | 查索引定位目标章节，命中后进入直提模式 | 定位结果，或 mindmap 大纲 |
| C 直提模式 | 输入为单一章节原文，或检索已命中 | 按「章→节→子节→核心要点」四层提炼 | mindmap 大纲 |

- 三种模式输出物互不混装：索引模式不输出要点，检索模式定位完成前不输出大纲。
- 模式 B 命中后自动衔接模式 C，大纲输出遵守本规范全部格式与提炼规则。

## 一、输入材料规范

1. 输入获取优先级（按序执行）：
   a. 用户直接粘贴或上传的章节文本：直接使用，跳过提取步骤。
   b. 本地 PDF 文件：使用 pymupdf 提取文本；库缺失时先执行 pip install pymupdf 再提取；禁止手写 PDF 解析器。
   c. 提取失败或中文乱码：最多重试 2 次（含切换提取工具）；仍失败则立即停止技术攻关，提示用户直接粘贴章节文字。
2. 内容忠实原则：所有要点必须提炼自用户提供的原文，禁止凭模型自身知识补全、改编或拓展书籍内容。
3. 仅提供目录时：按目录搭建完整骨架，每个四级位置统一标注「- 待补充：需提供章节正文」，不得凭空生成要点。
4. 代码密集章节：不保留完整代码块，将代码压缩为关键 API 名称、命令或执行流程写入要点说明。
5. 缺失标识区分：「待补充」指用户未提供正文（输入侧缺失），「内容空缺」指原文本就无内容（原书侧缺失），二者不得混用。

## 二、索引构建规范

1. 触发时机：输入为整本书或多章内容且用户未指定单章时，先建索引并输出，随后等待用户指令。
2. 生成方式：优先从书籍目录页解析生成，必要时抽样正文校准位置；禁止为建索引而逐页解析全书。
3. 索引条目字段：编号（复刻原书编号）、标题（复刻原书标题）、关键词（2~4 个，供主题检索）、位置（PDF 物理页码；无法确定时用章节序号）。
4. 索引格式：Markdown 表格。索引为定位工具，其表格格式是本模式专属，不受大纲输出格式规范约束。
5. 覆盖要求：索引必须覆盖全部章节，无遗漏、无调序；标题与编号复刻规则与大纲输出一致。
6. 复用规则：索引生成后驻留当前会话；脚本模式下保存为「书名_index.md」，后续任务优先读取已有索引，禁止重复解析全书。
7. 职责边界：索引仅用于定位，不做内容提炼，不输出任何要点。

索引输出示例（节选）：

```markdown
【章节索引】单干：成为超级个体的49个关键动作

| 编号 | 标题 | 关键词 | PDF页码 |
| ---- | ---- | ---- | ---- |
| 00 | 认知篇 | 单干认知、财富自由、三大趋势 | 10 |
| 01 | 变现篇 | 极简变现法 | 23 |
| 1.1 | 认真琢磨挣钱不丢人 | 商业常识、琢磨挣钱 | 24 |
| 1.2 | 像经营公司一样经营自己 | 觉醒、五部门框架 | 27 |
| 1.3 | 一人公司 | 人效、小而美、信任 | 31 |
```

## 三、检索定位规范

1. 指令识别：
   - 「阅读第X章」「提取X.X」「对X.X做思维导图」：定位后进入直提模式，输出该章或节的大纲。
   - 「XX在哪」「哪些章节讲XX」及内容类提问：仅返回定位结果（编号 + 标题 + 位置），并列出相关章节，询问是否生成大纲；不擅自提取。
   - 「继续」「下一节」：按索引顺序处理下一节，直至用户停止。
2. 匹配规则：优先按编号精确匹配；无编号时按关键词与标题匹配索引条目。
3. 歧义处理：命中多个候选时，列出候选（编号 + 标题）请用户选择，禁止擅自猜测。
4. 无匹配：明确告知未找到，给出最接近的索引条目供参考，禁止编造章节。
5. 范围控制：单次提取不超过一章；整章超长时按节分批输出，每批结束暂停等待「继续」。
6. 全量禁令：任何模式下禁止将全书内容一次性提取并全量输出，必须经索引定位后按需处理。

## 四、输出格式规范（严格执行）

### 1. 层级定义与格式（必须与原书目录完全对应）

| 层级 | 格式 | 示例 |
| ---- | ---- | ---- |
| 章（一级） | ## 第X章 章标题 | ## 第03章 LangChain使用之Chains |
| 节（二级） | ### N 节标题 | ### 1 Chains的基本使用 |
| 子节（三级） | #### N.M 子节标题 | #### 1.1 Chain的基本概念 |
| 核心要点（四级） | - 要点名：精炼说明 | - 链：串联组件形成可复用AI工作流 |

### 2. 编号规则

- 章编号 X 跟随原书真实章节号：原书第03章即写「## 第03章」。
- 章号归一化：原书为中文数字（第三章）或英文（Chapter 3）时，统一转为两位阿拉伯数字（第03章），保持全文视觉统一。
- 节编号 N 在章内从 1 重新计数，与章号无关：### 1、### 2、### 3。
- 子节编号 N.M 跟随所属节号：#### 2.3 表示第 2 节下第 3 个子节。
- 篇级映射例外：原书顶层为「篇」时，篇映射为一级标题（# 第X篇 篇标题），章顺延为 ##，详见边界情况处理。

### 3. 核心要求（必须满足）

- 四级要点名禁止使用空泛元描述（如「关键词」「重要概念」「相关数据」「本章介绍」），须为实义术语或指代性标识；「案例：」「代码示例：」「环境依赖：」等含具体内容的标识允许使用。
- 不允许跳过层级，不允许添加 Emoji、加粗、引用块等额外 Markdown 语法，仅使用标题 + 无序列表。
- 必须完整覆盖全部目录节点：不遗漏、不合并、不调换顺序；禁止为凑数编造低质要点。
- 章节标题完全复刻原书标题文字，不得擅自缩写、删减或改写。
- 专业名词、函数名、类名、库名必须与原文一字不差（如 LCEL、create_sql_query_chain、numexpr）。
- 层级弹性：子节核心要点较复杂或较多时，可增设更深一级子目录（如 ##### N.M.K）分组展开要点，不必死板局限于「子节＋要点」两级；仅在内容确需展开时使用，禁止为分层而分层。

## 五、内容提炼与节点构建规则

### 1. 要点提炼规则

- 要点名称为章节核心术语，说明为该术语的极简定义/作用，冒号直接连接。
- 优先提炼：工具名称、核心特性、关键流程、适用场景、版本说明。
- 代码示例 / 数据直接融入要点说明（如 - LCEL：使用|管道符串联组件）。

### 2. 要点数量规则（硬性分档）

| 子节内容量 | 要点数量 | 处理方式 |
| ---- | ---- | ---- |
| 常规 | 3~5 条 | 覆盖该子节全部核心信息 |
| 极少 | 1~2 条 | 有多少提炼多少，禁止凑数 |
| 极多 | 上限 7 条 | 精选合并；仍超载时拆分为两个子节 |

### 3. 要点字数规则

- 说明默认控制在 20 字以内；含技术名词、代码指令时最长不超过 30 字。
- 说明部分避免术语堆砌，优先使用动宾/偏正结构，如「整合文档文本内容」「实现批量任务执行」。

### 4. 特殊信息处理

- 环境依赖、安装命令、参数说明、步骤流程：作为独立要点节点（如 - 环境依赖：需安装numexpr库）。
- 案例：融入对应要点说明，不单独成段（如 - 案例查询：员工数量、薪资、部门信息）。
- 表格/图表：提炼核心结论为要点（如 - 性能对比：表格列出三种模型准确率）。
- 公式：用文字描述含义，不照抄符号（如 - 注意力机制：Q与K点积缩放后求权重）。
- 原文无实质内容：添加「- 内容空缺：本节无相关阐述」（区别于输入侧缺失的「待补充」）。

### 5. 重复概念处理

- 同一术语跨章节出现时允许重复保留，说明按本章语境提炼，不跨章合并、不标注“同前文”。

## 六、边界情况处理

| 情况 | 处理方式 |
| ---- | ---- |
| 原书含「篇/部分」更高层级 | 篇映射为一级标题（# 第X篇 篇标题），章顺延为 ##，以下层级不变 |
| 章或节下无子节 | 仅当原书目录本身无子节标题时，方可跳过子节层，在上一级标题下直接书写要点列表；禁止凭空跳过层级或产生悬空列表 |
| 问答体/访谈体原文 | 以问题或主题为子节标题，答案核心提炼为要点 |
| 一次输入多章 | 按原书顺序连续输出全部章节，章间不加分隔语、总结语 |
| 输入整本书但仅要求单章 | 先建索引（若会话中尚无），定位后仅提取目标章节，禁止全量输出 |
| 会话中已有索引 | 直接复用并检索，禁止重复建索引 |
| 目录页与正文标题不一致 | 以正文标题为准修正索引条目 |

## 七、示例参考（大纲样式唯一对齐基准）

以下为带 Markdown 标记的完整大纲示例，可直接对照模仿：

```markdown
## 第03章 LangChain使用之Chains
### 1 Chains的基本使用
#### 1.1 Chain的基本概念
- 链：串联组件形成可复用AI工作流
- 组件连接：组合提示模板、LLM、记忆、工具等
- 工作流：实现复杂任务的模块化执行流程
- 模块化：拆分功能单元，灵活组合调用
- 复杂任务：依靠多组件协作完成高阶需求
#### 1.2 LCEL及其基本构成
- LCEL：LangChain表达式语言，声明式构建流程
- 管道符：使用|串联各个功能组件
- 组件链接：按顺序传递输入与输出数据
- 执行流程：输入→提示模板→模型→解析器
- 声明式：简洁定义AI工作流，无需冗余代码
#### 1.3 Runnable
- 抽象接口：LCEL组件统一遵循的标准协议
- 统一调用：所有组件共用invoke等方法
- 批量处理：batch方法实现批量任务执行
- 流式输出：stream方法逐段返回结果
- 异步调用：ainvoke提供异步执行能力
#### 1.4 使用举例
- 分步调用：逐个执行组件，手动传递结果
- 链式调用：通过管道符一键组装完整链路
- StrOutputParser：通用字符串输出解析器
- 代码示例：提供两种调用方式完整代码
- 效果对比：对比分步与链式写法优劣
### 2 传统Chain的使用
#### 2.1 基础链：LLMChain
- 基础链：传统体系中最原始的链结构
- 弃用提示：0.1.17版本后官方不再推荐
- 单次问答：适用于单轮简单问答场景
- 无记忆：无法自动留存历史对话内容
- 参数配置：支持模型、提示、回调等参数
#### 2.2 顺序链之SimpleSequentialChain
- 顺序执行：多个子链按先后顺序串行运行
- 单入单出：整条链路仅有一组输入输出
- 自动传参：上链输出自动作为下链输入
- 流水线：搭建线性执行的业务流程
- 多链串联：整合多个LLMChain协同工作
#### 2.3 顺序链之SequentialChain
- 多变量：支持多个独立输入、输出变量
- 显式映射：手动指定变量传递对应关系
- 灵活传参：自定义链路间数据流转规则
- 复杂流程：适配多分支、多数据源场景
- 多输入输出：链路可留存多个阶段结果
#### 2.4 数学链 LLMMathChain
- 数学计算：专门处理自然语言数学问题
- 表达式转换：文本问题转为可执行算式
- 代码执行：调用numexpr库运行表达式
- 数值运算：完成加减、乘方等数学计算
- 解析问题：理解自然语言描述的计算题
#### 2.5 路由链 RouterChain
- 动态路由：根据内容自动分配执行子链
- 需求识别：识别用户问题所属业务类型
- 分支选择：匹配对应场景的专属链路
- 子链分发：将请求转发至目标处理链
- 默认链路：设置兜底链处理未知请求
#### 2.6 文档链 StuffDocumentsChain
- 文档合并：把多篇文档内容整合为整体
- 内容填充：将文档塞入提示模板变量中
- 全局理解：模型一次性读取全部文档内容
- 文档摘要：基于合并内容生成简短总结
- 文档问答：依托完整文档解答相关问题
### 3 基于LCEL构建的Chains的类型
#### 3.1 create_sql_query_chain
- SQL链：面向数据库查询的专用链路
- 自然语言转SQL：文本问题自动生成查询语句
- 数据库查询：对接数据库完成数据检索
- 表限定：指定仅使用部分数据表执行查询
- 语句生成：输出标准可执行SQL代码
#### 3.2 create_stuff_documents_chain
- 新版文档链：LCEL风格的文档处理链路
- 文档拼接：整合多篇文档文本内容
- LCEL风格：遵循表达式语言开发规范
- 内容整合：统一处理多份文档信息
- 问答提取：从文档中抽取答案与关键信息
```

## 八、补充约束

- 大纲输出（模式 C 最终产物）仅包含 Markdown 大纲，无任何额外说明、解释或对话内容。
- 要点说明须与原文核心内容一致，不添加主观推断或拓展内容。
- 大纲输出即为 mindmap 导入格式：带 Markdown 标记（## / ### / #### / -）的大纲文本，可导入 XMind、MindMaster、幕布、Notion；禁止输出 Mermaid 等无法被上述软件直接导入的其他 mindmap 语法。
- 索引表与检索定位结果为中间输出，按各自格式执行，不适用大纲输出约束。

## 九、输出自检清单（输出前逐项核对）

- 章标题为「## 第X章 章标题」，章号为两位阿拉伯数字，与原书章号对应
- 节编号在章内从 1 计数，子节编号跟随所属节号
- 章节标题文字与原书完全一致，无缩写、删减、改写
- 四级要点均为「要点名：说明」格式，无空泛元描述
- 无 Emoji、加粗、代码块、引用块等额外语法
- 层级无跳跃、无悬空列表，章节顺序与目录完全一致，无遗漏节点
- 专业名词、函数名、库名与原文一字不差
- 每个子节至少 1 条要点，数量符合分档规则
- 「待补充」与「内容空缺」按场景正确使用，未混用
- 纯文本校验：复制为纯文本后层级依然清晰可读，不依赖渲染效果
- 输出为 mindmap 导入用 Markdown 大纲，未混入 Mermaid 或其他语法
- 输出无任何前言、解释、总结等对话内容
- 索引覆盖全部章节且位置可定位（索引模式适用）
- 检索命中后仅含目标章节内容，未混入未请求章节（检索模式适用）
- PDF 提取使用 pymupdf，未手写解析器；失败时已按止损规则降级处理

详细示例与压测用例见 examples.md。

