---
name: course-notes
description: 上传了老师课件（PPT/PDF/Word/表格，单份或多份），要整理成学习笔记、复习提纲、知识汇总或讲义汇总时使用。通读全部课件后按知识结构重组成一份单文件网页笔记（generate_document format=html），带目录、重点/易错/考点标注和来源页码溯源。用户要「讲解某个知识点」走讲解类技能；只要格式转换用 convert_document，都不套本篇。
---

# 课件整理成学习笔记

把老师给的课件（pptx / pdf / docx / 表格）整理成一份能直接拿来复习的单文件网页笔记。

## 顺序（不要乱）

清点素材 → 逐个通读（读到尾）→ 按知识结构重组 → 生成 html 笔记 → 回复摘要。

## 1. 清点素材

- 会话里上传的课件用 `manage_attachments` 列一遍；用户给了本机路径的直接记下，一个都不许漏。
- 课程名：用户说了就用；没说但课件文件名能看出来（如「高等数学_第3章.pptx」）就用它并顺口告诉用户；看不出来问一句再继续。
- 课件读不出正文（扫描版、解析为空、格式不支持）→ 如实说明缺哪份、卡在哪，绝不硬编内容；其余能读的照常整理。

## 2. 逐个通读（offset 续读，直到 hasMore=false）

- pptx 附件已按页结构化：每页是「【第 N 页·标题】正文 / 【备注】」。**老师的讲义常写在备注里**，与页面正文同等重要地吸收。
- pdf / docx 长文分页续读，不许只读第一页就开始写；表格课件先看概览，再按需筛选关键行。
- 边读边记（自己的工作记忆，不进最终笔记）：这份课件讲了哪几个主题、每个主题在哪个文件第几页。

## 3. 按知识结构重组（笔记的灵魂）

- **按主题/章节组织，不按文件罗列**；几份课件讲同一主题的内容合并去重，以更完整、更新的版本为准。
- 骨架按素材取舍，不要硬凑空章节：

  1. 开头：一段话说明本笔记覆盖什么、依据哪几份课件；
  2. 各章：概念定义 → 核心要点 → 例子/推导/公式，穿插 callout（`key`=必记重点、`warn`=易错点、`exam`=依据课件推测的考点）；
  3. 术语表（table：术语 | 含义）——课件关键术语较多才单列；
  4. 结尾：考点与复习建议——只能从课件内容推导，写明「依据课件推测」。

- 每章末尾以一行小字标注来源，如「来源：第3章课件 第 5-9 页」（pptx 的页码就在逐页标记里）。溯源行让考前翻笔记的人能回到原课件核对。
- **不编造课件没有的内容**；课件只给提纲没展开的地方标注「课件未展开」；你的补充知识若确有必要，单独用 callout 标明「课件外补充」。

## 4. 生成笔记（generate_document，format=html）

- `title`：课程 + 主题，如「高等数学 · 第三章 学习笔记」；`course` 填课程名；`sources` 填课件文件名清单。
- `blocks` 用 heading（level 1=章、2=节）+ paragraph + list + table + callout 组合；不要整段粘贴课件原文——**笔记是提炼，每个要点一句话讲清**。
- 生成后在对话里回复：笔记覆盖了哪些主题、哪些部分课件本身没讲清（提醒用户上课补）、建议先复习哪节。

## 5. 边界

- 用户只要「转成 Word/PDF/别的格式」→ 直接 `convert_document`，不走本篇。
- 用户要「讲给我听 / 带我复习某个知识点」→ 讲解类技能；但如果既有课件又要求整理成交付物，走本篇。
- 单份课件特别长（如 200 页 PDF）→ 先问用户要重点章节还是全量整理，说明全量会分很多页读取、耗时较长。
