Video minutes
a kinds of skills can run in any agents, totally free.
npx -y skills add renky1025/agent-skills --skill video-minutesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
智能视频纪要生成器 - 自动提取视频语音、生成字幕、智能分类总结,输出结构化纪要文档 **MUST use this skill when user mentions:** - 处理视频、生成视频纪要、视频转文字、视频总结 - 会议录像整理、网课笔记、视频内容提取 - "帮我总结这个视频"、"提取视频字幕"、"视频转笔记" - 录屏整理、直播回放分析、培训视频归档 **支持的视频类型 (auto-detected):** - meeting: 会议录像 → 待办事项 + 决议 + 负责人 - lecture: 课程/讲座 → 知识点图谱 + 时间戳 - interview: 访谈/采访 → Q&A 整理 + 观点对比 - presentation: 演讲/汇报 → 核心论点 + 数据可视化 - podcast: 播客/对话 → 金句摘录 + 话题索引 - tutorial: 教程/演示 → 步骤清单 + 关键截图提示 **支持的数据源:** - 本地视频文件 (.mp4/.mov/.mkv/.avi) - Zoom 录制自动扫描 - 腾讯会议/钉钉录制 - YouTube/B站链接 (yt-dlp) - 网盘分享链接 (阿里云盘/百度网盘) **Do NOT use when:** - 仅需视频转文字无总结需求 (直接用 whisper) - 视频无音频轨道或音频质量极差 - 实时视频流处理 (需先录制) - 视频时长超过 4 小时 (建议分段处理) **触发关键词:** video, 视频, 纪要, 字幕, 总结, meeting, 会议, 课程
SKILL.md
18.0 KB, as published. Nobody here has run it
Video Minutes Skill
智能视频纪要生成器,支持多类型视频自动分类、智能总结、任务分发。
核心特性
- 🤖 AI 自动分类: 自动识别视频类型(会议/课程/访谈等),应用对应模板
- 📝 智能总结: 提取核心要点、行动项、关键决策
- 🏷️ 任务分发: 通过 @tags 将待办分发给其他 skill 执行
- 🔗 多源支持: 本地文件、Zoom/腾讯会议录制、在线视频链接
- 🌐 多语言: 自动检测语言,支持中英日等 99+ 语言
- 📊 多种输出: Markdown/Obsidian/Notion/飞书文档
首次设置 (First-Time Setup)
配置优先级检测:
# 检测配置文件存在性
test -f "video-minutes/config.yaml" && echo "project"
test -f "$HOME/.ai-agent/skills/video-minutes/config.yaml" && echo "user"
test -f "$HOME/.video-minutes-config.json" && echo "legacy"
| 结果 | 操作 |
|---|---|
| 找到 YAML | 读取并应用 |
| 找到 legacy JSON | 迁移到 YAML 格式 |
| 未找到 | 执行首次设置向导 (阻塞操作) |
首次设置向导 (BLOCKING)
⚠️ CRITICAL: 未检测到配置文件时,必须先完成设置向导,阻塞后续所有视频处理操作。
使用 AskUserQuestion 一次性呈现所有问题,等待用户回答后再继续。
🎬 Video Minutes 配置向导
让我为您配置视频纪要生成的默认偏好:
**1. 默认输出语言**
视频语音通常为哪种语言?
- 🌐 自动检测 (推荐)
- 🇨🇳 中文
- 🇺🇸 英文
- 🇯🇵 日文
- 其他: __________
**2. Whisper 模型选择**
语音转文字精度 vs 速度偏好?
- ⚡ Tiny (最快,适合快速预览)
- 🚀 Base (推荐,平衡速度质量)
- 🎯 Small (更精准,慢 2x)
- 🏆 Medium (高精度,慢 4x)
- 💎 Large (最佳质量,慢 8x,需 GPU)
**3. 输出格式偏好**
纪要文档保存为哪种格式?
- 📝 Markdown (推荐,通用)
- 📔 Obsidian (带双链和标签)
- 📊 Notion (自动同步到数据库)
- 🚀 飞书文档 ( Lark )
**4. 输出内容选项**
纪要包含哪些内容?(多选)
- ✅ 内容摘要 (一句话总结)
- ✅ 核心要点 (分点列出)
- ✅ 详细时间线 (带时间戳)
- ✅ 行动项追踪 (TODO 列表)
- ✅ 完整字幕 (可选折叠)
- ✅ 发言人识别 (如果可区分)
**5. 自动扫描路径** (可选)
自动监控哪些目录的新视频?
- 📹 Zoom 录制文件夹
- 📹 腾讯会议录制
- 📹 钉钉会议录制
- 📂 自定义路径: __________
**6. 任务分发集成**
检测到行动项时如何分发?
- ❓ 先问我确认 (推荐)
- 🤖 自动分发到对应 skill
- 📋 仅汇总列出,不分发
**7. 视频类型偏好**
您最常处理的视频类型?
- 💼 会议录像 (提取 TODO)
- 📚 课程讲座 (知识笔记)
- 🎙️ 访谈播客 (Q&A 整理)
- 🎤 演讲汇报 (观点提炼)
- 🛠️ 教程演示 (步骤清单)
配置保存路径: ~/.ai-agent/skills/video-minutes/config.yaml
# config.yaml 示例
version: "1.1.0"
output:
language: auto # auto/zh/en/ja
format: obsidian # markdown/obsidian/notion/lark
directory: "~/Documents/video-minutes"
filename_template: "{date}-{type}-{title}"
content:
include_summary: true
include_key_points: true
include_timeline: true
include_action_items: true
include_transcript: true
transcript_collapsed: true # 默认折叠
speaker_identification: true
max_summary_points: 10
whisper:
model: base # tiny/base/small/medium/large/large-v1/large-v2/large-v3
device: auto # auto/cpu/cuda/mps
compute_type: int8 # int8/int8_float16/float16/float32
language: null # null=auto
classification:
enabled: true
confidence_threshold: 0.7
dispatch:
confirm_before_dispatch: true
auto_dispatch_tags: ["@reminder"] # 自动分发的标签
scanning:
enabled: true
interval_minutes: 60
paths:
- "~/Documents/Zoom"
- "~/Documents/腾讯会议"
integrations:
obsidian_vault: "~/Obsidian/VideoNotes"
notion_database_id: null
lark_webhook: null
使用方法
命令行用法
# 基本用法
python video-minutes/generate_minutes.py <视频路径>
# 指定类型 (跳过自动分类)
python video-minutes/generate_minutes.py meeting.mp4 --type meeting
# 指定输出
python video-minutes/generate_minutes.py lecture.mp4 -o ~/Notes/课程.md
# 指定语言
python video-minutes/generate_minutes.py interview.mp4 --language zh
# 使用更高精度模型
python video-minutes/generate_minutes.py presentation.mp4 --model medium
# 仅提取字幕不生成纪要
python video-minutes/generate_minutes.py video.mp4 --transcript-only
# 批量处理目录
python video-minutes/generate_minutes.py ~/Recordings/ --batch
自动扫描
# 扫描配置路径中的新视频
python video-minutes/scripts/scan-and-process.py
# 扫描指定目录
python video-minutes/scripts/scan-and-process.py ~/Downloads --since-hours 24
# 查看待处理队列
python video-minutes/scripts/queue.py --list
# 查看处理统计
python video-minutes/scripts/queue.py --stats
视频类型分类系统
自动分类逻辑
视频文件
↓
音频指纹分析 + 内容采样
↓
分类模型 (Gemini/本地模型)
↓
类型判断 + 置信度评分
↓
选择对应模板生成纪要
分类维度
| 维度 | 检测指标 | 影响 |
|---|---|---|
| 说话人数量 | 单/双/多人 | note/podcast vs meeting/interview |
| 对话模式 | 独白/问答/讨论 | lecture vs interview vs meeting |
| 内容特征 | 任务/知识点/观点 | 提取 TODO vs 知识图谱 vs 金句 |
| 视觉线索 | PPT/白板/屏幕分享 | presentation vs tutorial |
| 时长 | <15min/15-60min/>60min | 详略程度 |
7 种视频类型
1. Meeting (会议录像)
特征: 多人参与、任务分配、决策讨论 输出重点:
- 参会人员列表
- 核心决议清单
- 行动项追踪表(含负责人、截止日期)
- 待跟进事项
模板: templates/meeting.md
# 会议纪要: {{title}}
## 📋 会议信息
- **日期**: {{date}}
- **时长**: {{duration}}
- **参会人**: {{participants}}
- **视频**: {{video_path}}
## 🎯 核心决议
{{decisions}}
## ✅ 行动项
| 任务 | 负责人 | 截止日期 | 优先级 |
|------|--------|----------|--------|
{{action_items}}
## 📍 关键时间节点
{{timeline}}
## 💬 重要讨论摘要
{{discussion_summary}}
---
{{#if include_transcript}}
<details>
<summary>📝 完整字幕 (点击展开)</summary>
{{transcript}}
</details>
{{/if}}
2. Lecture (课程/讲座)
特征: 单/双主讲人、结构化内容、知识点密集 输出重点:
- 课程大纲/目录
- 核心概念图谱
- 重点摘录(带时间戳)
- 延伸阅读建议
模板: templates/lecture.md
# 📚 课程笔记: {{title}}
## 📖 课程信息
- **讲师**: {{speaker}}
- **时长**: {{duration}}
- **主题**: {{topics}}
## 🗺️ 知识图谱
```mermaid
{{knowledge_graph}}
⏱️ 章节速览
{{chapters}}
📝 核心概念
{{key_concepts}}
💡 重点摘录
{{key_quotes}}
❓ 疑问与思考
{{questions}}
🔗 延伸阅读
{{references}}
#### 3. Interview (访谈/采访)
**特征**: 问答形式、双方观点、深入探讨
**输出重点**:
- Q&A 结构化整理
- 双方核心观点对比
- 金句摘录
- 话题索引
**模板**: `templates/interview.md`
#### 4. Presentation (演讲/汇报)
**特征**: PPT 辅助、数据展示、观点阐述
**输出重点**:
- 核心论点(金字塔结构)
- 关键数据/图表描述
- 结论与建议
- 演讲技巧点评(可选)
**模板**: `templates/presentation.md`
#### 5. Podcast (播客/对话)
**特征**: 轻松对话、话题跳跃、金句频出
**输出重点**:
- 话题时间索引
- 金句摘录
- 推荐片段(高光时刻)
- 相关资源链接
**模板**: `templates/podcast.md`
#### 6. Tutorial (教程/演示)
**特征**: 步骤演示、操作指导、屏幕录制
**输出重点**:
- 步骤清单(可勾选)
- 关键截图提示
- 常见问题/踩坑点
- 快捷键/命令汇总
**模板**: `templates/tutorial.md`
#### 7. Note (个人录屏/语音备忘)
**特征**: 自言自语、快速记录、想法片段
**输出重点**:
- 清理格式化文本
- 想法归类标签
- 待办提取
- 关联笔记链接
**模板**: `templates/note.md`
---
## 任务分发系统 (@tags)
### 提取标签规则
AI 从视频中提取行动项时,自动识别并添加 @tags:
| Tag | 触发条件 | 分发给 |
|-----|----------|--------|
| `@user` | 指派给具体人员 | 用户通知 |
| `@assistant` | 需要 AI 执行 | 内置工具 |
| `@dev` | 代码相关任务 | 开发助手 |
| `@design` | 设计/前端任务 | 设计助手 |
| `@article` | 需要写文章 | content-publisher |
| `@reminder` | 需要提醒 | cron/gcal |
| `@research` | 需要调研 | web_search |
| `@design` | 需要设计稿 | image-gen |
| `@meeting` | 需要安排会议 | calendar |
| `@review` | 需要审核 | 通知相关人员 |
### 确认机制流程
视频处理完成 ↓ 提取行动项 + 自动标记 @tags ↓ 向用户展示提取结果 ↓ 用户确认/修改/取消 ↓ 分发到对应 skill 执行 ↓ 更新任务追踪状态
### 示例交互
**AI**: 已从会议视频中提取以下行动项:
```markdown
### @dev
- [ ] 实现用户认证模块的 JWT 刷新机制 (deadline: 周五)
- [ ] 优化数据库查询性能,目标 QPS > 1000
### @article
- [ ] 撰写"微服务架构实践"技术博客 (deadline: 下周四)
### @reminder
- [ ] cron: 0 10 * * 1 周报提醒
- [ ] 2026-04-01 跟进 Q2 OKR 进度
### @meeting
- [ ] 安排下周与产品团队的评审会
用户: 第1项改成 @张三,第2项优先级降低
AI: ✅ 已更新,确认分发吗?
用户: 确认
AI: 🚀 正在分发任务...
- ✅ @Codex 任务已发送至 agent-swarm
- ✅ @article 草稿已创建在 ~/Drafts/
- ✅ @reminder 已添加到 cron
- ✅ @meeting 会议邀请已发送到日历
数据源集成
已支持
| 来源 | 接入方式 | 自动扫描 |
|---|---|---|
| 本地视频文件 | 直接路径 | ❌ |
| Zoom 录制 | ~/Documents/Zoom | ✅ |
计划中
| 来源 | 接入方式 | 状态 |
|---|---|---|
| 腾讯会议 | ~/Documents/腾讯会议 | 🔜 |
| 钉钉会议 | 自定义路径 | 🔜 |
| YouTube | yt-dlp + URL | 🔜 |
| Bilibili | yt-dlp + URL | 🔜 |
| 阿里云盘 | 分享链接解析 | 🔜 |
| 百度网盘 | 分享链接解析 | 🔜 |
| Google Drive | API 集成 | 🔜 |
输出格式详情
Markdown (默认)
标准 Markdown 格式,兼容所有编辑器。
Obsidian
---
date: {{date}}
type: {{video_type}}
tags: [video-minutes, {{type_tag}}]
source: {{video_path}}
duration: {{duration}}
---
# {{title}}
## 关联笔记
- [[相关笔记1]]
- [[相关笔记2]]
## 内容
{{content}}
## 行动项
- [ ] #task 任务1 @{{assignee}}
Notion
自动创建数据库条目,包含:
- 标题、日期、类型、时长
- 内容块(Toggle 列表)
- 行动项(Checkbox)
- 嵌入视频链接
飞书文档
调用 Lark API 创建文档,支持:
- 富文本格式
- @提及用户
- 插入任务清单
依赖安装
必需依赖
# ffmpeg
brew install ffmpeg # macOS
sudo apt install ffmpeg # Ubuntu
winget install Gyan.FFmpeg # Windows
# Python 依赖
pip install -r requirements.txt
requirements.txt
# 🚀 insanely-fast-whisper (高性能转录)
faster-whisper>=1.0.0
# 其他依赖
ffmpeg-python>=0.2.0
pyyaml>=6.0
requests>=2.31.0
notion-client>=2.2.1
yt-dlp>=2023.12.30
onnxruntime>=1.16.0
torch>=2.0.0
性能优化
insanely-fast-whisper 优势
基于 faster-whisper,比原始 Whisper 快 2-4 倍:
| 特性 | openai-whisper | faster-whisper |
|---|---|---|
| 速度 | 1x (基准) | 2-4x ⚡ |
| 内存 | 较高 | 降低 50% 💾 |
| 精度 | 标准 | 相同 ✓ |
| 量化 | float32 | int8/int16 🔧 |
| VAD | 无 | 内置 🎙️ |
模型选择建议
| 模型 | 显存需求 | 适合场景 |
|---|---|---|
tiny | ~1GB | 快速预览、实时测试 |
base | ~1GB | 推荐,平衡速度质量 |
small | ~2GB | 更精准,慢 2x |
medium | ~5GB | 高精度,慢 4x |
large-v3 | ~10GB | 最佳质量,慢 8x |
设备与精度配置
whisper:
device: auto # auto/cpu/cuda/mps
compute_type: int8 # int8/int8_float16/float16/float32
- int8: 最快,内存占用最小,质量损失极小
- float16: 更快,需要 GPU
- float32: 标准精度
目录结构 (更新)
video-minutes/
├── SKILL.md # 本文件
├── config.yaml # 默认配置模板
├── README.md # 快速开始指南
├── requirements.txt # Python 依赖 ⭐
├── scripts/
│ ├── generate_minutes.py # 主入口 ⭐
│ ├── insanely_fast_transcriber.py # 高性能转录器 ⭐ NEW
│ ├── video_processor.py # 视频处理
│ ├── classifier.py # 视频类型分类
│ ├── config_manager.py # 配置管理
│ └── dispatcher.py # 任务分发
├── templates/ # 类型特定模板
│ ├── meeting.md
│ ├── lecture.md
│ ├── interview.md
│ ├── presentation.md
│ ├── podcast.md
│ ├── tutorial.md
│ └── note.md
└── references/
└── config/
└── config-schema.md # 配置 schema
配置参考
完整配置项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
output.language | string | "auto" | 输出语言 |
output.format | string | "markdown" | 输出格式 |
output.directory | string | "~/video-minutes" | 输出目录 |
whisper.model | string | "base" | 转录模型 |
whisper.device | string | "auto" | 计算设备 |
classification.enabled | bool | true | 启用分类 |
dispatch.confirm_before_dispatch | bool | true | 分发前确认 |
scanning.enabled | bool | true | 启用自动扫描 |
scanning.interval_minutes | int | 60 | 扫描间隔 |
故障排除
常见问题
Q: Whisper 下载模型失败
A: 设置镜像 export WHISPER_MIRROR=https://hf-mirror.com
Q: 视频无音频
A: 检查视频编码 ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1 input.mp4
Q: 分类不准确
A: 手动指定类型 --type meeting 或调整 classification.confidence_threshold
Q: 处理超时
A: 长视频建议分段 --segment-duration 1800 (30分钟一段)
相关 Skill
| Skill | 关系 |
|---|---|
task-dispatcher | 接收 @dev @design 代码/设计任务 |
content-publisher | 接收 @article 文章任务 |
cron / gcal | 接收 @reminder 提醒任务 |
elyfinn-voice-notes | 语音备忘录处理 (姊妹 skill) |
transcribe | 纯转录功能 (无总结) |
版本历史
v2.0.0 (2026-03-25) - 当前
- 🚀 新增 insanely-fast-whisper 支持 - 基于 faster-whisper,速度提升 2-4 倍
- ⚡ 性能优化 - 支持 int8 量化、VAD 过滤、词级时间戳
- 💾 内存优化 - 显存占用降低 50%
- 🔧 新配置项 -
compute_type支持多种精度模式
v1.2.0 (2026-03-21)
- ✅ 新增视频类型自动分类系统 (7种类型)
- ✅ 新增任务分发集成 (@tags)
- ✅ 新增 Obsidian/Notion/飞书多格式输出
- ✅ 新增首次设置向导
- ✅ 新增自动扫描队列系统
- ✅ 新增发言人识别
v1.1.0 (2026-03-15)
- 🔧 重构配置系统 (YAML 格式)
- 🔧 支持多语言自动检测
- 🔧 优化 Whisper 模型选择逻辑
v1.0.0 (2026-03-01)
- 🎉 初始版本
- ✅ 基础视频转文字
- ✅ Markdown 纪要生成
- ✅ 命令行接口
Roadmap
- 实时转录 (直播场景)
- 多模态分析 (PPT 内容提取)
- 视频摘要生成 (短视频)
- 团队协作功能 (共享队列)
- 移动端支持 (iOS Shortcuts)
备选方案
- 多模态视频理解:对于 2 小时以内的短视频,当前多模态模型可直接理解视频内容并生成纪要,无需完整的 ASR→转录→LLM 流水线。适合快速预览和简单总结场景。长视频(>2h)或需要精确字幕的场景仍推荐使用本技能的完整处理流程。