UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

199 lines (131 loc) 5.12 kB
# RSS 자동 업데이트 가이드 이 가이드는 네이버 블로그 RSS 피드를 매일 자동으로 업데이트하여 최신 콘텐츠를 RAG 시스템에 학습시키는 방법을 설명합니다. ## 🎯 개요 RSS 자동 업데이트 시스템은 다음과 같이 작동합니다: 1. **RSS URL 등록**: 관리자 페이지에서 네이버 블로그 RSS URL을 등록 2. **자동 스케줄링**: 매일 새벽 1시에 cron job이 실행 3. **자동 학습**: 등록된 RSS 피드에서 최신 포스트를 가져와 RAG 시스템에 학습 4. **로그 기록**: 모든 업데이트 과정이 로그 파일에 기록 ## 🚀 설정 방법 ### 1. Cron Job 설정 프로젝트 루트에서 다음 명령을 실행하여 cron job을 설정합니다: ```bash ./scripts/setup-cron.sh ``` 이 스크립트는 다음 작업을 수행합니다: - RSS 자동 업데이트 실행 스크립트 생성 - 매일 새벽 1시 실행되는 cron job 등록 - 로그 디렉토리 생성 ### 2. 환경 변수 설정 `.env` 파일에 다음 환경 변수를 추가합니다: ```env # RSS 자동 업데이트 설정 NEXT_PUBLIC_BASE_URL=http://localhost:3000 # 또는 실제 도메인 CRON_SECRET=your-secure-cron-secret-key # 보안을 위한 시크릿 키 ``` ### 3. 서버 실행 cron job이 작동하려면 Next.js 서버가 실행 중이어야 합니다: ```bash npm run dev # 또는 프로덕션 환경에서 npm run build && npm start ``` ## 📱 관리자 페이지 사용법 ### RSS URL 등록 1. 관리자 페이지 접속: `http://localhost:3000/rag-admin` 2. "RSS 자동화" 탭 클릭 3. RSS URL 입력 (예: `https://rss.blog.naver.com/blogid`) 4. "등록" 버튼 클릭 ### 수동 업데이트 등록된 RSS를 즉시 업데이트하려면: 1. "지금 업데이트" 버튼 클릭 2. 업데이트 결과 확인 ### RSS URL 관리 - **목록 확인**: 등록된 RSS URL 목록과 상태 확인 - **URL 제거**: 불필요한 RSS URL 제거 - **업데이트 결과**: 최근 업데이트 결과 및 오류 확인 ## 🔧 API 엔드포인트 ### RSS 자동 업데이트 관리 - **GET** `/api/rag/rss/auto-update`: 등록된 RSS URL 목록 조회 - **POST** `/api/rag/rss/auto-update`: RSS URL 등록 또는 업데이트 실행 - **DELETE** `/api/rag/rss/auto-update`: RSS URL 등록 해제 ### Cron Job 엔드포인트 - **GET** `/api/cron/rss-update`: cron job에서 호출하는 자동 업데이트 엔드포인트 ## 📊 로그 및 모니터링 ### 로그 파일 위치 ``` logs/rss-auto-update.log ``` ### 로그 내용 예시 ``` 2025-01-15 01:00:01 - RSS 자동 업데이트 시작 {"success":true,"message":"RSS 자동 업데이트 완료: 2/2 성공","results":[...]} 2025-01-15 01:00:15 - RSS 자동 업데이트 완료 ``` ### 로그 확인 명령 ```bash # 최근 로그 확인 tail -f logs/rss-auto-update.log # 특정 날짜 로그 검색 grep "2025-01-15" logs/rss-auto-update.log ``` ## 🛠️ 문제 해결 ### Cron Job이 실행되지 않는 경우 1. **Cron 서비스 상태 확인**: ```bash # macOS sudo launchctl list | grep cron # Linux systemctl status cron ``` 2. **Cron Job 등록 확인**: ```bash crontab -l ``` 3. **스크립트 권한 확인**: ```bash ls -la scripts/rss-auto-update.sh ``` ### API 호출 실패 1. **서버 실행 상태 확인** 2. **환경 변수 확인** (CRON_SECRET, BASE_URL) 3. **네트워크 연결 확인** 4. **로그 파일에서 오류 메시지 확인** ### RSS 피드 가져오기 실패 1. **RSS URL 유효성 확인** 2. **네이버 블로그 RSS 형식 확인**: `https://rss.blog.naver.com/{블로그아이디}` 3. **프록시 설정 확인** (CORS 문제 시) ## 🔒 보안 고려사항 1. **CRON_SECRET**: 강력한 시크릿 키 사용 2. **API 접근 제한**: 필요시 IP 화이트리스트 적용 3. **로그 파일 권한**: 민감한 정보 노출 방지 4. **HTTPS 사용**: 프로덕션 환경에서 HTTPS 적용 ## 📈 성능 최적화 1. **배치 처리**: 여러 RSS를 동시에 처리 2. **중복 제거**: 이미 학습된 콘텐츠 스킵 3. **오류 처리**: 개별 RSS 실패가 전체에 영향 없도록 4. **로그 로테이션**: 로그 파일 크기 관리 ## 🚀 고급 설정 ### 커스텀 스케줄 기본 스케줄(매일 새벽 1시) 외에 다른 시간으로 변경하려면: ```bash # cron job 편집 crontab -e # 예시: 매일 오전 6시 0 6 * * * /path/to/scripts/rss-auto-update.sh # 예시: 매 6시간마다 0 */6 * * * /path/to/scripts/rss-auto-update.sh ``` ### 다중 환경 설정 개발/스테이징/프로덕션 환경별로 다른 설정 사용: ```bash # 환경별 스크립트 실행 ENVIRONMENT=production ./scripts/setup-cron.sh ``` ## 📞 지원 문제가 발생하거나 추가 기능이 필요한 경우: 1. 로그 파일 확인 2. GitHub Issues 등록 3. 관리자 페이지에서 수동 테스트 실행 --- 이 시스템을 통해 네이버 블로그의 최신 콘텐츠를 자동으로 학습하여 항상 최신 정보를 제공하는 RAG 시스템을 구축할 수 있습니다.