| name | youtube-doctor |
| description | YouTube BGM Auto 시스템의 셋업 상태를 진단한다. .env.local, client_secret.json, token.pickle, ffmpeg, venv, 필수 환경변수, API 키 유효성을 점검하고 누락된 항목별 해결 절차를 출력한다. 사용자가 "환경 점검해줘", "셋업 확인", "/youtube-doctor", "왜 안 돼" 같이 요청할 때 발동. |
YouTube BGM Auto 환경 진단
무엇을 하는가
시스템이 동작할 준비가 됐는지 점검하고, 막힌 곳을 친절하게 안내한다.
점검 절차
아래 명령들을 차례로 실행해 각각 결과를 한 줄로 보고하고, 마지막에 종합 진단을 출력한다.
cd /Users/gaebalai/Workspace2/youtube-bgm-auto
test -f .env.local && echo "✓ .env.local 있음" || echo "✗ .env.local 없음 → cp .env.local.example .env.local"
test -f .env.local && grep -q "^PIXABAY_KEY=.\+" .env.local && echo "✓ PIXABAY_KEY 설정됨" || echo "✗ PIXABAY_KEY 비어있음"
CSEC=$(grep "^GOOGLE_CLIENT_SECRET_PATH=" .env.local 2>/dev/null | cut -d= -f2- | sed "s|^~|$HOME|")
CSEC=${CSEC:-$HOME/Desktop/client_secret.json}
test -f "$CSEC" && echo "✓ client_secret.json 있음 ($CSEC)" || echo "✗ client_secret.json 없음 ($CSEC) → Google Cloud Console에서 다운로드"
test -f token.pickle && echo "✓ token.pickle 있음 (이전에 인증 완료)" || echo "△ token.pickle 없음 → 최초 실행 시 브라우저로 인증 필요"
which ffmpeg > /dev/null && echo "✓ ffmpeg 설치됨 ($(ffmpeg -version 2>&1 | head -1))" || echo "✗ ffmpeg 없음 → brew install ffmpeg"
test -d venv && echo "✓ venv 디렉토리 있음" || echo "△ venv 없음 → python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt"
if [ -f .env.local ]; then
IP=$(grep "^IMAGE_PROVIDER=" .env.local | cut -d= -f2-)
RP=$(grep "^REPLY_PROVIDER=" .env.local | cut -d= -f2-)
echo "ℹ IMAGE_PROVIDER=${IP:-gpt-image-1(기본)}"
echo "ℹ REPLY_PROVIDER=${RP:-template(기본)}"
fi
[ -f venv/bin/activate ] && source venv/bin/activate
python3 -c "import config; print(f'✓ config.py OK (IMAGE={config.IMAGE_PROVIDER}, REPLY={config.REPLY_PROVIDER})')" 2>&1 | tail -5
결과 해석
각 줄 앞 기호:
✓ 정상
✗ 반드시 해결해야 동작 안 함
△ 선택 사항(처음 실행 시 자동으로 해결되는 경우 포함)
ℹ 정보 표시
자주 막히는 곳
| 증상 | 원인 | 해결 |
|---|
invalid_grant | OAuth 토큰 만료/취소 | upload.py 가 자동 재인증 진행(브라우저 열림) |
client_secret.json 없음 | OAuth 클라이언트 미발급 | Google Cloud Console → OAuth 클라이언트 ID(데스크톱) 만들기 |
| 썸네일 적용 안 됨 | YouTube 본인 확인 미완 | YouTube Studio → 설정 → 채널 → 전화번호 인증 |
ffmpeg: command not found | ffmpeg 미설치 | brew install ffmpeg |
| launchd 무시됨 | Mac 수면 상태 | 시스템 설정 → 잠자기 안 함 |
| Pixabay 이미지 못 받음 | API 키 미설정 or 시간당 상한 초과 | .env.local 의 PIXABAY_KEY 확인, 잠시 대기 |