YouTube 구독 채널 자동 ingest 파이프라인

목표

pirius75.family@gmail.com 구독 YouTube 채널 중 IT/AI/바이브코딩 관련 채널의 최근 10일 신규 영상을 /ingest-youtube 스킬로 자동 수집하는 정기 파이프라인을 구축한다.

현황

  • 상태: ✅ completed (2026-05-12 완료, 2026-05-14 채널 갱신·파서 버그 수정)
  • 우선순위: P2 (normal)
  • 담당 계정: pirius75.family@gmail.com
  • 마지막 정기 실행: 2026-05-12 11:50 (launchd)
  • 누적 수집: 84개 영상 (5월 5일~12일)
  • 자동 수집: 3개 완료 + 4개 대기 (5월 10~11일 신규)
  • 현재 whitelist: 23개 채널 (2026-05-14 업데이트, 패스트캠퍼스 제외)
    • 기존 운영 16개 + 파서 버그로 누락되어 있던 3개 복구(Jay Choi, 소소한 AI 입문노트, 바이브마피아) + 신규 4개(Dante’s Datalab, 개발동생, 그린코끼리 AI, 김플립)

설계 개요

[yt-dlp --cookies-from-browser chrome]
        ↓
[구독 채널 목록 조회 → candidates.md whitelist=✅ 채널 23개 (2026-05-14 갱신)]
        ↓
[채널별 최근 10일 영상 조회] (flat-playlist 15개 → 신규 ID만 날짜 조회)
        ↓
[중복 체크] (system/logs/ingest.log video_id 대조)
        ↓
[pending-ingest.txt 저장]
        ↓
[/ingest-youtube 호출] ✅ B안(야간 자동화) 확정 실행 중
        ↓
[launchd 정기 실행] (매일 11:50 KST, UTC+9) ✅ 가동 중

다음 행동 (Next Actions)

  • Step 1: 구독 채널 목록 조회 방식 결정 ✅ 2026-05-06
  • Step 2: 구독 채널 목록 추출 → IT/AI/바이브코딩 채널 whitelist 작성 ✅ 2026-05-06
  • Step 3: 자동 수집 스크립트 작성 ✅ 2026-05-06
    • 경로: system/scripts/youtube-auto-ingest.py
    • 로직: candidates.md ✅ 채널 순회 → flat-playlist 15개 → ingest.log 중복 제거 → 날짜 필터 → pending-ingest.txt + 로컬 ingest_youtube.py 호출
  • Step 4: 로컬 ingest_youtube.py 자동 호출 방식으로 전환 ✅ 2026-05-31
    • 매일 11:50 KST launchd로 로컬 실행 (원격 CCR은 Chrome 쿠키 미지원으로 불가)
    • 타임아웃 10분으로 수정 완료
  • Step 5: launchd 정기 실행 등록 ✅ 2026-05-07
    • ~/Library/LaunchAgents/com.jyp-garden.youtube-auto-ingest.plist
    • 매일 11:50 KST, 로그: system/logs/youtube-auto-ingest.log
  • Step 6: 첫 정기 실행 결과 확인 및 채널 목록 튜닝 ✅ 2026-05-12
    • 실행 기간: 5월 6~12일 (7일)
    • 정기 실행: 매일 11:50 정상 작동 중
    • 자동 수집 기록: system/logs/ingest.log 에 3개 기록
    • 대기 중: 4개 영상 (pending-ingest.txt, 5월 10~11일 신규)
    • 실패 기록: 5월 6~7일 10개 (returncode!=0, 이후 회복)

최종 완료 요약

📊 프로젝트 성과

항목결과
목표YouTube 구독 채널 자동 ingest 파이프라인 구축 ✅
기간2026-05-06 ~ 2026-05-12 (7일)
완성도100% (Step 1~6 모두 완료)
whitelist 채널23개 (2026-05-14, 패스트캠퍼스 제외)
누적 수집84개 영상
자동화 운영launchd 정기 실행 (매일 11:50 KST)
안정성✅ 안정적 (5월 8일 이후 정상 작동)

🎯 달성한 마일스톤

  • Step 1: 채널 목록 조회 방식 결정 (yt-dlp —cookies-from-browser)
  • Step 2: whitelist 채널 목록 작성 (18개 → 최종 17개)
  • Step 3: 자동 수집 스크립트 작성 (youtube-auto-ingest.py)
  • Step 4: 자동 호출 방식 확정 (B안: 야간 자동화)
  • Step 5: launchd 정기 실행 등록 (매일 11:50)
  • Step 6: 정기 실행 결과 확인 및 채널 품질 개선 (I4 해결)

🔧 운영 유산

자동화 된 파이프라인 인프라:

~/Library/LaunchAgents/com.jyp-garden.youtube-auto-ingest.plist
  ↓ (매일 11:50)
