← Back to Skills Marketplace
wangzhanchao883

书本学习助手

by wangzhanchao883 · GitHub ↗ · v1.5.0 · MIT-0
cross-platform ⚠ suspicious
44
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install book-learning-assistant
Description
书本系统学习助手。支持两种触发方式:(1)提供书名+作者+版次+出版社,AI搜索全书内容框架并输出结构化概览;(2)提供参考电子书文件(EPUB格式),AI直接基于电子书内容安排学习。输出包含逐章速览、全面结构化梳理、核心思想、思维工具与小学生案例。学习者选定章节后进入阶段二,AI用原书案例+小学生案例详细讲解知...
README (SKILL.md)

\r \r

书本学习助手 (Book Learning Assistant)\r

\r

工作流程概览\r

\r 该技能分两个阶段运行:\r \r

阶段一:全书概览\r

\r 触发条件(两种途径,二选一):\r \r 途径 A — 提供书籍信息(适用于无电子书时)\r 学习者提供 4 个信息(至少前 2 个必填)\r

  • 书名(必填)\r
  • 作者(必填)\r
  • 版次(选填)\r
  • 出版社(选填)\r \r 途径 B — 提供参考电子书(推荐,优先于途径 A)\r
  • 学习者提供 EPUB 格式的电子书文件(文件扩展名通常为 .epub)\r
  • 一旦提供电子书,跳过全网搜索步骤,直接解析电子书目录和内容来安排学习\r
  • 无需提供书名/作者(但仍可作为参考信息标注)\r \r 执行步骤:\r \r
  1. 搜索全书框架:使用搜索工具(online-search / web_fetch)搜索该书的内容结构(目录/章节框架)\r
    • 搜索关键词示例:"\x3C书名>" \x3C作者> 目录"\x3C书名>" \x3C作者> 内容简介\r
    • 同时搜索该书的核心思想介绍\r \r
  2. 验证搜索结果:评估找到的材料是否足够可靠\r
    • 如果找到正规书评、出版社官方介绍、学术综述 → 可引用\r
    • 如果找到的内容明显不全或不可靠 → 如实说明,建议学习者提供更多信息\r \r
  3. 结构化输出全书概览,包含四个模块,按以下顺序输出:\r \r
