Scraper de canales de YouTube hacia notas Markdown para base de conocimiento (Obsidian-ready), con plataforma web local. Engine + CLI (Workstream A): - Modular pipeline: discover/extract/parse/chapters/render/store + ratelimit - SQLite store con migración idempotente: FTS5 (transcript search), columnas de metadata enriquecida, tablas cookies_meta y scrape_jobs - Módulos: segments, cookies (Netscape vault), export (json/csv/srt/html), analysis (word freq/timeline/wordcloud), monitor (watch loop), pipeline - CLI Click group: search, export, audio, channels, watch, analyze, re-render - Fix del bug de scoping de cookies en cli.py Webapp local (Workstream B): - FastAPI backend: dashboard, channels, videos facetado, transcript, search FTS, analysis, scrape jobs con SSE, cookies drag-and-drop, exports, folders (abrir en OS), tools (re-render, formato) - SPA no-build (Alpine.js + Tailwind + Chart.js por CDN): 9 vistas, tema dark command-center con acento rojo→rosa, cookie vault drag-drop, consola de scrapeo con progreso live vía SSE Launcher + subagentes (Workstream C): - start-server.bat / stop-server.bat con auto port-scan + browser open - .opencode/agent/webapp-builder.md + .opencode/goals/webapp-build.md Tests: 38 pytest verdes. Sin funcionalidad de IA (enfoque data-mining).
24 lines
450 B
YAML
24 lines
450 B
YAML
channel_url: "https://www.youtube.com/@Nostal-Vlad/videos"
|
|
|
|
languages: ["es", "es-419", "en"]
|
|
prefer_manual: true
|
|
include_shorts: false
|
|
include_live: true
|
|
min_duration_sec: 30
|
|
|
|
delay:
|
|
min_seconds: 1.5
|
|
max_seconds: 3.5
|
|
backoff_base: 2.0
|
|
backoff_cap: 60.0
|
|
|
|
yt_dlp:
|
|
retries: 10
|
|
sleep_subrequests: 2
|
|
|
|
database_path: "data/state.db"
|
|
output_dir: "data/markdown"
|
|
template_path: "templates/video.md.j2"
|
|
|
|
filename_template: "{upload_date}_{slug}"
|