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。
路徑:{{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 費用,還有說人話質檢防止文案像機器人寫的。不過使用時需要手動配置一些路徑引數,對新手不太友好;另外拍攝指令碼有兩套模板,規則稍顯複雜容易選錯。整體來說這是一個非常專業、功能齊全的短影片創作輔助工具。