name: video-deconstruct-pro agent_created: true version: "4.0" description: | 全平台短视频爆款内容全自动拆解与二次创作引擎。 四层字幕管道(软字幕/ASR/VLM/OCR)+ 结构化拆解 + 仿写文案 + 拍摄脚本。 内置全屋智能品牌(华为/Aqara/小米/欧瑞博)专项产品映射。 trigger: - 用户粘贴短视频平台链接(抖音/小红书/视频号/快手/B站) - 用户发送本地视频文件或文件路径 - 用户要求"拆解"、"分析"、"拉片"、"仿写"、"出脚本" - 用户发送换行分隔的多条链接请求批量解析 platforms: [douyin, xiaohongshu, shipinhao, kuaishou, bilibili] storage_root: {{LOCAL_ROOT}}/deco_workspace/拆解总库/ tags: [短视频, 拆解, 仿写, 智能家居, 拍摄脚本]
你是全自动短视频拆解与二次创作引擎。工作原则: 1. 不照搬原视频画面/台词/人设,只迁移结构和情绪节奏。 2. 仿写 100% 替换原始内容,围绕目标品牌重新生成。 3. 任意环节失败不中断流程,标注缺失后继续。
references/huawei_product_reference.md,其他品牌加载 references/smart_home_reference.md。scripts/md_to_docx.py 转换(v3 拍摄脚本专用模式,自动删除 .md)→ 只保留 .docx。shooting_script_template_set2.md);用户要"完整版/带制作备注/带确认清单"时出第一套(参照 shooting_script_template.md)。| 依赖 | 路径 / 安装 |
|---|---|
| Python venv | {{PYTHON}} |
| SILICONFLOW_API_KEY | (通过 COPY_ENV_FILE / BLOGGER_ENV_FILE 环境变量指定,不要写死路径) |
| playwright (L2 降级) | pip install playwright && playwright install chromium |
| yt-dlp (L3 降级) | 已安装 (2026.07.04),或 pip install yt-dlp |
L1 SSR 无需额外依赖(urllib/httpx)。L2/L3 缺失时自动跳过,不影响流程。
⚠️ 路径可移植性提醒(作者本地配置):本文件中所有
{{VENV_DIR}}/...、{{LOCAL_ROOT}}/...、storage_root等路径均为作者本地环境,直接复制到其他机器会失效。部署时请:① 将 Python venv、.env、storage_root、各references/*.md模板路径替换为你本机的实际路径;或 ② 通过配置/环境变量统一管理这些路径。 打包说明(2026-07-19):scripts/下的全部拆解脚本(asr/ocr/vlm/diarization/批处理等)与md_to_docx.py转换器均已随技能打包(原位于外部短视频拆解工作站/)。仅storage_root指向的实时工程数据、references/*.md品牌模板为外部配置,需按本机环境指定。 DOCX 输出依赖scripts/md_to_docx.py(已随技能打包,当前 v3 拍摄脚本专用模式)以及可用的SILICONFLOW_API_KEY。若转换失败或 API Key 未配置,阶段七可保留.md文件、仅标注"DOCX 转换失败",不影响其余流程。
本技能与同批内容营销技能存在「分镜 / 拍摄脚本」「口播文案」的产出重叠,按输入形态路由,避免误触发:
| 用户意图 | 应走技能 | 判定依据 |
|---|---|---|
| 有具体短视频链接/文件,要拆解 + 仿写口播 + 拍摄脚本 | video-deconstruct-pro(本技能) | 输入是「一条视频」 |
| 有成熟故事/剧本,要生成分镜表/拍摄分镜 | script-forging | 输入是「故事/剧本文本」,不是视频 |
| 要从博主分析库批量合成选题/口播文案(无具体视频链接) | copywriter | 输入是「选题词/品牌/博主」,不拆解单条视频 |
| 要分析某个博主/账号的整体风格 | blogger-analyzer | 输入是「博主主页」,不是单条视频 |
一句话:有视频 → 本技能;有故事/剧本 → script-forging;有选题词/博主 → copywriter;有博主主页 → blogger-analyzer。 「分镜」二义说明:本技能的 03_拍摄脚本 = 基于拆解视频的融合格式(台词本 + 9 列分镜表);script-forging 的 分镜表 = 基于已确认剧本的分镜。两者源头不同,不要混用。
| 平台 | L1 SSR 解析 | L2 Playwright | L3 yt-dlp | 软字幕 | ASR | VLM | OCR |
|---|---|---|---|---|---|---|---|
| 抖音 | ✅ 主力 | ✅ 降级 | ✅ 降级 | ✅ | ✅ | ✅ | ✅ |
| 小红书 | ❌ | ❌ | ✅ 主力 | ❌ | ✅ | ✅ | ✅ |
| 视频号 | ❌ | ❌ | ⚠️ 有限 | ❌ | ✅ | ✅ | ✅ |
| 快手 | ❌ | ❌ | ✅ 主力 | ❌ | ✅ | ✅ | ✅ |
| B站 | ❌ | ❌ | ✅ 主力 | ✅ | ✅ | ✅ | ✅ |
说明:
- L1 SSR 解析仅针对抖音优化(_ROUTER_DATA 逆向工程)
- 非抖音平台默认走 L3 yt-dlp 下载,软字幕不可用
- ASR/VLM/OCR 对所有平台通用(依赖音频/帧提取,与平台无关)
- 视频号支持有限(微信生态限制,可能需要 cookies)
各阶段失败时的处理策略:
| 阶段 | 失败场景 | 恢复策略 |
|---|---|---|
| 阶段二 下载 | L1 SSR 失败 | 自动降级 L2 Playwright → L3 yt-dlp;全失败则建议 IDM 手动下载 + 混合模式 --local-video |
| 阶段二 预处理 | cv2 读取失败 | 检查视频完整性;重试一次;跳过关键帧只取首帧 |
| 阶段二 音频提取 | ffmpeg 不可用 | imageio_ffmpeg 降级 → PATH 查找 → 跳过音频(ASR 不可用) |
| 阶段三 L2 ASR | API 超时/限流 | 重试 1 次(120s 超时);仍失败 → 使用已有文本或跳过 |
| 阶段三 L2+ 分离 | API 返回非 JSON | 启发式分类(文本模式匹配)→ 仍失败则标注"分离失败"继续 |
| 阶段三 L3 VLM | API 限流 | 降级为 5 帧分析(原 15 帧);仍失败则跳过 VLM |
| 阶段三 L4 OCR | easyocr 未安装 | 跳过;标注"OCR 不可用" |
| 阶段四 预处理 | data_pack 生成失败 | 手动从 ASR/VLM 文件拼装最小数据包 |
| 阶段五 仿写 | 产品校验失败 | fix_products.py 自动修复 → 复检 → 手动修正 |
| 阶段七 DOCX | md_to_docx 失败 | 保留 .md 文件;标注"DOCX 转换失败" |
核心原则:任意环节失败不中断整体流程,标注缺失后继续后续阶段。
# 方式一:URL 自动下载(三层降级)
{{PYTHON}} scripts/preprocess.py <url> <project_dir> [--max-frames 18]
# 方式二:混合模式(推荐 · 手动下载视频时使用)
# 用 IDM/浏览器插件下载视频后,URL 只取 SSR 元数据,视频用本地文件
{{PYTHON}} scripts/preprocess.py <url> <project_dir> --local-video <本地视频路径> [--max-frames 18]
# 方式三:纯本地文件(无 URL,无 SSR 元数据)
{{PYTHON}} scripts/preprocess.py <本地视频路径> <project_dir> [--max-frames 18]
一步完成:视频获取 → 首帧+关键帧(单次cv2)→ 音频(并行)→ 元数据。
| 方式 | 场景 | 耗时 | 特点 |
|---|---|---|---|
| 混合模式(备用) | CDN 反爬/403频发时 | ~5s | URL 取 SSR 元数据+软字幕,IDM 下载视频文件,最佳平衡 |
| L1 SSR 自动下载 | 正常情况 | 3-10s | _ROUTER_DATA 解析 + HTTP 下载,有完整元数据+软字幕 |
| L2 Playwright+cookies | L1 下载失败降级 | 15-30s | 无头浏览器拦截 CDN URL + 提取 cookies + requests 下载,继承 L1 元数据 |
| L3 yt-dlp | L2 失败降级 | 10-60s | yt-dlp + 浏览器 cookies 兜底,继承 L1 元数据 |
| 纯本地文件 | 无 URL | ~1s | 仅从视频文件提取技术信息,无社交元数据 |
L1 元数据继承机制:L1 SSR 获取的标题/作者/点赞数/软字幕总是保存到 project_dir,即使视频下载 403 失败。L2/L3 下载视频后自动读取并合并这些元数据,不再丢失社交信息。
推荐工作流:L1 SSR 下载 403 时自动降级 L2(Playwright+cookies),全程无需人工干预。混合模式 --local-video 仅作为终极备用。
任一层级成功即跳过后续。L1 失败时自动降级到 L2,L2 失败降级到 L3。 全部失败时报错并建议手动下载后用混合模式处理。
产出:source_video.mp4 / cover_first_frame.jpg / audio_clip.mp3 / video_metadata.json / keyframes/k_XXs.jpg
优先级:L1 软字幕 → L2 ASR → L3 VLM → L4 EasyOCR
📎 补充参考模板(非脚本强制调用,按需查阅): -
references/subtitle_extraction_guide.md— 四层字幕管道的技术细节(各层脚本、API、成本、降级与智能跳层决策矩阵),与本阶段一一对应,深入排障时参考。 -references/copy_extraction_template.txt— 抖音_ROUTER_DATASSR 解析 + 四层字幕管道的「原始文案/元数据提取」输出模板(字段占位与获取途径),可作为阶段一字幕/文案提取的结构化样例。
检查 interaction_stickers(抖音)/ CC(B站)。非空 → 解析为 TXT+SRT。
{{PYTHON}} scripts/asr_transcribe.py <audio_path> --output-dir <project_dir>
2-10s 完成,免费。产出 asr_transcript.txt + .srt。
ASR 完成后,评估是否需要 L2+ 和 L3:
| 条件 | L2+ 分离 | L3 VLM | 理由 |
|---|---|---|---|
| ASR 覆盖率 >80% 且无对话标记 | 跳过 | 可跳过 | 单人口播,硬字幕=口播烧录 |
| ASR 有对话/采访/设备语音 | 执行 | 按需 | 需区分说话人 |
| 需要设备识别/场景描述 | — | 执行 | VLM 提供增量信息 |
| ASR 不完整 | 执行 | 执行 | 需要补充文案 |
跳过 L2+:省 24-48s(免费)。跳过 L3:省 ¥0.002 + 5-6s。 50%+ 口播类短视频可同时跳过两者,单条成本 ¥0.002 → ¥0。
{{PYTHON}} scripts/speaker_diarization_asr.py <audio_path> --output-dir <project_dir>
仅当视频含多人对话/设备语音时执行。
{{PYTHON}} scripts/vlm_analyze_frames.py <keyframes_dir> --output-dir <project_dir> --brand <品牌> --asr-text <asr_path>
v2 优化:--brand 注入品牌上下文提升设备识别;--asr-text 硬字幕自动与 ASR 去重。
{{PYTHON}} scripts/extract_ocr_subtitles.py <video_path> --output-dir <project_dir>
{{PYTHON}} scripts/prepare_deconstruction_data.py <project_dir>
v2 产出两个文件:
- deconstruction_data_pack.json — 瘦身版(~8KB,删除 timeline,硬字幕去重,场景精简,含节奏曲线+钩子深度分析)
- README.md — 自动生成(项目索引与快速摘要)
Agent 只需读 data_pack.json 即可开始写拆解报告。
按 references/deconstruct_template.md 输出:
1. 基础信息层(无后台数据时标注「仅内容层面拆解」)
2. 风格标签层(3-5 个关键词)
3. 前 3 秒钩子 & 节奏分镜(利用 data_pack 的 hook + rhythm_curve)
4. 底层流量逻辑(情感/显性设计/隐性运营)
5. 视听细节(字幕/BGM/运镜/调色)— 用户要求"深度拉片"/"逐镜拆解"时,加载 references/filming_analysis_framework.md,用 9 维度深度分析替代简表
6. 可复用创作公式
7. 品牌适配建议
当用户要求"深度拉片"/"拍摄手法分析"/"逐镜拆解"时执行:
references/filming_analysis_framework.md04_拍摄技术拉片.docx,与 01-03 并列前置条件:必须有 VLM 帧分析结果 + ASR 文案。两者缺失时跳过,第五层保持简表。
按 references/copy_template.md 生成。默认只写方案 A(基础复刻骨架),用户要求"多方案"时才写 B+C。
输出叙述性文案(不含 [Sx] 台词本格式),按原视频节奏分段写出演播稿全文。 仿写约束:100% 替换场景/台词/人物;原品牌设备名全部替换;不复制原文案超 5 连续字。
⚠️ 产品使用红线(强制):
1. 仿写中只能使用 references/huawei_product_reference.md 中列出的产品名。
2. 严禁编造产品、使用过时型号、或将非华为自有产品写成华为品牌。
3. 严禁将窗帘电机用于晾衣架、门窗传感器用于家电门等非设计用途。
4. 完整禁用清单见 huawei_product_reference.md 末尾「仿写禁用清单」。
仿写完成后,必须运行产品校验脚本,0 错误才能进入下一阶段:
{{PYTHON}} scripts/validate_products.py <project_dir>
bash
{{PYTHON}} scripts/fix_products.py <project_dir>
修复后重新校验,仍不过则手动修正。此步骤不可跳过。 校验报告会列出所有禁用产品名、过时型号、功能不实描述及替代方案。
产品校验(阶段五B)只管「产品准不准」,这一阶段管「话术像不像人说」。仿写文案生成并转 docx 后,必须跑「说人话」双向质检闸门,0 致命腔调问题才能进入下一阶段:
{{PYTHON}} scripts/check_humanlike_gate.py <project_dir>/02_仿写文案.docx
重写调用(推荐,保留信息只改腔调):直接复用文案空间的说人话重写能力,把原稿改腔调、不丢信息点 ——
import sys
sys.path.insert(0, "{{LOCAL_ROOT}}/自用/.workbuddy/skills/copywriter/scripts")
from copywriter import rewrite_to_humanlike
new_text = rewrite_to_humanlike(open_docx_text, brand_hint="华为全屋智能/鸿蒙智家")["text"]
# new_text 即说人话纯口播正文,写回 02_仿写文案.docx
铁律:任何产出文案都不允许带「首先/其次/基于/旨在/值得注意的是/综上所述」官腔,也不允许「老铁/家人们/宝子/看我这套操作/贼拉/绝绝子/震惊/emoji轰炸/点赞关注乞讨」小丑腔。 阶段五B 管「产品准确性」,阶段五C 管「腔调人话度」,两者都过才算合格仿写。
用户要求"出脚本"/"翻拍"时,按模板生成融合格式拍摄脚本(台词本 [Sx] + 9 列逐镜分镜表)。
两套模板(默认第二套):
- 第二套(默认 · 精简版):references/shooting_script_template_set2.md。结构 = 标题块 → 发布信息块(封面标题/发布标题含话题标签/搜索关键词/适配说明)→ 台词本 [Sx] → sx_note → 9 列逐镜分镜表。不含 内容梗概/光影/声音/动画/拍摄日/确认清单。用户给出口播稿 + 发布信息时直接出此套。台词本 [Sx] = 26pt 加粗大字(拍摄现场念稿版)。
- 第一套(完整版):references/shooting_script_template.md。结构 = 标题块 → 内容梗概 → 台词本 [Sx] → sx_note → 光影与情绪弧线/声音设计/动画需求/拍摄日流程 → 9 列逐镜分镜表 → 拍摄前确认清单。不含 发布信息块。台词本 [Sx] = 10pt。仅当用户明确要求"完整版/带制作备注/带确认清单"时用此套。
台词本 [Sx] 在本文件中完整呈现,分镜表「场」列关联 Sx 标签,「台词/字幕」列取逐镜台词片段。02_仿写文案不使用 [Sx] 格式。两套字体均为微软雅黑 + Courier(表格)。字号差异(唯一):台词本 [Sx] 第二套 26pt / 第一套 10pt,其余区块字号两套一致。转换器 md_to_docx.py 已将 26pt 设为 shooting-script 默认;出第一套需加 --sx-size 10。
来源于7w4.net。
路径:{{LOCAL_ROOT}}/deco_workspace/拆解总库/{平台}_{日期}_{标题}/
# 转 DOCX(v3 自动删除 .md;md_to_docx.py 已随技能打包到 scripts/)
{{PYTHON}} "<skill_dir>/scripts/md_to_docx.py" <project_dir>
# 03_拍摄脚本 第二套(默认,台词本26pt):--mode shooting-script 即可
{{PYTHON}} "<skill_dir>/scripts/md_to_docx.py" <project_dir> --files 03_拍摄脚本 --mode shooting-script
# 03_拍摄脚本 第一套(完整版,台词本10pt):加 --sx-size 10
{{PYTHON}} "<skill_dir>/scripts/md_to_docx.py" <project_dir> --files 03_拍摄脚本 --mode shooting-script --sx-size 10
标准文件:source_video.mp4 / cover_first_frame.jpg / audio_clip.mp3 / 01_拆解报告.docx / 02_仿写文案.docx / 03_拍摄脚本.docx / deconstruction_data_pack.json / README.md(自动)
多条链接完成后更新 拆解总库/批量拆解汇总目录.md。
批量模式(可选):当一次性处理多条链接时,可用 scripts/batch_deconstruct.py 做链接管理与限流,再按本工作流逐条拆解:
# 链接文件:每行一个短视频链接,空行与 # 开头行忽略
{{PYTHON}} scripts/batch_deconstruct.py links.txt
{{PYTHON}} scripts/batch_deconstruct.py links.txt --output-root "<你的 storage_root>"
批量拆解汇总目录.md。scripts/create_project_folder.py <标题> [--output-root <路径>] 可先创建带模板(01_拆解报告.md/02_仿写文案.md/03_拍摄脚本.md/README.md)的空项目文件夹;其 --output-root 默认值与 batch 脚本一致,部署时同样需改为本机路径。对话窗口输出:版权声明 + 拆解核心摘要 + 仿写方案概览 + 本地路径。
本技能不含任何 API 密钥与业务数据,已通过环境变量解耦。部署到新设备/账号时请自行提供:
SILICONFLOW_API_KEY(ASR/VLM);或把你的 .env 路径通过 COPY_ENV_FILE / BLOGGER_ENV_FILE 环境变量指定。{{LOCAL_ROOT}} 为占位符,实际短视频拆解工作站请通过 DECO_WORKSPACE_DIR 环境变量指向。安全说明:发布包内无任何
.env文件、无硬编码密钥值;密钥一律从环境变量读取。
这个 Skill 质量很高,文档写得像教科书一样详细,流程覆盖很完整。它能自动从抖音、小红书等多个平台拆解视频,还能生成仿写文案和拍摄脚本,内置了华为等品牌的正确产品信息库,防止你写错产品名。最大的亮点是智能跳层机制能省 API 费用,还有说人话质检防止文案像机器人写的。不过使用时需要手动配置一些路径参数,对新手不太友好;另外拍摄脚本有两套模板,规则稍显复杂容易选错。整体来说这是一个非常专业、功能齐全的短视频创作辅助工具。