# 뉴스 시스템 통합 계획 **작성일**: 2025-09-06 **목적**: skill-news, rb8001, skill-publish 통합 연동 --- ## 1. 아키텍처 ### 서비스 구조 ``` APScheduler → skill-news:8505 → rb8001 → Slack 채널 ↓ 사용자 버튼 클릭 ↓ skill-publish:8511 → Squarespace ``` ### 데이터 흐름 - 수집: skill-news (Google News API) - 요약: Gemini LLM - 전송: skill-slack (Block Kit) - 게시: skill-publish (Squarespace CMS) --- ## 2. 구현 상태 ### ✅ 완료 - skill-news 운영 중 (포트 8505) - skill-publish 구현 완료 (포트 8511) - APScheduler 평일 10:00 자동 실행 - Slack Block Kit 버튼 전송 **상세**: `troubleshooting/250907_company_x_news_zero_articles.md` 외 다수 ### ⏳ 미구현 - **PostgreSQL rb_news 테이블**: 현재 JSON 파일 기반 - **실시간 게시 상태 추적**: skill-publish API 확장 필요 - **게시 이력 조회**: 프론트엔드 UI 미구현 --- ## 3. 미구현 Phase 3: DB 영구 저장 ### 현재 제약 - JSON 파일 (`/app/data/news_state.json`) 사용 - 컨테이너 재시작 시 이력 손실 가능 - 통계/분석 어려움 ### 필요 작업 1. `rb_news` 테이블 생성 (user_id, article_id, published_at, status) 2. news_posting_skill.py에 DB 저장 로직 추가 3. 게시 이력 조회 API (`GET /api/news/history`) --- ## 4. 환경 설정 ### rb8001 (.env) ```bash COMPANY_X_NEWS_CHANNEL_ID=C09CP4MDX71 SKILL_NEWS_URL=http://localhost:8505 SKILL_PUBLISH_URL=http://localhost:8511 ``` ### Slack App - Interactivity URL: https://ro-being.com/api/slack/interactive - Scopes: chat:write, chat:write.public --- ## 5. 참고 문서 - `troubleshooting/250907_company_x_news_zero_articles.md` - `troubleshooting/250908_skill_news_companyx_data_integration.md` - `troubleshooting/250908_slack_interactive_gateway_proxy.md` - `troubleshooting/250920_news_db_persistence_implementation.md`