Content Publisher Pro
一键将文章发布至 GitHub Pages 和 Dev.to,支持 SEO 优化与去重检查。
支持B站、小红书、抖音、YouTube的视频内容自动摘要,提取关键信息与时间戳。
openclaw skills install @lifei68801/video-summary命令、参数、文件名以原文为准
适用于多平台内容的智能视频摘要生成。支持 Bilibili、小红书、抖音、YouTube 以及本地视频文件。
运行无需 API 密钥。该技能负责提取视频内容并生成结构化摘要请求,由代理(或外部工具)完成大模型调用。
# 可选:若希望代理自动调用大模型进行摘要
export OPENAI_API_KEY="your-api-key-here"
export OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4
# 可选:指定 Whisper 模型用于语音转文字(默认:base)
export VIDEO_SUMMARY_WHISPER_MODEL=base工作流程:
只需将 OPENAI_BASE_URL 设置为对应服务商的 API 地址即可。
部分小红书和抖音视频可能需要登录态才能访问:
# 设置 Cookie 文件路径
export VIDEO_SUMMARY_COOKIES=/path/to/cookies.txt
# 或通过命令行参数指定
video-summary "https://xiaohongshu.com/..." --cookies cookies.txt⚠️ Cookie 安全提示:
若配置未完成,可输入:
"help me configure video-summary"
# 检查所需工具是否安装
yt-dlp --version && jq --version && ffmpeg -version
# 若缺失,请安装
pip install yt-dlp
apt install jq ffmpeg # 或:brew install jq ffmpeg# 生成标准摘要
video-summary "https://www.bilibili.com/video/BV1xx411c7mu"
# 带章节划分的摘要
video-summary "https://www.youtube.com/watch?v=xxxxx" --chapter
# 以 JSON 格式输出,便于程序调用
video-summary "https://www.xiaohongshu.com/explore/xxxxx" --json
# 仅提取字幕(不进行 AI 摘要)
video-summary "https://v.douyin.com/xxxxx" --subtitle
# 保存结果到文件
video-summary "https://www.bilibili.com/video/BV1xx" --output summary.md
# 使用 Cookie 访问受限内容
video-summary "https://www.xiaohongshu.com/explore/xxxxx" --cookies cookies.txt只需说出:
"Summarize this video: [URL]"
代理将自动执行以下步骤:
| 命令 | 说明 |
|---|---|
video-summary "<url>" | 生成标准摘要 |
video-summary "<url>" --chapter | 按章节分段摘要 |
video-summary "<url>" --subtitle | 仅提取原始字幕 |
video-summary "<url>" --json | 输出结构化 JSON 格式 |
video-summary "<url>" --lang <code> | 指定字幕语言(默认:自动识别) |
video-summary "<url>" --output <path> | 将输出保存至指定文件 |
video-summary "<url>" --cookies <file> | 使用 Cookie 文件访问受限制内容 |
video-summary "<url>" --transcribe | 强制使用 Whisper 进行语音转写 |
| 平台 | 字幕提取方式 | 说明 |
|---|---|---|
| YouTube | 原生字幕 + 自动生成 | 支持最佳 |
| Bilibili | 原生字幕 + 备用方法 | 需提取视频 ID |
| 小红书 | 有限(OCR 作为后备) | 无原生字幕,依赖语音转写 |
| 抖音 | 有限(OCR 作为后备) | 短视频形式,可能需转写 |
| 本地文件 | Whisper 语音转写 | 支持 mp4、mkv、webm、mp3 等格式 |
YouTube:
https://www.youtube.com/watch?v=xxxxxhttps://youtu.be/xxxxxBilibili:
https://www.bilibili.com/video/BV1xx411c7muhttps://www.bilibili.com/video/av123456小红书:
https://www.xiaohongshu.com/explore/xxxxxhttps://xhslink.com/xxxxx(短链)抖音:
https://www.douyin.com/video/xxxxxhttps://v.douyin.com/xxxxx(短链)URL 输入
↓
平台识别
↓
字幕提取(yt-dlp / Whisper)
↓
内容分块(长视频时)
↓
大模型摘要(OpenAI API / 代理)
↓
结构化输出
↓
自动清理| 视频时长 | tiny | base | small | medium |
|---|---|---|---|---|
| 5 分钟 | ~30秒 | ~1分钟 | ~2分钟 | ~4分钟 |
| 15 分钟 | ~1.5分钟 | ~3分钟 | ~6分钟 | ~12分钟 |
| 30 分钟 | ~3分钟 | ~6分钟 | ~15分钟 | ~30分钟 |
| 60 分钟 | ~6分钟 | ~12分钟 | ~30分钟 | ~60分钟 |
说明:
base 模型以平衡性能与质量| 平台 | 时间 | 说明 |
|---|---|---|
| YouTube | ~5秒 | 直接下载字幕 |
| Bilibili | ~5秒 | 直接下载字幕 |
| 小红书 | ~3分钟 | 需要语音转写 |
| 抖音 | ~2分钟 | 需要语音转写 |
对于无原生字幕的平台(如小红书、抖音),需安装 Whisper:
pip install openai-whisper随后配置模型:
export VIDEO_SUMMARY_WHISPER_MODEL=base # 可选:tiny, base, small, medium, large此脚本不会直接调用大模型 API。 它会输出结构化的请求,由代理(agent)进行处理。
若希望代理调用大模型进行摘要,请配置以下内容:
# 可选:您的大模型服务提供商的 API 密钥
export OPENAI_API_KEY="your-api-key-here"
# 可选:自定义 API 端点(适用于非 OpenAI 提供商)
export OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4 # 通义千问
# export OPENAI_BASE_URL=https://api.deepseek.com/v1 # 深度求索
# export OPENAI_BASE_URL=https://api.moonshot.cn/v1 # 月之暗面
# 可选:模型选择
export OPENAI_MODEL=gpt-4o-mini未提供 API 密钥时: 脚本将输出视频字幕文本和结构化请求,由代理完成摘要任务。
部分平台对特定内容需要身份验证才能访问:
# 方法一:命令行传入
video-summary "https://www.xiaohongshu.com/explore/xxxxx" --cookies cookies.txt
# 方法二:环境变量设置
export VIDEO_SUMMARY_COOKIES=/path/to/cookies.txt如何获取 Cookie:
创建 ~/.video-summary/prompt.txt 文件:
# 摘要模板
## 核心观点
- 列出 3-5 个核心论点
## 关键信息
- 数据、案例、引用语句
## 行动建议
- 观众可采取的具体行动
## 时间戳导航
- 关键时刻的时间点及描述# 视频标题
**时长**: 12:34
**平台**: 哔哩哔哩
**作者**: 科技创作者
## 核心内容
本视频解释了...
## 重点要点
1. 第一个要点
2. 第二个要点
3. 第三个要点
## 时间戳
- 00:00 引言
- 02:15 核心概念
- 08:30 案例分析
- 11:45 总结--json 参数){
"title": "视频标题",
"platform": "bilibili",
"duration": 754,
"author": "创作者姓名",
"summary": "核心内容摘要...",
"keyPoints": ["要点1", "要点2", "要点3"],
"chapters": [
{"time": 0, "title": "引言", "summary": "..."},
{"time": 135, "title": "核心概念", "summary": "..."}
],
"transcript": "完整字幕文本..."
}| 工具 | 是否必需 | 用途 |
|---|---|---|
| yt-dlp | 是 | 视频与字幕下载 |
| jq | 是 | JSON 处理 |
| ffmpeg | 是 | 音视频处理 |
| whisper | 可选 | 本地语音转写 |
~/.openclaw/workspace/skills/video-summary/
├── SKILL.md # 此文件
├── scripts/
│ └── video-summary.sh # 主要 CLI 脚本
├── prompts/
│ ├── summary-default.txt
│ └── summary-chapter.txt
└── references/
└── platform-support.md # 各平台支持详情| 变量 | 默认值 | 说明 |
|---|---|---|
OPENAI_API_KEY | - | 可选 - 用于大模型摘要的 API 密钥(由代理使用,本脚本不直接调用) |
OPENAI_BASE_URL | https://api.openai.com/v1 | 可选 - 自定义 API 端点 |
OPENAI_MODEL | gpt-4o-mini | 可选 - 用于摘要的大模型 |
VIDEO_SUMMARY_WHISPER_MODEL | base | Whisper 模型大小 |
VIDEO_SUMMARY_COOKIES | - | 可选 - Cookie 文件路径(仅本地读取,不会上传) |
--transcribe 参数启用 Whisper 进行语音转写pip install yt-dlp
# 或
brew install yt-dlp# 安装所有依赖
pip install yt-dlp
apt install jq ffmpeg # Ubuntu/Debian
# 或
brew install jq ffmpeg # macOS超过 1 小时的视频会自动分段处理:
--cookies 参数访问受限内容--cookies 实现认证访问| 特性 | OpenClaw 摘要 | video-summary |
|---|---|---|
| YouTube | ✅ | ✅ |
| 哔哩哔哩 | ❌ | ✅ |
| 小红书 | ❌ | ⚠️(需转写) |
| 抖音 | ❌ | ⚠️(需转写) |
| 章节分割 | ❌ | ✅ |
| 时间戳支持 | ❌ | ✅ |
| 字幕提取 | ❌ | ✅ |
| JSON 输出 | ❌ | ✅ |
| 保存到文件 | ❌ | ✅ |
| Cookie 支持 | ❌ | ✅ |
发现 Bug 或希望增加平台支持?
call_llm 函数缺少闭合括号)OPENAI_API_KEY 明确标注为可选(由代理使用,脚本本身不调用)_meta.json 与 SKILL.md 版本同步问题_meta.json 版本与 SKILL.md 同步,解决打包不一致警告--output 参数--cookies 参数*让视频内容更易获取。看得更少,学得更多。*
已收录 1 个 Skill