Communitygithub.com

metatools2023/pikpak-agent-skills

yt-dlp 下載 → 上傳 PikPak → 線上觀看 → 清理本機的一條龍管道:斷點續跑、上傳校驗後才刪本地、支援 URL 清單批次處理。涵蓋 YouTube、TikTok、X(Twitter)、Facebook、B站 等 yt-dlp 支援的站點。支援 Windows / macOS / Linux。

pikpak-agent-skills 是什麼?

此技能建構了一個完整的下載轉存管道,將 yt-dlp 的強大下載能力與 PikPak 雲端儲存無縫整合。使用者只需提供一個或多個 URL,技能會自動下載影片、透過 WebDAV 上傳至 PikPak、校驗完整性後刪除本機暫存檔,實現「下載即上傳、看完即清理」的高效工作流。其關鍵優勢在於安全約束:僅在遠端校驗通過後才刪除本地檔案,避免資料遺失;並具備狀態追蹤機制,即使中斷也能自動恢復。技能支援 yt-dlp 所涵蓋的 1000+ 站點,特別適合頻繁處理 TikTok、X(Twitter)、YouTube 等社群媒體連結的使用者。它透過命令列參數支援單一 URL、批次清單、乾執行、保留本機等多種模式,並可透傳 yt-dlp 自訂參數,賦予進階使用者靈活性。此技能適用於 Claude Code、Cursor、Codex 等支援自訂技能的 AI 代理平台,是節省磁碟空間、集中雲端管理影片的理想工具。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/metatools2023/pikpak-agent-skills/tree/HEAD/skills/pikpak-yt-dlp-pipeline

在你喜歡的 AI 中提問

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

說明文件

yt-dlp → PikPak 管道 / Download-to-Cloud Pipeline

一條命令:yt-dlp 下載影片 → WebDAV 上傳到 PikPak → 校驗 → 刪除本機副本。 One command: yt-dlp downloads a video, uploads it to PikPak over WebDAV, verifies, then removes the local copy.

安全承諾 / Safety promise:本地檔案只在上傳+遠端大小校驗通過後才會被刪除(程式碼級約束,cleanup_local 只處理已校驗檔案)。Local files are deleted only after a verified upload.

站點覆蓋 / Site coverage:yt-dlp 支援 1000+ 站點,常用的 YouTube、TikTok、X(Twitter)、Facebook、Instagram、B站、Vimeo 均可——正好覆蓋 PikPak 官方主打的社媒轉存場景(PikPak 自家社媒轉存僅限其 App 內,本管道把它帶到命令列批次模式)。TikTok/X 等站點規則變化快,遇解析失敗先 yt-dlp -U 升級再試。

0. 前置條件 / Prerequisites

  1. PikPak Premium(WebDAV 僅會員可用)。沒有帳號?先用 pikpak-onboarding 技能完成註冊。 WebDAV requires PikPak Premium. No account? Start with the pikpak-onboarding skill.
  2. yt-dlp:pip install yt-dlp(或 winget install yt-dlp)。
  3. Python 3.8+ 與 requests。
  4. 複製 webdav.config.json.example 為 webdav.config.json 並填入 WebDAV 憑證(明文密碼,已 git-ignore,勿分享)。

1. 用法 / Usage

# 單個連結 / single URL
python scripts/pipeline.py "https://youtube.com/watch?v=..." --remote-dir my_videos

# 批次清單 / URL list
python scripts/pipeline.py --url-file urls.txt --remote-dir my_videos

# 演練(不下載不上傳)/ dry run
python scripts/pipeline.py --url-file urls.txt --remote-dir my_videos --dry-run

# 保留本機副本 / keep local copies
python scripts/pipeline.py "URL" --remote-dir my_videos --keep-local
參數 / Argument說明 / Description
URL... / --url-fileyt-dlp 支援的連結;清單一行一個,# 開頭為註解
--remote-dirPikPak 目標資料夾(自動建立)/ remote folder, auto-created
--work-dir本機下載暫存目錄,預設 scripts/../downloads_tmp
--keep-local上傳成功後保留本機檔案 / keep local files after upload
--retry單檔上傳重試次數,預設 5
--dry-run只列印處理計畫 / print plan only
--yt-dlp-args透傳給 yt-dlp 的額外參數,如 --yt-dlp-args -f best

2. 工作流程(向使用者說明)/ How it works

每個 URL 四步 / four steps per URL:

  1. 下載 yt-dlp → --work-dir(快照比對識別新增檔案 / new files detected by snapshot)
  2. 上傳 逐檔串流 PUT → PikPak,遠端大小校驗 / streaming PUT + size verify
  3. 清理 校驗通過的本機副本刪除(除非 --keep-local)/ verified local copies removed
  4. 記帳 state/pipeline_<資料夾>.json 記錄每個 URL done/failed → 中斷重跑自動跳過已完成 / resume-safe state

3. 常見坑 / Gotchas

  • yt-dlp 不在 PATH 會直接報錯退出——先確認 yt-dlp --version 可用。
  • 同一 URL 重複執行會跳過(state 標記 done);想重跑先刪 state/ 裡對應記錄。
  • WebDAV 不能永久刪除雲端檔案;雲端清理請用官方 App/網頁。
  • 部分站點需要 cookies/登入,用 --yt-dlp-args --cookies-from-browser chrome 透傳。
  • 合規提醒:只下載你有權取得的內容。Only download content you have the right to access.

4. 相關技能 / Related skills

  • pikpak-onboarding:還沒有 PikPak 帳號?從註冊開始(含官方 CLI 安裝引導)。
  • pikpak-webdav-upload:已有本機下載成果?直接批次上傳。

相關技能