Install
openclaw skills install @ajayhao/video-summarizer将 B 站/YouTube/小红书/抖音视频转换为结构化总结,推送到 Obsidian 本地知识库 + Notion 云端
openclaw skills install @ajayhao/video-summarizer将 B 站/YouTube/小红书/抖音视频转换为结构化 Notion 总结文档,自动上传截图,一键推送 Notion。
版本: 1.1.3
发布: 2026-06-23
许可: MIT
作者: Ajay Hao
⚠️ 安全提示: 本技能会将视频内容发送至第三方 AI 服务进行分析。建议使用专用 API Key,OSS Bucket 配置最小权限。详见 安全说明。
# 1. 安装依赖
pip3 install requests oss2 python-dotenv
# 系统依赖: ffmpeg (>=6.1), yt-dlp (>=2026.03.17)
# 2. 配置环境变量 ($AGENT_HOME/.env)
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.deepseek.com
LLM_MODEL=deepseek-v4-pro
ALIYUN_OSS_AK=your_ak
ALIYUN_OSS_SK=your_sk
ALIYUN_OSS_BUCKET_ID=your_bucket
ALIYUN_OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com
# 3. 运行
cd scripts
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx"
# 4. 查看结果
cat $TMPDIR/video-summarizer-*/summary.md # Linux: /tmp/... Windows: %TEMP%/...
| 变量 | 说明 | 示例 |
|---|---|---|
LLM_API_KEY | AI 分析 API Key | sk-xxx |
LLM_BASE_URL | LLM API 地址(OpenAI 兼容) | https://api.deepseek.com |
LLM_MODEL | 模型名称 | deepseek-v4-pro |
ALIYUN_OSS_AK | 阿里云 OSS AccessKey | |
ALIYUN_OSS_SK | 阿里云 OSS Secret | |
ALIYUN_OSS_BUCKET_ID | OSS Bucket 名称 | |
ALIYUN_OSS_ENDPOINT | OSS 区域端点 | oss-cn-shanghai.aliyuncs.com |
| 变量 | 说明 | 默认行为 |
|---|---|---|
OBSIDIAN_VAULT_PATH | Obsidian Vault 路径(推荐配置) | 未配置时跳过存储 |
GROQ_API_KEY | Groq 语音转录加速 | 未配置时使用本地 Faster-Whisper |
NOTION_API_KEY | Notion API Key | 未配置时跳过推送 |
NOTION_VIDEO_SUMMARY_DATABASE_ID | Notion 数据库 ID | 同上 |
WHISPER_MODEL | 本地 Whisper 模型 | base |
通过 LLM_BASE_URL 可接入 DeepSeek / DashScope / OpenAI / Groq 等任意 OpenAI 兼容平台。
用户输入 (视频 URL)
↓
Step 1: 平台识别 + 元数据
↓
┌──────┴──────┐
↓ ↓
Step 2: 字幕 Step 3: 视频下载 ← 并行执行
↓ ↓
└──────┬──────┘
↓
Step 4: 文本提取 (VTT → TXT / Plan B 转录)
↓
Step 5: AI 分析 (OpenAI 兼容接口)
↓
Step 6: 截图生成 (ffmpeg, 基于 AI 时间戳)
↓
Step 7: OSS 上传 (截图 + 封面)
↓
Step 8: Markdown 渲染
↓
Step 9: Notion 推送 (可选, --notion)
↓
Step 10: Obsidian 本地存储 (默认, --no-obsidian 禁用)
| 层级 | 技术 |
|---|---|
| 编排层 | Bash (video-summarize.sh) |
| 分析层 | Python + OpenAI 兼容 LLM API |
| 转录层 | Groq API (可选) / Faster-Whisper (本地) |
| 工具层 | yt-dlp, ffmpeg, oss2, requests |
| 脚本 | 功能 |
|---|---|
video-summarize.sh | 主流程编排(Plan A/B 自动选择) |
analyze-subtitles-ai.py | AI 分析 + Markdown 渲染 |
upload-to-oss.py | OSS 图床上传(截图 + 封面) |
push-to-obsidian.py | Obsidian Vault 写入(默认) |
push-to-notion.py | Notion 推送(--notion 触发) |
transcribe-audio.py | 语音转录(GPU 自适应) |
llm_client.py | 多平台 LLM 客户端(OpenAI 兼容) |
bili-login.sh | B 站扫码登录 |
douyin_downloader.py | 抖音专用下载器 |
check-config.sh | 配置检查 |
output/
├── summary.md # 📝 最终总结(主要成果)
├── ai_result.json # 🧠 AI 分析原始结果
├── screenshot_urls.txt # 🔗 截图 OSS 链接
├── metadata.json # 📊 视频元数据
├── transcript.txt # 📄 纯文本字幕
├── audio.txt # 🎤 语音转录原始文本(Plan B)
├── cover_url.txt # ☁️ 封面 OSS 上传结果
├── screenshot_times.txt # ⏱️ 截图时间戳记录
├── screenshots/ # 📸 截图原图
├── cover.jpg # 🖼️ 封面图
└── *.log # 📋 日志文件
#标签 格式提取规则:2-15 字符,最多 5 个,自动去重,优先级 1→2→3→4。
生成的 summary.md 包含:
| 平台 | Plan A | Plan B(本地) | Plan B(Groq) |
|---|---|---|---|
| Bilibili | ~90 秒 | ~150 秒 | ~120 秒 |
| YouTube | ~90 秒 | ~150 秒 | ~120 秒 |
| 小红书 | - | ~150 秒 | ~120 秒 |
| 抖音 | - | ~150 秒 | ~120 秒 |
四种场景,一条命令覆盖:
| 你的配置 | 命令 | 效果 |
|---|---|---|
| 都不配 | --no-obsidian | 仅抓取,会话中输出 Markdown |
| 仅 Notion | --no-obsidian --notion | 推送到 Notion |
| 仅 Obsidian(推荐) | (零参数) | 推送到 Obsidian,零外部依赖 |
| 两者都配 | --notion | Obsidian + Notion 双存档 |
💡 无论哪种配置,
summary.md始终在临时目录生成,可随时手动查阅。
视频总结完成后,默认推送到 Obsidian——本地优先,零外部依赖。
{Obsidian Vault}/
└── 1-收件箱/
└── 视频总结/
├── bilibili_BV1xxx_20260622.md # YAML frontmatter + status: inbox
└── attachments/
├── screenshot_01.jpg
└── cover.jpg
# 在 $AGENT_HOME/.env 中添加
# macOS
OBSIDIAN_VAULT_PATH=/Users/name/ObsidianVault
# Windows
OBSIDIAN_VAULT_PATH=D:\ObsidianVault
# Linux
OBSIDIAN_VAULT_PATH=/home/name/ObsidianVault
# 默认:推送到 Obsidian
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx"
# Obsidian + Notion 两者
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx" --notion
# 仅 Notion
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx" --notion --no-obsidian
# 仅分析不推送
./video-summarize.sh "https://www.bilibili.com/video/BV1xxxx" --no-obsidian
维护人: Ajay Hao
项目地址: https://github.com/AjayHao/video-summarizer
Hermes Skill: 适用于 Hermes Agent 平台