Communitygithub.com

metatools2023/pikpak-agent-skills

Pipeline completa: download com yt-dlp → upload para PikPak → assistir online → limpeza local. Suporta retomada, exclusão somente após verificação e processamento em lote de URLs. Cobre YouTube, TikTok, X(Twitter), Facebook, Bilibili e outros sites suportados pelo yt-dlp. Multiplataforma (Windows / macOS / Linux).

O que é pikpak-agent-skills?

Esta skill oferece uma pipeline automatizada de download e upload para o PikPak, integrando o yt-dlp para download de vídeos e o WebDAV para envio direto ao serviço de nuvem. Após o upload bem-sucedido e verificação do tamanho, os arquivos locais são removidos, economizando espaço em disco. Suporta URLs individuais e listas em lote, com controle de estado que permite retomar interrupções sem re-download. É ideal para usuários que desejam baixar conteúdo de plataformas como YouTube, TikTok, Twitter, Facebook e Bilibili e salvá-lo diretamente na nuvem, mantendo o computador limpo. A skill é compatível com Windows, macOS e Linux, e exige PikPak Premium para acesso WebDAV, yt-dlp instalado e Python 3.8+.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

yt-dlp → PikPak Pipeline / Pipeline de Download para a Nuvem

Um comando: yt-dlp baixa o vídeo → WebDAV envia para o PikPak → verifica → remove a cópia local. One command: yt-dlp downloads a video, uploads it to PikPak over WebDAV, verifies, then removes the local copy.

Compromisso de segurança / Safety promise: Arquivos locais são excluídos somente após o upload e verificação de tamanho remota (restrição no código, cleanup_local só processa arquivos verificados). Local files are deleted only after a verified upload.

Cobertura de sites / Site coverage: yt-dlp suporta mais de 1000 sites, incluindo YouTube, TikTok, X(Twitter), Facebook, Instagram, Bilibili, Vimeo – cobrindo exatamente os cenários de transferência de mídia social que o PikPak promove (o recurso próprio do PikPak é limitado ao app; esta pipeline traz isso para o modo de linha de comando em lote). Regras de sites como TikTok/X mudam rápido; se falhar na extração, tente yt-dlp -U para atualizar.

0. Pré-requisitos / Prerequisites

  1. PikPak Premium (WebDAV disponível apenas para assinantes). Não tem conta? Use a skill pikpak-onboarding para se registrar. WebDAV requires PikPak Premium. No account? Start with the pikpak-onboarding skill.
  2. yt-dlp: pip install yt-dlp (ou winget install yt-dlp).
  3. Python 3.8+ e requests.
  4. Copie webdav.config.json.example para webdav.config.json e preencha as credenciais WebDAV (senha em texto claro, já no .gitignore, não compartilhe).

1. Uso / Usage

# URL única / single URL
python scripts/pipeline.py "https://youtube.com/watch?v=..." --remote-dir meus_videos

# Lista de URLs / URL list
python scripts/pipeline.py --url-file urls.txt --remote-dir meus_videos

# Simulação (sem download/upload) / dry run
python scripts/pipeline.py --url-file urls.txt --remote-dir meus_videos --dry-run

# Manter cópia local / keep local copies
python scripts/pipeline.py "URL" --remote-dir meus_videos --keep-local
Parâmetro / ArgumentDescrição / Description
URL... / --url-fileLinks suportados pelo yt-dlp; lista uma por linha, # no início é comentário
--remote-dirPasta de destino no PikPak (criada automaticamente) / remote folder, auto-created
--work-dirDiretório temporário local para downloads, padrão scripts/../downloads_tmp
--keep-localManter arquivos locais após upload bem-sucedido / keep local files after upload
--retryNúmero de tentativas de upload por arquivo, padrão 5
--dry-runApenas exibe o plano de processamento / print plan only
--yt-dlp-argsArgumentos extras a serem passados para o yt-dlp, ex.: --yt-dlp-args -f best

2. Fluxo de trabalho (explicação para o usuário) / How it works

Cada URL passa por quatro etapas / four steps per URL:

  1. Download yt-dlp → --work-dir (novos arquivos detectados por comparação de snapshot / new files detected by snapshot)
  2. Upload PUT streaming arquivo por arquivo → PikPak, verificação de tamanho remota / streaming PUT + size verify
  3. Limpeza Cópias locais verificadas são removidas (a menos que --keep-local) / verified local copies removed
  4. Registro state/pipeline_<pasta>.json registra cada URL como done/failed → retomada automática após interrupção / resume-safe state

3. Armadilhas comuns / Gotchas

  • Se o yt-dlp não estiver no PATH, o script falha imediatamente – primeiro confirme que yt-dlp --version funciona.
  • Executar a mesma URL novamente será ignorado (state marca como done); para refazer, exclua o registro correspondente em state/.
  • O WebDAV não permite exclusão permanente de arquivos na nuvem; limpeza na nuvem deve ser feita pelo app/site oficial.
  • Alguns sites exigem cookies/login: use --yt-dlp-args --cookies-from-browser chrome.
  • Aviso de conformidade: Baixe apenas conteúdo que você tem direito de acessar. Only download content you have the right to access.

4. Skills relacionadas / Related skills

  • pikpak-onboarding: Não tem conta no PikPak? Comece pelo registro (inclui guia de instalação da CLI oficial).
  • pikpak-webdav-upload: Já tem downloads locais? Faça upload em lote diretamente.

Habilidades Relacionadas