- Added actual skill-slack file structure and existing endpoints - Corrected wrong assumptions about skill-naverworks service - Integrated BaseSkillRequest model structure - Added DB-based provider detection logic implementation - Updated implementation checklist with /api/v1 prefix requirement - Fixed provider detection to use DB queries instead of keywords
3.5 KiB
3.5 KiB
NAVER WORKS → Slack 연동 [2/3] 일일 브리핑
날짜: 2025-09-19
작성자: Claude (51123 서버 관리자)
관련 서비스: rb8001, skill-email
상태: 미구현
관련 문서
1. 일일 브리핑 개요
목적
회사 대표메일 중요사항을 매일 아침 자동으로 요약하여 Slack 전체 채널에 브리핑
핵심 기능
- 최근 24시간 메일 중 중요 메일 필터링
- AI 요약 생성
- 우선순위별 정렬
- Slack 전체 채널 자동 포스팅
2. 구현 방식
2.1 트리거 방식
- 스케줄러: 매일 09:00 KST 자동 실행
- 위치: rb8001의 app/services/scheduler.py
- 도구: APScheduler
2.2 처리 흐름 (skill-slack 포함)
- 스케줄러가 09:00에 rb8001 트리거
- rb8001이 skill-email
/daily-briefing호출 - skill-email이 NAVER WORKS API로 24시간 메일 조회
- 중요도 필터링 (긴급, 계약, 결제, 공지 키워드)
- Gemini API로 요약 생성
- rb8001이 요약 데이터를 skill-slack
/format-briefing으로 전송 - skill-slack이 Slack Block Kit 형식으로 변환
- rb8001이 Slack 전체 채널에 포스팅
3. 구현 파일 구조
skill-email 추가 파일
routers/naverworks_mail.py: POST/daily-briefing엔드포인트services/naverworks_mail_service.py:generate_daily_briefing()메서드schemas/naverworks_schemas.py: BriefingRequest/Response 모델
skill-slack 추가 파일
- POST
/format-briefing: 브리핑 데이터를 Slack Block Kit으로 변환 - 우선순위별 색상 코딩 (🔴 긴급, 🟡 중요, 🟢 일반)
- Section/Divider/Context 블록 조합
rb8001 추가 파일
app/services/scheduler.py: APScheduler 설정- 오케스트레이션 로직: skill-email → skill-slack 조합
4. 구현 체크리스트
4.1 skill-email 구현
- POST
/daily-briefing엔드포인트 - 24시간 메일 조회 로직
- 중요도 필터링 알고리즘
- Gemini API 연동 (요약 생성)
- Slack Block Kit 포맷터
4.2 rb8001 구현
- APScheduler 설정 (09:00 KST)
- 스케줄 작업 함수 구현
- skill-email 호출 로직
- Slack 전체 채널 전송
5. 문제점 및 개선 방안
5.1 폴링 방식 문제
- 문제: 9,192개 메일 조회 시 API Rate Limit 위험
- 개선:
- 최근 24시간 메일만 조회 (limit 파라미터)
- 캐싱 적용 (중복 조회 방지)
5.2 인증 방식
- 문제: 스케줄러는 사용자 로그인 없이 작동 필요
- 개선: JWT 기반 서비스 계정 도입 권장
5.3 보안 우려
- 문제: 메일 본문이 Gemini API로 전송
- 개선:
- 민감정보 필터링
- 발신자/제목/키워드만 요약
- 상세 내용은 원본 메일 링크 제공
6. 예상 출력 형식
📅 일일 메일 브리핑 (2025-09-19)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 긴급 (2건)
• [계약] OO사 계약 검토 요청 - 김과장
• [결제] 월간 서버 비용 승인 필요 - 재무팀
🟡 중요 (3건)
• [공지] 9월 정기 점검 안내 - IT팀
• [미팅] 다음주 프로젝트 킥오프 - PM팀
• [요청] 마케팅 자료 검토 - 마케팅팀
🟢 일반 (5건)
• 기타 일반 메일 5건
━━━━━━━━━━━━━━━━━━━━━━━━━━━