将授课视频或已转写文本整理成结构化学生笔记、全课程知识体系索引、mermaid 知识图谱,并合并为单文件汇总。覆盖本地 GPU 转写(faster-whisper) 到 LLM 笔记生成 到 索引/图谱 到 合并 的完整流水线。当需要将一批课程视频或字幕整理成可复习的笔记与知识图谱、且要求每期标题统一为日期_主题格式时,使用此 skill。
授课视频 → 学生笔记 + 知识图谱 + 汇总是一项面向实际任务的技能,主要用于把一批课程视频(或已有的转写文本)整理为:每门课一篇结构化学生笔记、全课程知识体系索引、mermaid 知识图谱,以及合并为单文件的笔记汇总;用户有一批课程视频(如直播回放),希望转成可检索、带时间戳和术语解释的复习笔记;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
把一批课程视频(或已有的转写文本)整理为:每门课一篇结构化学生笔记、全课程知识体系索引、mermaid 知识图谱,以及合并为单文件的笔记汇总。
.txt/.srt,希望直接生成笔记 + 知识图谱 + 汇总20250423_量化策略启蒙)所有产物放在一个 transcripts/ 目录下,每门课一个子目录:
transcripts/ ├── 课程名/ │ ├── 视频1.txt # 转写纯文本(转写阶段产出) │ ├── 视频1.srt # 带时间戳字幕(转写阶段产出,笔记时间点索引依赖它) │ ├── 学生笔记.md # 笔记阶段产出(格式 # 日期_主题) │ ├── shots/ # 截图阶段产出(按时间点抽帧的 PNG,可选) │ └── _stat.json # 转写统计(可选) └── _notes_index.jsonl # 笔记阶段产出(索引/图谱用,可重建,无需保留)
transcripts/ 默认位于本 skill 的 scripts/ 同级目录;也可用 --transcripts-dir 指定任意路径。
faster-whisper、imageio-ffmpeg、opencc-python-reimplemented,以及 GPU 运行库 nvidia-cublas-cu12 / nvidia-cudnn-cu12(仅转写阶段需要)。无显卡时可改用 device=int8/cpu(慢)。~/.workbuddy/models.json 中管理的模型(默认 deepseek-chat);若未配置,则回退到环境变量 OPENAI_API_KEY+OPENAI_BASE_URL(或 DEEPSEEK_API_KEY+DEEPSEEK_BASE_URL)。无 GPU 转写环境时,也可仅用市场 skill(如 openai-whisper-api、markitdown-skill)完成转写,再把 transcripts/ 交给本 skill 的笔记/图谱/合并阶段。references/env_setup.md。python scripts/transcribe.py "课程文件夹绝对路径" medium cuda --output-root transcripts
.txt + .srt.txt 跳过python scripts/gen_notes.py --transcripts-dir transcripts [--only "课程目录名"]
学生笔记.md# YYYYMMDD_本节课主题总结(日期从目录名解析).txt 标记 .note_notxt;失败标记 .note_failedpython scripts/build_index_and_graph.py --transcripts-dir transcripts --output-dir .
MODULES/classify_module 中,换主题时按需修改全课程知识体系索引.md(按十大模块归类)、课程知识图谱.md(mermaid)、课程知识图谱.html(浏览器渲染版)python scripts/merge_notes.py --transcripts-dir transcripts --output 课程笔记汇总.md
学生笔记.md 为单文件,带自动目录YYYYMMDD_主题python scripts/screenshot.py --transcripts-dir transcripts --video-roots "E:/源视频根1;E:/源视频根2" [--only 课程名] [--keyword 关键词]
[mm:ss](支持 第X部分 分段标签)在源视频对应时间抽帧 → shots/*.png 引用(幂等,已插入跳过)--keyword 模式:额外在各课 .srt 中搜索关键词,定位 (视频, 时间) 抽帧并追加到笔记末尾「关键词相关截图」章节--ffmpeg 指定)--video-roots 分号分隔传入(需与 transcripts 课程名对应)python scripts/gen_notes.py --transcripts-dir transcripts python scripts/build_index_and_graph.py --transcripts-dir transcripts --output-dir . python scripts/merge_notes.py --transcripts-dir transcripts --output 课程笔记汇总.md
| 脚本 | 参数 | 默认 | 说明 |
|---|---|---|---|
| 全部 | --transcripts-dir |
scripts/transcripts |
课程目录根 |
| gen_notes | --model |
deepseek-chat |
指定 models.json 中的模型 id |
| gen_notes | --only |
无 | 只处理一门课(调试用) |
| build | --output-dir |
transcripts 的父目录 | 索引/图谱输出位置 |
| merge | --output |
父目录/课程笔记汇总.md |
汇总文件名 |
| transcribe | --model/--device/--output-root |
medium/cuda/scripts/transcripts | 模型、设备、输出根 |
| screenshot | --video-roots |
E:/Z哥2025;C:/Users/7/Desktop/袁武/Z哥2026 |
源视频根(分号分隔,按课程名匹配) |
| screenshot | --keyword |
无 | 额外按关键词在 .srt 中定位抽帧 |
classify_module 的关键词与 MODULES 列表学生笔记.md(插入图片引用),建议在笔记生成(阶段2)完成后、且不再重跑 gen_notes 覆盖前执行;gen_notes 对已存在笔记默认跳过,不会丢失截图引用references/env_setup.md相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章