From 80772ffa66959e761b472c24e0374629823bf41a Mon Sep 17 00:00:00 2001 From: happybell80 Date: Sat, 6 Sep 2025 15:37:28 +0900 Subject: [PATCH] =?UTF-8?q?=EB=89=B4=EC=8A=A4=20=EB=B6=84=EB=A6=AC=20?= =?UTF-8?q?=EA=B3=84=ED=9A=8D:=20=EC=84=9C=EB=B2=84=20=EC=8B=A4=EC=A0=9C?= =?UTF-8?q?=20=EC=83=81=ED=83=9C=20=ED=99=95=EC=9D=B8=20=ED=9B=84=20?= =?UTF-8?q?=EB=AC=B8=EC=84=9C=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plan/250906_news_skill_publish_separation.md | 26 +++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/plan/250906_news_skill_publish_separation.md b/plan/250906_news_skill_publish_separation.md index f19d653..afdbded 100644 --- a/plan/250906_news_skill_publish_separation.md +++ b/plan/250906_news_skill_publish_separation.md @@ -3,11 +3,11 @@ ## 1. 현재 구조 (검증 완료) - **기존 시스템**: company-x_hompage - 완전 자동화된 뉴스 수집/게시 - **rb8001 실행 중**: Docker 상태 "Up 11 hours (healthy)" 확인 -- **DM 기능**: /api/cron/daily-summary 구현, dm_skill.py:384 위치 +- **DM 기능**: /api/cron/daily-summary 구현, dm_skill.py (577라인) - **재사용 가능**: collectors 모듈 100%, ProcessLock(타임아웃 3600초), thumbnail_manager ## 2. 목표 아키텍처 -- **skill-news**: 포트 8505 (51124 서버에서 운영 중) +- **skill-news**: 포트 8505 (51124 서버 **정상 운영** 확인) - **skill-publish**: 포트 8511 (신규 구현 예정) - **데이터 흐름**: 수집 → 검증/요약 → DM 전송 → 사용자 선택 → 게시 → 결과 보고 @@ -31,9 +31,9 @@ - post_formatter.py (중복 체크 로직 포함) ### Phase 3: 통합 및 배포 (3주차) -**Nginx 설정** [확인 필요]: -- 현재 skill-email(8501)만 설정됨 -- skill-news, skill-publish 라우팅 추가 필요 +**Nginx 설정 (51123)**: +- 8501만 설정됨 (확인됨) +- skill-news(8505), skill-publish(8511) **미설정** **Slack App 권한**: - 확인됨: chat:write (mrkdwn, Block Kit 지원) @@ -43,10 +43,11 @@ **PostgreSQL (51123 서버)**: - main_db 사용 (구 auth_db) - users, gmail_tokens, robeing_stats 테이블 존재 +- rb_news 테이블: **미생성** (확인됨) **ChromaDB (51124 서버)**: -- 포트 8000, 경로 /app/data/chroma -- 벡터 기반 중복 체크 구현됨 +- 경로: /home/admin/ivada_project/rb8001/chroma_db (확인됨) +- 16개 사용자별 UUID 컬렉션 존재 **신규 테이블 필요**: ```sql @@ -72,15 +73,16 @@ CREATE TABLE rb_news ( ## 6. 확인된 구현 사항 - **브리핑 시스템**: rb8001/app/skills/dm_skill.py 구현됨 - **APScheduler**: rb8001에 이미 구현 (평일 09:00 스케줄링) -- **사용자 목록**: 하드코딩 3명 확인 (DB 연동 필요) -- **Gmail 토큰 갱신**: 2025-08-27 해결 완료 +- **사용자 목록**: Slack ID .env 미설정 (DB 연동 필요) +- **Gmail 토큰 갱신**: 2024-08-27 해결 완료 - **ProcessLock**: 완전 구현 (PID 확인, 타임아웃 3600초, atexit) - **서버 분리**: 51123(메인), 51124(로빙/스킬) 물리적 분리 - **Gemini 모델**: 환경변수 GEMINI_MODEL로 통일 (gemini-2.5-flash-lite) -## 7. 확인 필요 사항 -- **Nginx 라우팅**: skill-news(8505), skill-publish(8511) 프록시 설정 -- **Slack 추가 권한**: files:write, users:read 필요 여부 +## 7. 즉시 필요 작업 +- **rb_news 테이블**: PostgreSQL 생성 필요 (51123) +- **Nginx 프록시**: 8505, 8511 설정 추가 (51123) +- **Slack 사용자 ID**: .env 설정 필요 (51124) ## 8. 일정 (현실적 추정) - **1주차**: skill-news 구현 (코드 90% 재사용으로 충분히 가능)