Commit Graph

19 Commits

Author SHA1 Message Date
sm4640
8aa03232e8 Fix: [3.0.3] JSON 파싱 강화 + Discord 전송 안정화
Some checks failed
news-summary-bot-cicd / build_push_deploy (push) Has been cancelled
- summarizer: 코드펜스/잡텍스트 포함된 Claude 응답도 안정적으로 파싱
- summarizer: 프롬프트에 코드펜스 금지 명시
- main: Discord embed용 summary 통합 필드 추가
- docs: n8n Discord 노드를 JSON.stringify() 방식으로 변경 (줄바꿈/따옴표 이스케이프)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 19:56:06 +09:00
sm4640
9c2bf7c1ce Fix: [3.0.2] 요약 응답 구조화 + Discord 임베드 디자인 개선
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 9m14s
- 요약을 JSON으로 구조화: oneliner, main_points, conclusion 분리
- Claude에게 JSON 형식으로만 응답하도록 프롬프트 변경
- n8n Discord 임베드: 섹션별 필드 분리, 이모지, 타임스탬프 추가
- JSON.stringify Expression으로 특수문자 이스케이프 처리
- 전체 문서 API 응답 형식 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 17:18:31 +09:00
sm4640
f4532840cf Fix: [3.0.1] 응답에 video_url/channel_name 포함 + 요약 프롬프트 개선
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 15m25s
- API 응답에 video_url, channel_name을 항상 포함 (n8n Switch 이후 사용)
- channel_name 필드를 request body에서 받아 그대로 반환
- 요약 프롬프트: 구체적 수치/사례 포함, 메타 서술 금지, 시청자 액션 제시
- 문서 전체 API 응답 형식 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 16:19:15 +09:00
sm4640
b9e1c4fb45 Docs: 에러 알림 구분 — n8n 워크플로우 에러 vs 봇 요약 처리 에러
- Error Trigger: 임베드 형식으로 변경, 실패 노드/실행 ID 포함, fallback 처리
- Switch error: footer를 "봇 요약 처리 에러"로 구분
- 에러 유형 비교 테이블 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 16:00:11 +09:00
sm4640
11b3a60be8 Docs: n8n 노드 설정 상세화 — Mode, Send Body, Specify Body 등 누락 옵션 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 15:54:33 +09:00
sm4640
a2a82084ba Docs: [3.0.0] 전체 문서 업데이트 — YouTube Data API + n8n Discord 전송 구조 반영
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 25m15s
- README: 아키텍처, 환경변수, API 응답 형식 업데이트
- n8n-setup: RSS → YouTube Data API playlistItems 전환, 노드별 상세 설정
- development: discord.py 제거 반영, API 응답 형식 추가
- operations: CI/CD 자동 배포 설명, DISCORD_WEBHOOK_URL 제거
- testing: DISCORD_WEBHOOK_URL 더미값 제거
- .env.example: DISCORD_WEBHOOK_URL 제거
- tests/test_discord.py 삭제 (모듈 삭제됨)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 15:18:39 +09:00
sm4640
302f892c5d Refactor: [3.0.0] Discord 전송을 n8n으로 이관, YouTube RSS → Data API 전환
Some checks failed
news-summary-bot-cicd / build_push_deploy (push) Has been cancelled
- FastAPI에서 Discord 직접 전송 제거, 요약 결과를 JSON으로 반환
- app/discord.py 삭제, DISCORD_WEBHOOK_URL 환경변수 제거
- 에러 시 500 대신 200 + status: error로 응답 (n8n에서 분기 처리)
- CLAUDE.md에 n8n 워크플로우 노드별 상세 설정 문서화

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 15:05:36 +09:00
sm4640
22949d0602 Fix: [2.0.11] 라이브 DownloadError 스킵 처리 및 채널명 표시
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 12m11s
- yt-dlp DownloadError에서 라이브/프리미어 감지 시 SkipVideo로 변환 (500 방지)
- channel_name 필드 추가로 Discord 알림에 채널명(머니코믹스/슈카월드) 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 13:18:12 +09:00
sm4640
da9e557c64 Fix: [2.0.10] 라이브/쇼츠 스킵 및 네트워크 타임아웃 설정
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 18m49s
- 라이브/쇼츠 영상 감지 시 에러 대신 스킵 처리
- yt-dlp socket_timeout, httpx timeout, Discord webhook timeout 30초로 설정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 21:09:32 +09:00
sm4640
0bf38dd2f4 Docs: [2.0.9] 트러블슈팅 가이드 상세화
- Nginx 404, n8n JSON 에러, Docker 쿠키 마운트 이슈 문서화
- YouTube 봇 감지 원인 및 대응 방법 정리
- 쿠키 갱신 절차에 심볼릭 링크 주의사항 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 17:48:35 +09:00
sm4640
c8c9c592cf Fix: [2.0.8] process=False로 포맷 처리 건너뛰고 자막만 추출
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 15m23s
extract_info에 process=False 적용하여 포맷 선택 단계를 완전히 스킵.
자막 정보는 YouTube extractor에서 직접 반환되므로 포맷 처리 불필요.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 17:12:23 +09:00
sm4640
98cd620f23 Fix: [2.0.7] format 에러 해결 - ignore_no_formats_error 사용
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 11m7s
format: worst 대신 ignore_no_formats_error: True로 변경하여
포맷 관련 에러 없이 자막만 추출하도록 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 16:54:33 +09:00
sm4640
5e8e10e2fa Fix: [2.0.6] Docker 빌드 시 --no-cache 추가
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 12m17s
buildx 캐시 참조 에러(no such job) 해결

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 16:32:34 +09:00
sm4640
af0e2fca8a Feat: [2.0.5] 에러 발생 시 Discord 알림 전송
Some checks failed
news-summary-bot-cicd / build_push_deploy (push) Failing after 3m42s
- 요약 처리 중 에러 발생 시 Discord에 에러 상세 내용 전송
- 에러 타입, 메시지, 영상 정보를 포함한 embed 형식

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 16:27:03 +09:00
sm4640
11852bf48c Fix: [2.0.4] 쿠키 read-only 마운트 및 포맷 에러 해결
Some checks failed
news-summary-bot-cicd / build_push_deploy (push) Has been cancelled
- 쿠키 파일을 임시 파일에 복사하여 yt-dlp 쓰기 가능하도록 처리
- format: worst 추가하여 포맷 선택 에러 방지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 16:23:51 +09:00
sm4640
d4bd508618 Fix: [2.0.3] yt-dlp 쿠키 인증 추가, 문서 업데이트, CI/CD .md 스킵
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 4m40s
- yt-dlp에 쿠키 파일(/app/cookies.txt) 지원 추가 (YouTube 봇 감지 우회)
- CI/CD에 paths-ignore: **/*.md 추가하여 문서 수정 시 빌드 스킵
- 전체 문서 업데이트: 라우트 변경, 쿠키 인증 방식, n8n Expression 모드 안내
- .gitignore에 cookies.txt 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 15:45:12 +09:00
sm4640
aaf5bd8d05 Fix: [2.0.2] yt-dlp → youtube-transcript-api로 교체
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 9m6s
OCI 서버에서 YouTube 봇 감지로 yt-dlp 차단됨.
자막 전용 라이브러리로 교체하여 클라우드 IP 환경에서도 동작하도록 수정.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 14:23:52 +09:00
sm4640
ac05240b58 Fix: [2.0.1] Nginx rewrite에 맞게 FastAPI 라우트 prefix 제거
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 4m47s
Nginx가 /api/news/ prefix를 strip하므로 FastAPI 라우트를
/api/news/summarize → /summarize, /api/news/health → /health로 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 14:07:11 +09:00
sm4640
dc4656e452 Feat: [main] news-summary-bot 완성
All checks were successful
news-summary-bot-cicd / build_push_deploy (push) Successful in 11m43s
2026-03-24 12:19:54 +09:00