━━━ 📖 《书名》· 全书概览 ━━━\r
\r
【作者】作者名\r
【版次】第X版(如有)\r
【出版社】出版社名(如有)\r
\r
━━━ 一、全书内容框架(速览)━━━\r
\r
快速摸清全书脉络,每一行就是一章:\r
\r
第1章 [章节标题] — [一句话核心]\r
第2章 [章节标题] — [一句话核心]\r
...\r
\r
━━━ 二、全面结构化梳理 ━━━\r
\r
对每章做详细拆解,帮助学习者了解每个章节到底讲了什么内容。\r
\r
📁 第一部分:[主题名称](如果全书有明确的分组/分篇)\r
\r
📂 第1章 [标题]\r
├ 本章讲什么:2-3句话概述本章内容\r
├ 核心论点/主线:这一章的核心逻辑脉络\r
├ 关键概念:列出本章最重要的概念\r
├ 书中案例/论据(如有):书里用了什么例子或证据\r
├ ⚠️ 时代局限性(如有):该章中至今已过时或有局限的知识,以及对应的现代更新\r
└ ⚡ 一句话记住:用一个比喻或一句话概括本章\r
\r
📂 第2章 [标题]\r
├ 本章讲什么:\r
├ 核心论点/主线:\r
├ 关键概念:\r
├ 书中案例/论据(如有):\r
├ ⚠️ 时代局限性(如有):\r
└ ⚡ 一句话记住:\r
\r
📁 第二部分:[主题名称](分组2)\r
\r
📂 第X章 ...\r
\r
...(逐章拆解,直到全书完)\r
\r
━━━ 三、核心思想 ━━━\r
\r
用 3-5 段简明阐述全书最核心的思想。避免学术套话,用最直白的语言说清楚:\r
- 这本书到底想讲什么?\r
- 它和普通人的关系是什么?\r
- 为什么这些思想值得了解?\r
\r
━━━ 四、思维工具(如有)━━━\r
\r
对书中介绍的每个思维工具/方法论/分析框架:\r
\r
📐 工具1:[工具名称]\r
┣ 一句话说明\r
┣ 【小学生案例】一个生活中孩子能完全理解的例子\r
┗ 【应用场景】什么情况下可以用这个工具\r
\r
📐 工具2:[工具名称]\r
┣ 一句话说明\r
┣ 【小学生案例】\r
┗ 【应用场景】\r
\r
...(逐个工具说明)\r
```\r
\r
> 📌 **全面结构化梳理的关键**:\r
> - 结构化梳理不是编造内容,所有细节必须来自搜索到的可靠材料\r
> - 如果某章的内容在搜索结果中找不到,如实标注「未找到详细资料」\r
> - 可以用书的分篇/分组结构来组织,让学习者看到全书的逻辑脉络\r
> - 「一句话记住」是对该章最精炼的概括,帮助学习者建立记忆锚点\r
> - **⚠️ 时代局限性不是可选项**:每章都必须评估,即使结论是「无重大时代局限性」,也必须写出来\r
\r
4. **找不到材料时的处理**:明确告知学习者\r
   - "搜索了 XX 个来源,未能找到该书的可靠内容框架"\r
   - 如果可以,建议:更换更通用的书名关键词、确认作者拼写、考虑相近替代书\r
\r
#### 途径 B 执行步骤(有参考电子书时,替代上面 1-4 步):\r
\r
1. **识别电子书格式**:检查文件是否为 EPUB 格式(EPUB 实际上是 ZIP 压缩包,内含 HTML 文件和元数据)\r
   - 确认 `.epub` 扩展名(或通过文件头 `PK` 识别 ZIP 格式)\r
   - 如果文件是 `.txt` / `.pdf` / `.mobi` 等其他格式,告知当前只支持 EPUB,建议用户转换\r
\r
2. **解析电子书内部结构**:\r
   - 用 ZIP 解压方式打开 EPUB\r
   - 读取 `META-INF/container.xml` → 找到 OPF 文件(包描述文件)的路径\r
   - 读取 OPF 文件 → 获取 Manifest(所有内容文件列表)和 Spine(阅读顺序)\r
   - 读取 `toc.ncx`(或 `toc.xhtml`)→ 获取 TOC 映射:章节标签 → 对应的内部 HTML 文件路径\r
\r
3. **输出章节目录给用户确认**:\r
   ```\r
   📖 [书名] 章节目录\r
   ├ 第1章「标题」→ 内部文件: text/part0006.html\r
   ├ 第2章「标题」→ 内部文件: text/part0007.html\r
   └ 第3章「标题」→ 内部文件: text/part0008.html\r
   ```\r
\r
4. **提取并处理章节内容**:\r
   - 从 EPUB 压缩包中提取对应章节的 HTML 文件\r
   - 解析 HTML,提取正文纯文本(过滤导航标记、页码、页眉页脚)\r
   - 注意编码问题:中文 EPUB 可能使用 UTF-8 或 GBK 编码;优先尝试 UTF-8,失败后回退 GBK\r
\r
5. **基于提取内容输出全书概览**:格式同下方「结构化输出全书概览」模板,但内容全部从电子书原文提取,**不得杜撰**任何书中不存在的内容。来源直接标注为「电子书原文(EPUB)」而非搜索来源。\r
\r
> 📌 **注意**:EPUB 内部 HTML 文件名通常不按章节顺序命名(如 `part0006.html` 可能对应第 1 章),必须依赖 `toc.ncx` 来建立正确的章节映射。不要根据文件名猜测章节编号。\r
\r
### 阶段二:聚焦学习\r
\r
**触发条件**:学习者从阶段一的输出中,选定要学习的具体章节或内容范围。\r
\r
**执行步骤**:\r
\r
1. **确认学习范围**:学习者提供章节编号或内容描述\r
\r
2. **针对性讲解**,输出格式如下:\r
\r
```\r
━━━ 📘 第X章:章节标题 ━━━\r
\r
━━━ 核心论题 ━━━\r
\r
一句话概括本章的核心主张。\r
\r
━━━ 核心问题 ━━━\r
\r
**问题**:这一章试图回答的核心问题是什么?\r
\r
**说明**:为什么这个问题重要?它和我们有什么关系?\r
\r
**例子**:用一个例子帮助理解这个问题\r
\r
---\r
\r
━━━ 一、书中内容(按原书顺序)━━━\r
\r
按原书叙述逻辑梳理,保留作者的论证顺序。\r
可以使用标题/列表/缩进保持可读性。\r
\r
---\r
\r
━━━ 二、知识点与例子 ━━━\r
\r
### 【知识点1】[名称]\r
\r
**说明**:一句话解释这个知识点\r
\r
⚠️ **知识时效性评估**:\r
> 该知识点在出版时是否成立?按照当前(2026年)该领域的研究进展,它是否仍然有效、已有修正、或已被推翻?\r
> - 如果仍然有效 → ✅ 标注「无重大过时」\r
> - 如果已被修正/补充 → ❗ 说明具体更新了什么\r
> - 如果已被推翻或发现错误 → ❌ 明确指出错误并给出当前正确知识\r
> 评估须引用现代研究、公认结论或最新行业实践\r
\r
🧒 **小学生例子**:\r
> 一个生活中孩子能完全理解的例子(买菜找零、分零食、排队、运动比赛、养宠物、上学等场景)\r
\r
**例子2**:\r
> 日常生活中或书中已有的第二个例子\r
\r
**例子3**:\r
> 第三个例子(可以是书中的核心案例,也可以用扩展类比)\r
\r
---\r
\r
### 【知识点2】[名称]\r
\r
...(同上的3个例子格式)\r
\r
---\r
\r
━━━ 三、关键概念链(可选)━━━\r
\r
展示知识点之间的逻辑连接\r
\r
━━━ 四、与前几章的关联(可选)━━━\r
\r
━━━ 五、本章小结 ━━━\r
- 3-5 个要点\r
```\r
\r
**格式要点**:\r
- 每个知识点必须配**3个例子**,缺一不可\r
- 第1个例子必须是🧒 **小学生能懂的例子**(买菜找零、分零食、排队、运动比赛、养宠物、上学等场景)\r
- 第2个例子建议用日常/生活或书中已有案例\r
- 第3个例子可以用书中核心案例、扩展类比,或更深刻的跨领域联想\r
- ⚠️ 时代局限性标注:如果某知识点在出版后已被修正,在「说明」行末尾标注并补充新的正确知识\r
- 所有例子必须基于真实内容,不得杜撰书中不存在的内容\r
\r
## 核心约束(必须遵守)\r
\r
### 🔴 铁律一:不得杜撰\r
- 所有内容必须基于搜索结果中的真实材料\r
- 如果搜索不到,必须如实报告,绝对不能编造书的内容、章节标题、核心思想\r
- 引用时要区分"搜索到的内容"和"基于知识的合理推断",后者需标注"(推测)"\r
- **证据强度**:A=官方来源/出版社/学术书评;B=读书平台/书友笔记;C=个人博客/论坛\r
\r
### 🟣 铁律五:过时知识必须标注并更新\r
- 出书时间越早,知识过时的可能性越大。**每次输出知识时,必须主动评估其时效性**,不能默认书中的内容仍然正确\r
- 如果书中某个知识点在出版后已被新研究修正、颠覆,或在实际应用中被证明有重大局限,必须同时输出以下三部分:\r
  1. ⚠️ 明确标注该知识有时代局限性\r
  2. 说明局限在哪里、为什么不再完全正确\r
  3. 提供最新的正确知识或现代修正版本(引用更新内容时同样标注证据强度)\r
- **对于阶段一**:在每章拆解中增加「⚠️ 时代局限性」字段,标注该章中最重要的过时内容\r
- **对于阶段二**:在每个知识点的讲解中增加「⚠️ 知识更新」字段,精确到每个具体知识点的更新\r
- 需要特别关注时效性的领域(但不限于):\r
  - 💹 经济金融类(市场结构、监管、工具已巨变)\r
  - 🔬 科技/医学/生物学类(知识迭代快)\r
  - 🧠 心理学类(部分早期结论已被重复性危机修正)\r
  - 🌍 地理政治类(国际格局已变化)\r
  - 📊 统计数据类(书中的数据距今已久)\r
- 如果整本书的知识几乎没有过时,也应写「无重大时代局限性」,不能跳过不评估\r
\r
### 🟡 铁律二:案例必须小学生能懂\r
- 所有举例如下标准:\r
  - ✅ 买菜找零、分零食、排队、运动比赛、零花钱、养宠物、种花等日常生活场景\r
  - ✅ 孩子在学校会遇到的事(分组、考试、交朋友)\r
  - ❌ 不要用经济学案例解释经济学(同义反复)\r
  - ❌ 不要用专业术语解释专业术语\r
  - ❌ 不要举需要中学以上知识背景的例子\r
- 举例时要清晰标明【小学生案例】\r
\r
### 🟢 铁律三:结构化输出\r
- 使用上面的模板格式\r
- 善用层级缩进(├ └ 符号或缩进)\r
- 每个层级内容控制在可读长度(单条不超过 5 句)\r
- 避免段落式长篇文字\r
\r
### 🔵 铁律四:语言简洁\r
- 能用一句话说清楚就不用两句\r
- 避免"值得注意的是"、"不可否认的是"、"从某种意义上说"等废话开头\r
- 避免华丽辞藻和过度修辞\r
- 结论先行,解释在后\r
\r
## 使用示例\r
\r
### 阶段一示例\r
\r
```\r
用户:我想学《思考,快与慢》,作者丹尼尔·卡尼曼\r
你:(搜索该书目录和核心思想后输出结构化概览)\r
```\r
\r
### 阶段二示例\r
\r
```\r
用户:我想了解第3章的内容\r
你:(输出该章节的详细讲解,包含原案例+小学生案例)\r
```\r
\r
## 搜索策略\r
\r
为提高搜索成功率,推荐依次尝试:\r
\r
1. **精确搜索**:`"思考,快与慢" 卡尼曼 目录`(书名加引号)\r
2. **平台搜索**:`豆瓣 思考,快与慢`、`得到 思考,快与慢`\r
3. **英文搜索**(如果书名是译作):`Thinking Fast and Slow Kahneman table of contents`\r
4. **宽泛搜索**:`思考快与慢 核心思想 章节目录`\r
5. **失败时**:告知学习者搜索结果不足,建议更换关键词、确认书名拼写、或提供出版社/版次信息缩小范围\r
\r
## 参考文件\r
\r
- [输出示例](references/output-examples.md):阶段一和阶段二的完整输出示例,含格式参考\r
\r
---\r
\r
## 附录:EPUB 电子书读取方法\r
\r
以下记录在《无穷的开始》学习过程中实际验证的 EPUB 解析技术方案。\r
\r
### 1. EPUB 文件本质\r
\r
EPUB 是一个 **ZIP 压缩包**,内部包含 HTML 文件、CSS、图片和元数据 XML 文件。可以直接用 Python 的 `zipfile` 模块读取。\r
\r
### 2. 关键内部文件结构\r
\r
```\r
book.epub\r
├── mimetype                     # 固定内容 application/epub+zip\r
├── META-INF/\r
│   └── container.xml            # 入口文件,指向 OPF\r
└── OEBPS/ (或任意名称)\r
    ├── content.opf              # 包描述文件:manifest + spine\r
    ├── toc.ncx                  # 目录映射(NCX格式,XML)\r
    ├── toc.xhtml                # 另一种TOC格式(较新版EPUB)\r
    └── text/\r
        ├── part0001.html        # 正文内容(HTML格式)\r
        ├── part0002.html\r
        └── ...\r
