Communitygithub.com

影片/劇集搜尋器

從 TikTok 連結辨識電影/影集名稱。下載影片、分割成影格、讓兩個 AI(偵探 vs 懷疑論者)輪流討論,並透過網路搜尋驗證,最後將所有檔案透過 rclone 儲存到 Google Drive。

劇集搜尋器 是什麼?

此技能專為從 TikTok 影片連結中識別電影或影集而設計。使用者提供 TikTok 連結後,它會依照定義好的流程自動執行:下載影片、將其分割成指定數量的影格(預設為 10 格,可調整)、啟動兩個 AI 角色扮演——「偵探」負責分析影格內的視覺線索(如服裝、地點、演員、時代、畫面顆粒、文字、浮水印、電影風格)並提出 1-3 個候選答案,「懷疑論者」則使用網路搜尋工具驗證每個候選,反駁或確認並提供參考連結。這個討論過程可以設定為每個影格個別進行 3 輪,或批次處理所有影格。最終,技能會根據討論結果給出結論(包含片名、年份、信心程度、參考連結),對於影集還會嘗試辨識具體的季數、集數、片名、片長,並預估片段在劇集中的時間戳。所有產出的檔案(影片、影格、討論記錄、結果)都透過 rclone 上傳到 Google Drive,本地僅保留工作目錄並在結束後清除。此技能透過命令列腳本調用,使用者可以設定影格數量、討論模式、保留本地檔案等參數,並且需要配置 rclone 遠端存儲。它相容於任何能執行 Bash 腳本和 rclone 的開發者環境,例如 Claude Code 或 Cursor。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ClayKW/skill/tree/HEAD/movie-finder

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

劇集搜尋器 是做什麼的?

用於從 TikTok 影片透過影格分析及雙 AI 討論來識別電影/影集的工具。所有工作檔案(影片、影格、逐字稿、結果)都儲存在 Google Drive 中(透過 rclone),本地僅暫存使用並在結束後清除。

使用者可設定的參數(從請求中詢問/推測)

參數預設值說明
影格數量10grab_frames.sh 的第二個參數
討論模式per-gambar每張影格進行 3 輪討論(較耗資源,10 張影格約需 30 次討論)。batch 模式 = 所有影格一次進行 3 輪討論(較節省,適用於大多數情況)
輪數3AI1 ↔ AI2 的往返次數
rclone 遠端gdrive:Linux-Server/movie-finder可透過環境變數 MF_REMOTE 覆蓋
保留本地0第三個參數,設為 1 表示同時保留影片在本地

流程

1. 下載 + 分割影格

bash scripts/grab_frames.sh "<url_tiktok>" [num_frames] [keep_local]
  • 輸出 JSON,包含:gdrive(目標資料夾)、frames_local(影格 jpg 的路徑)、duration_sec、video_size、scratch_dir。
  • 腳本自動執行:下載 → 提取影格(跳過前/後 10%)→ 上傳至 gdrive → 刪除本地影片。影格在會話期間保留於本地(供您檢視)。
  • 下載失敗(地區/年齡限制):通知使用者,建議替代連結。

2. 檢視所有影格

使用讀取工具(圖片)讀取 frames_local 中的每個 jpg 檔案。自行記錄線索:服裝、地點、演員、時代/影片顆粒、螢幕文字、浮水印、攝影風格、片頭/片尾演職表。

3. 雙 AI 討論(透過工具子代理,代理類型:通用)

輪流執行兩個角色,如同 WhatsApp 聊天:

  • 🕵️ AI 1 偵探 — 提示:分析影格的視覺資訊(指出具體可見的線索),猜測 1-3 個候選方案 標題 + 年份 + 理由,並給出信心程度。AI 1 必須直接讀取影格檔案(提供其路徑)。
  • 🔍 AI 2 懷疑論者 — 提示:使用網路搜尋工具驗證每個候選(搜尋 "<標題> <年份> 電影" 加上獨特場景細節),用連結證據反駁/確認,也可提議新的候選。

