- Added test participant status table - cdctfm: Slack ✅, Gmail ❌ - happybell80: Slack ✅, Gmail ❌ - 0914eagle: Slack ✅, Gmail ✅ (changed from eagle0914) - All 3 users connected to rb8001 (Level 20) - Added Gateway stats endpoint fix note - Updated expected results to show Level 20 display 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
270 lines
8.7 KiB
Markdown
270 lines
8.7 KiB
Markdown
# 오후 4시 일일 브리핑 자동화 데모 계획
|
|
|
|
## 작성일: 2025-08-23
|
|
## 목표 시간: 2025-08-23 16:00 (오전 9시 기능을 4시에 테스트)
|
|
## 작성자: 51123 서버 관리자
|
|
|
|
---
|
|
|
|
## 1. 데모 개요
|
|
|
|
### 1.1 핵심 목표
|
|
- **매일 오전 9시** 일일 브리핑 자동 전송 (오늘은 4시 테스트)
|
|
- 개인별 맞춤 브리핑을 **Slack DM**으로 전송
|
|
- 회사 전체 요약을 **일반 채널**에 전송
|
|
- 날짜, Slack 요약, 이메일, 뉴스, 일정, 날씨, 응원 메시지 포함
|
|
|
|
### 1.2 성공 기준
|
|
- ✅ 오후 4시 정각 자동 실행 (수동 트리거 없음)
|
|
- ✅ 3명 사용자 개별 Slack DM 전송
|
|
- ✅ 일반 채널 전체 브리핑 전송
|
|
- ✅ 웹 대시보드 실시간 업데이트
|
|
|
|
---
|
|
|
|
## 2. 시스템 아키텍처
|
|
|
|
### 2.1 관련 서비스 및 포트
|
|
| 서버 | 서비스 | 포트 | 역할 |
|
|
|------|--------|------|------|
|
|
| 51123 | robeing-gateway | 8100 | API 프록시, JWT 인증 |
|
|
| 51123 | auth-server | 9000 | OAuth 인증 |
|
|
| 51123 | PostgreSQL | 5432 | 데이터베이스 |
|
|
| 51124 | rb8001 | 8001 | 메인 로빙 (스케줄러 실행) |
|
|
| 51124 | skill-email | 8501 | Gmail 읽기/요약 |
|
|
| 51124 | skill-news | 8505 | 뉴스 검색 (키워드: 에이전트) |
|
|
| 51124 | robeing-monitor | 9024 | Gmail 토큰 관리 |
|
|
|
|
### 2.2 데이터 흐름
|
|
1. rb8001 컨테이너에서 스케줄러 실행 (16:00)
|
|
2. 각 사용자별 데이터 수집
|
|
- Slack 대화 내역
|
|
- Gmail 이메일
|
|
- 뉴스 (skill-news, 키워드: '에이전트')
|
|
- 일정 정보
|
|
- 날씨 API
|
|
3. 개인별 브리핑 생성 및 DM 전송
|
|
4. 전체 요약 생성 및 일반 채널 전송
|
|
|
|
---
|
|
|
|
## 3. 브리핑 메시지 형식
|
|
|
|
### 3.1 개인 DM 브리핑 예시
|
|
```
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
📅 2025년 8월 23일 금요일 브리핑
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
💬 어제의 Slack (3건)
|
|
• [긴급] 희재님: "내일 4시 데모 준비 완료 필요"
|
|
• [일반] 한용님: "서버 모니터링 정상"
|
|
• [완료] CEO: "OAuth 이슈 해결됨"
|
|
|
|
📧 받은 메일 (5건)
|
|
• 🔴 긴급: AWS 결제 알림 - 8/25 만료 예정
|
|
• 🟡 중요: 투자사 미팅 일정 확인 요청
|
|
• ⚪ 일반: 뉴스레터 3건
|
|
|
|
📰 오늘의 뉴스 - '에이전트' 키워드
|
|
• OpenAI, GPT-5 에이전트 기능 2025년 출시 예정
|
|
• 구글, AI 에이전트로 코딩 자동화 90% 달성
|
|
• 국내 스타트업, B2B 에이전트 시장 진출 가속화
|
|
• MS, 엔터프라이즈 에이전트 플랫폼 공개
|
|
|
|
📋 오늘 일정
|
|
• 10:00 - 스탠드업 미팅
|
|
• 14:00 - 코드 리뷰
|
|
• 16:00 - 데모 시연 ⭐
|
|
|
|
☀️ 서울 날씨: 맑음 28°C (미세먼지: 좋음)
|
|
|
|
💪 "금요일입니다! 이번 주도 거의 다 왔어요.
|
|
오늘 데모 성공적으로 마무리하고 주말 맞이해요!"
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
```
|
|
|
|
### 3.2 일반 채널 전체 브리핑
|
|
- 개인 정보 제외
|
|
- 팀 전체 일정 중심
|
|
- 공통 관심사 위주
|
|
|
|
---
|
|
|
|
## 4. 시퀀스 다이어그램
|
|
|
|
### 4.1 오후 4시 자동 실행 시퀀스
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant Scheduler as rb8001<br/>Scheduler
|
|
participant SkillEmail as skill-email<br/>(8501)
|
|
participant SkillNews as skill-news<br/>(8505)
|
|
participant Monitor as robeing-monitor<br/>(9024)
|
|
participant DB as PostgreSQL
|
|
participant Gmail as Gmail API
|
|
participant NewsAPI as News API
|
|
participant Slack as Slack API
|
|
participant Frontend as Web Frontend
|
|
|
|
Note over Scheduler: 매일 16:00:00
|
|
|
|
Scheduler->>DB: 활성 사용자 목록 조회
|
|
DB-->>Scheduler: users (3명)
|
|
|
|
loop 각 사용자별 처리
|
|
Scheduler->>Monitor: Gmail 토큰 확인<br/>(X-User-Id)
|
|
Monitor->>DB: gmail_tokens 조회
|
|
DB-->>Monitor: token_data
|
|
|
|
alt 토큰 유효
|
|
Monitor-->>Scheduler: 토큰 정보
|
|
Scheduler->>SkillEmail: 이메일 요약 요청<br/>(user_id, token)
|
|
|
|
SkillEmail->>Gmail: 최근 24시간 이메일 조회
|
|
Gmail-->>SkillEmail: 이메일 목록
|
|
|
|
SkillEmail->>SkillEmail: 이메일 분류<br/>(긴급/중요/일반)
|
|
SkillEmail->>SkillEmail: 요약 생성
|
|
|
|
SkillEmail-->>Scheduler: 이메일 요약
|
|
|
|
Scheduler->>SkillNews: 뉴스 검색 요청<br/>(keyword: '에이전트')
|
|
Note over SkillNews: skill-news:8505
|
|
SkillNews->>NewsAPI: 키워드 검색
|
|
NewsAPI-->>SkillNews: 뉴스 목록
|
|
SkillNews-->>Scheduler: 뉴스 요약
|
|
|
|
par Slack 전송
|
|
Scheduler->>Slack: DM 전송<br/>(user_slack_id)
|
|
Slack-->>Scheduler: 전송 완료
|
|
and 프론트엔드 업데이트
|
|
Scheduler->>DB: 요약 저장
|
|
Frontend->>DB: 폴링/WebSocket
|
|
DB-->>Frontend: 새 요약 데이터
|
|
end
|
|
|
|
else 토큰 없음/만료
|
|
Monitor-->>Scheduler: NO_TOKEN
|
|
Scheduler->>DB: 에러 로그 기록
|
|
end
|
|
end
|
|
|
|
Note over Scheduler: 다음 실행: 16:00:00 +1일
|
|
```
|
|
|
|
### 4.2 브리핑 생성 프로세스
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant RB as rb8001
|
|
participant SE as skill-email
|
|
participant SN as skill-news
|
|
participant Gmail as Gmail API
|
|
participant News as News API
|
|
participant AI as AI Model
|
|
|
|
RB->>SE: 이메일 요약 요청
|
|
SE->>Gmail: messages.list()<br/>(최근 24시간)
|
|
Gmail-->>SE: message_ids[]
|
|
|
|
loop 각 메일별
|
|
SE->>Gmail: messages.get(id)
|
|
Gmail-->>SE: 메일 상세
|
|
SE->>AI: 중요도 분류
|
|
AI-->>SE: 긴급/중요/일반
|
|
end
|
|
|
|
SE-->>RB: 이메일 요약
|
|
|
|
RB->>SN: 뉴스 검색<br/>(keyword: '에이전트')
|
|
SN->>News: 키워드 검색
|
|
News-->>SN: 뉴스 목록
|
|
SN->>AI: 뉴스 요약
|
|
AI-->>SN: 요약 텍스트
|
|
SN-->>RB: 뉴스 요약
|
|
|
|
RB->>RB: 브리핑 조합
|
|
Note over RB: 📅 날짜<br/>💬 Slack<br/>📧 이메일<br/>📰 뉴스<br/>📋 일정<br/>☀️ 날씨
|
|
```
|
|
|
|
---
|
|
|
|
## 5. 구현 체크리스트
|
|
|
|
### 5.1 51123 서버 (완료)
|
|
- [x] OAuth 로그인 시스템
|
|
- [x] JWT 인증 구현
|
|
- [x] Gateway UUID 변환
|
|
- [x] PostgreSQL 사용자 관리
|
|
|
|
### 5.2 51124 서버 (진행 중)
|
|
- [ ] rb8001 스케줄러 구현
|
|
- [ ] 16:00 트리거 설정
|
|
- [ ] 사용자 목록 조회
|
|
- [ ] 데이터 수집
|
|
- [ ] Slack 대화 내역
|
|
- [ ] Gmail 이메일 (skill-email)
|
|
- [ ] 뉴스 검색 (skill-news, 키워드: '에이전트')
|
|
- [ ] 날씨 정보
|
|
- [ ] 브리핑 전송
|
|
- [ ] Slack DM 개인 전송
|
|
- [ ] 일반 채널 전체 전송
|
|
|
|
### 5.3 프론트엔드 (확인 필요)
|
|
- [ ] JWT 헤더 전송
|
|
- [ ] 브리핑 표시 UI
|
|
|
|
---
|
|
|
|
## 6. 테스트 시나리오
|
|
|
|
### 6.1 테스트 참가자 현황
|
|
| Username | Email | Robeing | Slack ID | Gmail Token | 비고 |
|
|
|----------|-------|---------|----------|-------------|------|
|
|
| cdctfm | cdctfm@gmail.com | rb8001 (Lv.20) | U092F7FQ55L ✅ | ❌ 필요 | 한용님 |
|
|
| happybell80 | goeun2dc@gmail.com | rb8001 (Lv.20) | U0925SXQFDK ✅ | ❌ 필요 | 고은님 |
|
|
| 0914eagle | 0914eagle@gmail.com | rb8001 (Lv.20) | U091UNVE41M ✅ | ✅ 준비됨 | 희재님 |
|
|
|
|
### 6.2 사전 준비
|
|
1. Gmail OAuth 인증
|
|
- 0914eagle: ✅ 완료
|
|
- cdctfm, happybell80: ⚠️ 인증 필요
|
|
2. 각 사용자별 테스트 이메일 준비
|
|
3. Slack 워크스페이스 접속 확인
|
|
4. Gateway stats 엔드포인트 수정 완료 (rb8001 라우팅)
|
|
|
|
### 6.3 테스트 진행
|
|
| 시간 | 액션 | 예상 결과 |
|
|
|------|------|----------|
|
|
| 15:55 | 시스템 상태 확인 | 모든 서비스 정상 |
|
|
| 15:58 | 테스트 이메일 발송 | Gmail 수신 확인 |
|
|
| 16:00 | 자동 실행 | 스케줄러 트리거 |
|
|
| 16:01 | Slack DM 확인 | 3명 개인 브리핑 수신 |
|
|
| 16:01 | 일반 채널 확인 | 전체 브리핑 수신 |
|
|
| 16:01 | 웹 확인 | 대시보드 업데이트, Level 20 표시 |
|
|
|
|
---
|
|
|
|
## 7. 장애 대응
|
|
|
|
### 7.1 예상 이슈
|
|
| 이슈 | 원인 | 대응 |
|
|
|------|------|------|
|
|
| 스케줄러 미실행 | 시간대 설정 | TZ 환경변수 확인 |
|
|
| Gmail API 실패 | 토큰 만료 | 토큰 갱신 |
|
|
| Slack 전송 실패 | API 제한 | 재시도 로직 |
|
|
| 프론트엔드 미갱신 | 캐시 | 강제 새로고침 |
|
|
|
|
### 7.2 모니터링 포인트
|
|
- rb8001 컨테이너 로그
|
|
- skill-email 서비스 로그
|
|
- PostgreSQL 쿼리 로그
|
|
- nginx 액세스 로그
|
|
|
|
---
|
|
|
|
---
|
|
|
|
*이 문서는 2025-08-23 오후 4시 데모를 위한 실행 계획입니다.*
|
|
*실제 서비스는 매일 오전 9시에 자동 실행됩니다.* |