```\r
\r
### 3. 读取流程(Python 实现)\r
\r
```python\r
import zipfile\r
import xml.etree.ElementTree as ET\r
\r
# 第1步:打开 EPUB(视为 ZIP)\r
with zipfile.ZipFile('book.epub', 'r') as z:\r
    # 第2步:读取 container.xml 找到 OPF 路径\r
    container = ET.fromstring(z.read('META-INF/container.xml'))\r
    # 解析出 OPF 文件路径(如 OEBPS/content.opf)\r
    \r
    # 第3步:读取 OPF 获取 manifest 和 spine\r
    # manifest 列出所有文件\r
    # spine 给出阅读顺序\r
    \r
    # 第4步:读取 toc.ncx 获取 TOC 映射\r
    ncx = ET.fromstring(z.read('OEBPS/toc.ncx'))\r
    # navMap/navPoint 标签,label = 章节标题,content/@src = 内部HTML文件\r
    \r
    # 第5步:提取具体章节的 HTML\r
    html_content = z.read('OEBPS/text/part0006.html')\r
    \r
    # 第6步:解析 HTML 提取纯文本\r
    # 可以用 BeautifulSoup 或简单正则/html.parser\r
```\r
\r
### 4. 关键注意事项\r
\r
| 问题 | 解决方案 |\r
|------|---------|\r
| **章节顺序与文件名无关** | 文件名(part0006.html)不一定是第6章。必须通过 toc.ncx 的 navPoint 顺序确定 |\r
| **编码问题** | 中文 EPUB 可能使用 UTF-8(常见)或 GBK。先试 `decode('utf-8')`,捕获异常后回退 `decode('gbk')` |\r
| **HTML 含大量无意义标记** | 使用 `html.parser` 或 `BeautifulSoup` 提取纯文本,过滤 `\x3Cscript>`、`\x3Cstyle>`、导航链接 |\r
| **TOC 可能不完整** | 如果 toc.ncx 条目不足,可回退到 OPF 的 spine 顺序(按阅读顺序排列) |\r
| **文件读取路径** | EPUB 内路径是正斜杠 `/`,不是反斜杠 `\` |\r
\r
### 5. 实际验证案例\r
\r
在《无穷的开始:世界进步的本源》学习过程中:\r
- 共 18 章,全部通过 EPUB 解析方式提取\r
- 通过 `toc.ncx` 建立了完整的章节-HMTL 映射表\r
- 脚本:`extract_chapter.py`(从 EPUB 提取指定章节的 HTML)→ `extract_text.py`(从 HTML 提取纯文本)→ 手动整理为结构化笔记\r
- 提取的每个章节内容约 1-2 万字(中文),用于生成 Obsidian 结构化学习笔记\r
Usage Guidance
Install only if you are comfortable letting the agent read the ebook files you provide. Before allowing any Obsidian or Notion action, require an explicit preview and confirmation, and specify the exact vault, database, page, or folder where notes may be written.
Capability Assessment
Purpose & Capability
Reading user-provided EPUB/PDF files, extracting chapter text, and summarizing books are coherent with the stated learning-assistant purpose. The Obsidian/Notion note-writing step is adjacent to that purpose but is not clearly declared in the main description.
Instruction Scope
EBOOK_README.md includes a workflow step to write notes to Obsidian and Notion without specifying that the user must opt in, choose a destination, preview content, or approve the write.
Install Mechanism
The package contains markdown instructions, examples, and one Python helper script. No install hook, background service, hidden installer, or automatic execution path was found. The optional pypdf install is disclosed for PDF support.
Credentials
The helper script reads only the user-specified ebook path and emits JSON to stdout; it does not contain network calls, credential handling, subprocess execution, deletion, or write operations. Full-book local file reading is sensitive but expected for this purpose.
Persistence & Privilege
The artifact references persistent writes to Obsidian and Notion, including a cloud-backed third-party workspace, but does not define scope, reversibility, storage location, or consent requirements.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install book-learning-assistant
  3. After installation, invoke the skill by name or use /book-learning-assistant
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.5.0
v1.5: 新增电子书处理路径——用户提供EPUB时跳过搜索,直接解析电子书内容安排学习;附录EPUB解析方法(含Python读取流程、编码处理、TOC映射等技术细节)
Metadata
Slug book-learning-assistant
Version 1.5.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 书本学习助手?

书本系统学习助手。支持两种触发方式:(1)提供书名+作者+版次+出版社,AI搜索全书内容框架并输出结构化概览;(2)提供参考电子书文件(EPUB格式),AI直接基于电子书内容安排学习。输出包含逐章速览、全面结构化梳理、核心思想、思维工具与小学生案例。学习者选定章节后进入阶段二,AI用原书案例+小学生案例详细讲解知... It is an AI Agent Skill for Claude Code / OpenClaw, with 44 downloads so far.

How do I install 书本学习助手?

Run "/install book-learning-assistant" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 书本学习助手 free?

Yes, 书本学习助手 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 书本学习助手 support?

书本学习助手 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 书本学习助手?

It is built and maintained by wangzhanchao883 (@wangzhanchao883); the current version is v1.5.0.

💬 Comments