規則:

  • 1 輪 = AI 1 分析 → AI 2 驗證。預設為 3 輪。
  • 在逐字稿和回答中記錄並顯示每個 AI 使用的模型(例如標題:🕵️ AI 1 — 偵探 [模型: custom/auto])。從子代理元數據/設定中檢查模型名稱;如果兩個角色使用相同模型,如實記錄。同時包含在 diskusi.md 和最終回答中。
  • per-gambar 模式:對每個影格重複,始終包含前一輪的逐字稿和現有候選上下文,以保持討論連續性。去重:如果同一候選在不同影格重複出現,只需 1 輪強化,不需要完整的 3 輪。
  • batch 模式:在一次 3 輪討論中傳送所有影格(路徑列表)。
  • 不要設定子代理的 model 參數(使用預設值)。
  • 建議限制每個子代理:AI 1 僅分析(不需要工具),AI 2 專注於網路搜尋。

4. 結論

整理:標題 + 年份 + 信心程度(高/中/低)+ 來自 AI 2 的參考連結 + 如果沒有共識則備註。

特別針對影集,最終輪的 AI 2 必須嘗試補充:

  • 季數與集數:最可能是片段來源的集數(線索:已辨識的場景/角色/服裝 + 網路搜尋 "episode guide"、每集劇情大綱、每集 TMDB 演職表)。
  • 集數標題(如果有的話)。
  • 精確的集數長度(分鐘:秒),格式 47:23,來自 IMDb(技術規格/集數頁面)或 TMDB —— 不是粗略的約數。
  • 如果無法確定具體集數,明確寫 "無法確定集數" 並僅提供集數長度。
  • 獎勵(盡力而為,標記 "估計"):根據已識別場景在集數指南/劇情大綱中的位置,估計片段在該集數中的時間戳。

特別針對電影:提供精確的電影長度 時:分:秒(格式 1:52:47),來自 IMDb 技術規格/TMDB,而不是 "±120 分鐘"。

5. 將結果儲存到 gdrive(無需新的本地檔案)

  • 完整逐字稿 → rclone rcat "<DEST>/diskusi.md"(聊天格式:表情符號 🕵️/🔍、角色名稱、訊息內容)。
  • 結論 → rclone rcat "<DEST>/hasil.md"。

影集專用的 hasil.md 模板(必須填寫集數細節):

# 識別結果 — 影片/劇集搜尋器
- 標題 / 類型 / 年份 / 平台 / 建立者 / 信心程度

## 集數詳細資料
- 季數與集數 : S01E05(如果可以確定,否則 "無法確定")
- 集數標題   : "Beautiful Billionaires"
- 集數長度  : 47:23(分鐘:秒,來自 IMDb/TMDB)
- 總集數   : 11(S1)
- 估計片段位置 : ±12:40 於集數中(盡力而為,估計值)

## 為何吻合
...主要證據...

## 參考資料
...連結...

對於電影:將 "集數詳細資料" 部分替換為 "電影長度:1:52:47(時:分:秒)"。

6. 清理本地

rm -rf <scratch_dir>

7. 回覆使用者

回覆順序:如果是影集,提供集數詳細資料與長度(季數、集數、集數標題、播出時間)或電影長度 + 簡短討論摘要 + 參考連結 + gdrive 資料夾位置 —— 然後將 最終猜測(🎬 結果:標題/年份)放在最底部 作為結尾。除非要求,否則不要顯示完整逐字稿。

逐字稿範例

🕵️ AI 1 — 偵探 [模型: custom/auto]: 影格 3 顯示了 19 世紀風格的英國陸軍制服... 候選:"1917" (2019), "The Northman" (2022)
🔍 AI 2 — 懷疑論者 [模型: custom/auto]: 我檢查... [網路搜尋] "The Northman" 是維京時代,不符合。"1917" 符合:戰壕戰、一鏡到底。已驗證:[連結]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能