promptschat
Gives Claude Code access to the prompts.chat library, letting you search, retrieve and improve AI prompt templates, and find and install Agent Skills from its registry.
Finds engaging moments in long videos, generates transcripts, and cuts highlight clips with titles and cover images. Built for creators who want short clips from long recordings.
Claude Code
$ npx -y skills add linzzzzzz/openclip --agent claude-code
Codex
$ npx skills add linzzzzzz/openclip -a codex
Cursor
$ npx skills add linzzzzzz/openclip -a cursor
Gemini CLI
$ npx skills add linzzzzzz/openclip -a gemini-cli
GitHub Copilot
$ npx skills add linzzzzzz/openclip -a github-copilot
OpenCode
$ npx skills add linzzzzzz/openclip -a opencode
Windsurf
$ npx skills add linzzzzzz/openclip -a windsurf


English | 简体中文
一个轻量化自动化视频处理流水线,用于识别和提取长视频(特别是口播和直播回放)中最精彩的片段。使用 AI 驱动的分析来发现亮点,生成剪辑,并添加标题和封面。
输入一个视频 URL 或本地文件,自动完成 下载 → 转录 → 分割 → AI 分析 → 剪辑生成 → 添加标题和封面 的全流程处理,输出最精彩片段。适合从长直播或视频中快速提取高光时刻。
💡 与 AutoClip 的区别? 查看对比说明了解 OpenClip 的轻量级设计理念。
Auto (30s-3m)、30s-60s、60s-90s、90s-3m、3m-5mClip Editor:可对单个片段进行边界、字幕与封面标题的二次调整,并支持倍速重渲染文件上传 入口,可直接上传本地视频并创建处理任务;支持局域网/共享机器模式--deep-optimize / Streamlit「深度优化」模式:在候选片段汇总后增加一轮更深入的 AI 检查与边界修正,以提升片段边界质量和独立成段效果,详见开启 --deep-optimize 时custom_openai 提供商,可在 Streamlit 或 CLI 中自定义 LLM Model 与 LLM Base URL,对接本地或自建 OpenAI 兼容接口Cookie 模式;远程视频下载可按 不使用 cookies → 浏览器 cookies → Cookies 文件 的顺序尝试更早的更新
npx skills add https://github.com/linzzzzzz/openclip --skill video-clip-extractor 在任意目录安装为 Agent Skill,并让 Agent 调用--user-intent 参数 — 用自然语言告诉 AI 你在找什么(如 --user-intent "关于 AI 风险的观点"),LLM 在片段筛选和排名时会优先考虑相关内容git fetch origin && git reset --hard origin/main 以同步最新历史--burn-subtitles 将 SRT 字幕直接烧录到剪辑视频中;可选 --subtitle-translation "Simplified Chinese" 同时烧录中英双语字幕(需要带 libass 的 ffmpeg)--speaker-references 为访谈/座谈/播客视频自动标注说话人姓名00:01:55 vs 01:55:00)--user-intent 引导 AI 聚焦特定关注点brew install ffmpegsudo apt install ffmpeg需要双语字幕烧录?点击查看带 libass 的安装方式
默认安装通常不包含 libass:
brew tap homebrew-ffmpeg/ffmpeg && brew install homebrew-ffmpeg/ffmpeg/ffmpeg(替换已有的 ffmpeg)sudo add-apt-repository ppa:savoury1/ffmpeg4 && sudo apt install ffmpegLLM API Key / 接口配置(选择其一)
CUSTOM_OPENAI_BASE_URL 和 CUSTOM_OPENAI_MODEL,CUSTOM_OPENAI_API_KEY 可选Chrome / Firefox / Edge / Safari 浏览器(可选)- 当你选择使用浏览器 Cookie 时,可用于远程视频下载身份验证
Deno 或 Node(可选,YouTube 下载可能会需要)- 提升 YouTube 下载稳定性。OpenClip 会自动检测并使用;如果你主要处理 YouTube,尤其是需要 cookies 的情况,建议安装
HuggingFace Token (可选,用于说话人识别) - 从 huggingface.co/settings/tokens 获取,并接受 pyannote 模型协议
运行 uv sync 时会自动安装以下依赖:
可选 extra:
uv sync --extra paraformer - 安装 Paraformer 中文本地 ASR 运行时依赖uv sync --extra speakers - 安装 WhisperX 说话人识别依赖# 克隆仓库
git clone https://github.com/linzzzzzz/openclip.git
cd openclip
# 使用 uv 安装依赖
uv sync
🈶 启用 Paraformer 中文本地 ASR(可选)
本地 ASR 会按语言自动路由:英文使用 Whisper,中文优先使用 Paraformer。若要启用 Paraformer,请安装额外依赖:
uv sync --extra paraformer
OpenClip 默认使用仓库内置的 helper:third_party/funasr-paraformer。通常不需要设置 PARAFORMER_PROJECT_DIR;只有当你把 helper 放在仓库外部时才需要设置:
export PARAFORMER_PROJECT_DIR=/path/to/funasr-paraformer
如果 Paraformer 依赖或 helper 不可用,OpenClip 会自动回退到 Whisper。
根据你选择的 LLM 提供商,设置对应的环境变量(至少配置一组):
export QWEN_API_KEY=your_api_key_here # 通义千问
export OPENROUTER_API_KEY=your_api_key_here # OpenRouter
export GLM_API_KEY=your_api_key_here # 智谱AI GLM (bigmodel.cn 国内端点)
export MINIMAX_API_KEY=your_api_key_here # MiniMax (minimaxi.com 国内端点)
export CUSTOM_OPENAI_API_KEY=your_api_key_here # custom_openai,可选
export CUSTOM_OPENAI_BASE_URL=http://127.0.0.1:8000/v1
export CUSTOM_OPENAI_MODEL=Qwen/Qwen2.5-7B-Instruct
说明:
custom_openai 适合对接 LM Studio、vLLM、One API、New API 等 OpenAI 兼容服务CUSTOM_OPENAI_BASE_URL 可以是 API 根路径(如 .../v1),也可以直接写完整的 /chat/completions 接口CUSTOM_OPENAI_API_KEY 可以留空LLM Model 和 LLM Base URL;CLI 对应参数为 --llm-model 和 --llm-base-url启动 Streamlit 应用:
uv run python -m streamlit run streamlit_app.py
应用启动后,打开浏览器访问显示的 URL(通常是 http://localhost:8501)。
局域网/共享机器模式
如果需要从同一局域网内的其他设备访问 Streamlit,并让「Open in Editor」显示可访问的 Clip Editor 链接:
export OPENCLIP_EDITOR_BASE_URL=http://HOST_LAN_IP:8765
# 可选:显式指定编辑器服务监听地址与端口
export OPENCLIP_EDITOR_HOST=0.0.0.0
export OPENCLIP_EDITOR_PORT=8765
uv run python -m streamlit run streamlit_app.py --server.address 0.0.0.0 --server.port 8501
可用以下命令查看 Mac 主机的局域网 IP:
ipconfig getifaddr en0
在另一台同网设备上打开 http://HOST_LAN_IP:8501。Clip Editor 项目地址形如 http://HOST_LAN_IP:8765/projects/PROJECT_ID。
在局域网模式下,「Open in Editor」会在 Streamlit 中显示「Open Clip Editor」链接,而不会在服务器机器上自动打开浏览器标签页。如果链接无法打开,请确认两台设备在同一网络,并允许防火墙访问 8501 和 8765 端口。
使用流程:
LLM Model、LLM Base URL、Cookie 模式等)如果选择 custom_openai,请在侧边栏填写 LLM Model 和 LLM Base URL;如果你的接口不需要鉴权,API Key 可以留空。
优势: 无需记住命令行参数,提供可视化操作界面,适合所有用户。
🔄 并发处理与后台任务
Streamlit 界面支持后台任务处理和并发处理多个视频:
后台任务处理:
并发处理多个视频:
Watch Progress 功能:
任务管理:
如果你使用 Claude Code、TRAE、Cursor 或任何其他支持 skills 的 Agent,可以直接用自然语言处理视频,无需手动输入命令:
"帮我从这个视频里提取精彩片段:https://www.bilibili.com/video/BV1234567890"
"处理一下 ~/Downloads/livestream.mp4,用英语作为输出语言"
Agent 会自动完成环境配置、下载、转录、分析、剪辑和标题添加等全部流程。
选择安装方式:
| 场景 | 操作 |
|---|---|
| 已克隆本仓库 | 无需操作 — 在仓库目录内打开 Agent 时技能自动生效 |
| 全局使用(任意目录、任意项目均可触发) | 在任意目录执行:npx skills add https://github.com/linzzzzzz/openclip --skill video-clip-extractor -g |
| 仅在某个特定项目目录内使用 | 在该目录下执行:npx skills add https://github.com/linzzzzzz/openclip --skill video-clip-extractor |
技能定义位于 .claude/skills/video-clip-extractor/ 目录下。
# 处理 Bilibili 视频
uv run python video_orchestrator.py "https://www.bilibili.com/video/BV1234567890"
# 处理 YouTube 视频
uv run python video_orchestrator.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# 处理本地视频
uv run python video_orchestrator.py "/path/to/video.mp4"
如需使用已有字幕,请将
.srt文件放在同目录下,文件名保持一致(如video.mp4→video.srt)。
🎙️ 说话人识别(可选,预览版)
⚠️ 预览功能:说话人识别功能目前处于预览阶段,后续版本中行为或接口可能有所调整。
🐢 性能提示:说话人识别依赖 pyannote 模型,在 CPU 上运行较慢(长视频可能需要数分钟)。有 GPU 环境下速度会显著提升。
适用于访谈、座谈、辩论、播客等多人对话视频。启用后,字幕中每句话前会标注说话人姓名,例如 [Host] 欢迎来到今天的节目。这为 AI 的高光分析提供了更丰富的上下文——让它能更准确地识别特定说话人之间最精彩的交流片段,而非将所有语音一视同仁。
步骤一:安装额外依赖
uv sync --extra speakers
步骤二:设置 HuggingFace Token
export HUGGINGFACE_TOKEN=hf_your_token_here
并在 HuggingFace 上接受 pyannote 模型协议。
步骤三:提取参考音频
从视频中截取每位说话人的参考片段(10–30 秒,单人清晰语音):
uv run python tools/extract_reference.py VIDEO 起始时间 结束时间 "references/姓名.wav"
# 示例
uv run python tools/extract_reference.py interview.mp4 00:01:23 00:01:50 "references/Host.wav"
uv run python tools/extract_reference.py interview.mp4 00:03:10 00:03:40 "references/Guest.wav"
步骤四:运行
uv run python video_orchestrator.py --speaker-references references/ "VIDEO_URL_OR_PATH"
🔤 字幕烧录(可选)
将 SRT 字幕文件硬烧到视频画面中(即使没有字幕播放器也能看到字幕)。支持原始字幕烧录,或通过当前选定的 LLM 提供商翻译后同时烧录双语字幕。说话人标签(如 [Sam Altman])会自动从画面中移除。
前提:ffmpeg 需包含 libass(详见上方安装说明)
仅烧录原始字幕:
uv run python video_orchestrator.py --burn-subtitles "VIDEO_URL"
烧录原始 + 中文翻译字幕:
uv run python video_orchestrator.py \
--burn-subtitles \
--subtitle-translation "Simplified Chinese" \
"VIDEO_URL"
输出文件在 clips_post_processed/ 目录,英文字幕显示在底部,中文字幕显示在英文上方。
远程视频下载有时会遇到登录验证、风控或平台限制。OpenClip 支持三种模式:
不使用 cookies:先尝试最简单的公开访问方式浏览器 cookies:使用本机浏览器中的登录态Cookies 文件:使用导出的 Netscape 格式 cookies.txt推荐尝试顺序:
不使用 cookiesnot a bot、LOGIN_REQUIRED 等错误,再试 浏览器 cookiesCookies 文件YouTube 特别说明:
CLI 对应方式:
--browser chrome(或你实际使用的浏览器)--cookies /path/to/cookies.txt注意:
导出 Cookies 文件:
cookies.txt,可参考 yt-dlp 官方教程:
Exporting YouTube cookiesGives Claude Code access to the prompts.chat library, letting you search, retrieve and improve AI prompt templates, and find and install Agent Skills from its registry.
A Claude Code skill for generating editable PPTX presentations and slides from a workflow, with reusable brand, style, layout, and deck workspaces, native charts, speaker notes, and template filling.
Gives AI agents control over Word, Excel and PowerPoint files, with skills for building .docx reports, academic papers, Excel dashboards and Morph-style animated slides.
A skill that builds animation-rich HTML presentations from scratch or converts PowerPoint files to web slides. Useful for anyone turning a deck into a web presentation.
Finds engaging moments in long videos, generates transcripts, and cuts highlight clips with titles and cover images. Built for creators who want short clips from long recordings. Install it with the command on its page. It includes video-clip-extractor. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it