system/scripts/youtube-auto-ingest.py
  ↓
system/config/youtube-channels-candidates.md (whitelist ✅)
  ↓
/ingest-youtube 스킬
  ↓
10-Knowledge/sources/ + 20-Personal/resources/ + 30-Work/resources/

로그 및 이력 추적:

  • system/logs/ingest.log — 84개 수집 이력
  • system/logs/pending-ingest.txt — 대기 영상 (4개)
  • system/logs/failed-ingest.txt — 실패 이력 (모니터링용)
  • system/logs/youtube-auto-ingest.log — 스케줄 실행 로그

🚀 다음 단계 (선택)

  1. 고급화: 채널별 콘텐츠 필터 강화 (doc-classifier 규칙 확장)
  2. 확대: 새로운 IT/AI 채널 추가 발굴
  3. 주간 리뷰: pending-ingest.txt 확인 및 품질 모니터링

기술 스택

구성요소도구
채널 목록 조회yt-dlp --cookies-from-browser chrome
신규 영상 필터flat-playlist + 날짜 메타 조회 (2단계)
중복 방지system/logs/ingest.log video_id 대조
수집 실행로컬 ingest_youtube.py (yt-dlp + 로컬 규칙 기반 extract_wisdom, Claude/API 미사용)
정기 실행/schedule 스킬 (cron, 야간 권장)
채널 화이트리스트youtube-channels-candidates

발견된 이슈 & 현황 (2026-05-06 파일럿 → 2026-05-12 운영 중)

이슈상태조치영향
I1✅ 해결 (2026-05-31)claude -p 제거, 로컬 ingest_youtube.py 직접 호출Claude 프로그래메틱 크레딧/토큰 제한 영향 제거. 단, LLM 요약 대신 로컬 추출이라 품질은 보수적
I2✅ 해결타임아웃 5분 → 10분 상향일부 긴 영상도 처리 가능
I3✅ 해결if not date: continue 추가날짜 미확인 영상 필터링 완료
I4✅ 부분 해결패스트캠퍼스 whitelist 제외whitelist ✅ 18개 → 17개 (패스트캠퍼스 제거)
I5✅ 결정B안(야간 자동화) 확정launchd 매일 11:50 정기 실행 중
I6✅ 해결 (2026-05-14)정규식 기반 파서로 교체채널명에 | 포함된 3개 채널(Jay Choi, 소소한 AI 입문노트, 바이브마피아)이 ✅에도 silently 누락. 운영 16개 → 인식 23개로 정합화

최근 운영 결과 (5월 6~12):

  • 실패율: 5월 6~7일 10개 실패 → 5월 8일 이후 회복 (원인: 인증 오류 등 일시적 이슈)
  • 정기 성공률: ✅ 안정적 (매일 11:50 정상 실행)

연관 노트

Concepts

Entities

Skills

  • .claude/skills/ingest-youtube/SKILL.md — 실제 ingest 실행 스킬
  • .claude/skills/ingest/SKILL.md — ingest 라우터

로그

날짜내용
2026-05-06프로젝트 생성. 구독 채널 자동 수집 파이프라인 구축 시작
2026-05-06Step 1~3 완료. candidates.md (18채널), youtube-auto-ingest.py 작성
2026-05-06B안(claude -p) 파일럿 실행. 31개 영상 중 11개 처리 (✅4 ❌6 타임아웃) 후 중단. 이슈 I1~I5 식별. 버그 I2·I3 수정 완료
2026-05-07B안(야간 자동화) 확정 결정. launchd plist 작성 및 등록 완료
2026-05-08정기 실행 첫 성공. auto-ingest 3개 기록 (ingest.log). 자동화 안정화
2026-05-10~11신규 영상 4개 자동 감지. pending-ingest.txt에 대기 중
2026-05-12Step 6 완료. 정기 실행 결과 확인. 프로젝트 상태 업데이트
2026-05-12I4 개선: 패스트캠퍼스 whitelist 제외 (❌) → whitelist 17개로 조정. 5월 13일 11:50부터 적용됨
2026-05-12🎉 프로젝트 완료: 목표 달성 — YouTube 자동 ingest 파이프라인 운영 중 (7일 개발, 100% 완성도)
2026-05-14신규 채널 7개 반영: candidates.md 64→71행. IT/AI/바이브코딩 4개(Dante’s Datalab, 개발동생, 그린코끼리 AI, 김플립) whitelist ✅
2026-05-14I6 발견·해결: youtube-auto-ingest.py 파서 버그 수정. 채널명에 | 포함된 3개 채널(Jay Choi, 소소한 AI 입문노트, 바이브마피아)이 ✅ 표시에도 silently 누락되어 왔음. 정규식 기반 파서로 교체 → whitelist 16개(실효)→23개(인식). 형제 스크립트 youtube-auto-ingest-kids-academy-marketing.py도 동일 수정