From 7c26346ac39df5f8978062c423761d3dfe87a2ee Mon Sep 17 00:00:00 2001 From: happybell80 Date: Sat, 30 Aug 2025 12:23:00 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EC=8A=A4=ED=82=AC=20=EB=A0=88=EB=B2=A8?= =?UTF-8?q?=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20=EC=9E=AC=EA=B5=AC=EC=84=B1=20?= =?UTF-8?q?=EC=99=84=EB=A3=8C=20(=F0=9F=8E=AF=F0=9F=94=AE=E2=9A=A1=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../250830_skill_level_system_restructure.md | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 troubleshooting/250830_skill_level_system_restructure.md diff --git a/troubleshooting/250830_skill_level_system_restructure.md b/troubleshooting/250830_skill_level_system_restructure.md new file mode 100644 index 0000000..d8be28e --- /dev/null +++ b/troubleshooting/250830_skill_level_system_restructure.md @@ -0,0 +1,145 @@ +# 스킬 레벨 시스템 재구성 + +**작성일**: 2025-08-30 +**작성자**: 51123 서버 관리자 +**상태**: ✅ 구현 완료 +**목표**: 레벨별 스킬 시스템을 현실적이고 단계적으로 재구성 + +--- + +## 1. 개요 + +기존 혼재된 스킬 시스템을 명확한 단계별 진행 구조로 재정의합니다. +소수 레벨(Prime number)을 기준으로 주요 스킬이 해금되는 구조입니다. + +--- + +## 2. 레벨별 스킬 최종 배치 + +| 레벨 | 스킬명 | 설명 | 백엔드 연결 | +|------|--------|------|------------| +| **1** | 기본 대화 | 일상 대화, 인사, 간단한 질문 응답 | `/api/chat` → rb8001 | +| **2** | 이메일 읽기 | Gmail 메시지 조회, 받은 편지함 확인 | `/api/gmail/messages` → skill-email | +| **3** | Slack 대화 | Slack 채널에서 대화 참여, 메시지 읽기/쓰기 | `/api/slack/messages` → rb8001 | +| **4** | 이메일 전송 | Gmail로 메일 작성 및 발송, 답장 기능 | `/api/gmail/send` → skill-email | +| **5** | 데일리 브리핑 | 매일 아침 종합 브리핑 (날씨, 뉴스, 일정) | `/api/briefing` → skill-news | +| **7** | 일정 관리 | 캘린더 연동, 일정 추가/수정/알림 | `/api/calendar` → (미구현) | +| **11** | 문서 작성/편집 | Google Docs 연동, 문서 생성 및 편집 | `/api/docs` → (미구현) | +| **13** | 데이터 분석/차트 | 데이터 시각화, 통계 분석, 리포트 생성 | `/api/analytics` → (미구현) | +| **17** | 프로젝트 관리 | 태스크 관리, 진행상황 추적, 팀 협업 | `/api/project` → (미구현) | +| **19** | AI 인사이트/예측 | 패턴 분석, 예측 모델, 추천 시스템 | `/api/insights` → (미구현) | +| **23** | 자동화 워크플로우 | 반복 작업 자동화, 커스텀 워크플로우 | `/api/automation` → (미구현) | + +--- + +## 3. Frontend 수정 사항 + +**파일**: `/home/admin/frontend-customer/src/components/skills-items-panel.tsx` + +### 3.1 수정 위치 +- **라인 138-229**: `allSkills` 배열 전체 교체 + +### 3.2 변경 내용 +✅ **구현 완료** (2025-08-30): +```typescript +const allSkills = [ + { id: 'basic-chat', name: '기본 대화', level: 1, icon: '💬' }, + { id: 'email-read', name: '이메일 읽기', level: 2, icon: '📧' }, + { id: 'slack-chat', name: 'Slack 대화', level: 3, icon: '💼' }, + { id: 'email-send', name: '이메일 전송', level: 4, icon: '✉️' }, + { id: 'daily-briefing', name: '데일리 브리핑', level: 5, icon: '📰' }, + { id: 'calendar', name: '일정 관리', level: 7, icon: '📅' }, + { id: 'docs-edit', name: '문서 작성/편집', level: 11, icon: '📝' }, + { id: 'data-analysis', name: '데이터 분석/차트', level: 13, icon: '📊' }, + { id: 'project-mgmt', name: '프로젝트 관리', level: 17, icon: '🎯' }, + { id: 'ai-insights', name: 'AI 인사이트/예측', level: 19, icon: '🔮' }, + { id: 'automation', name: '자동화 워크플로우', level: 23, icon: '⚡' } +]; +``` + +--- + +## 4. 백엔드 연결 방법 + +### 4.1 Gateway 라우팅 구조 +``` +Frontend → nginx(/gateway/) → Gateway(8100) → 각 서비스 +``` + +### 4.2 서비스별 연결 + +#### 기본 대화 (레벨 1) +- **현재**: `/api/chat` → rb8001:8001 ✅ 구현됨 +- **참고**: `/home/admin/DOCS/troubleshooting/250826_frontend_rb8001_채팅연결_계획.md` + +#### 이메일 읽기/전송 (레벨 2, 4) +- **현재**: `/api/gmail/*` → skill-email:8501 ✅ 구현됨 +- **인증**: Gmail 패스포트 시스템 사용 +- **참고**: `/home/admin/DOCS/troubleshooting/250820_happybell80_Gmail패스포트시스템완성.md` + +#### Slack 대화 (레벨 3) +- **계획**: `/api/slack/messages` → rb8001:8001 +- **인증**: Slack 패스포트 시스템 (구현 중) +- **참고**: `/home/admin/DOCS/plans/250828_slack_integration_level3_plan.md` + +#### 데일리 브리핑 (레벨 5) +- **현재**: `/api/briefing` → skill-news:8501 ✅ 구현됨 +- **스케줄**: 매일 오전 6시 자동 실행 +- **참고**: `/home/admin/DOCS/300_architecture/sequences/daily_briefing_sequences.md` + +### 4.3 Gateway 프록시 패턴 +```python +# robeing-gateway/app/main.py +@app.get("/api/{path:path}") +async def proxy_request(path: str, current_user: dict = Depends(get_current_user)): + # JWT 검증 → user_id 추출 → 서비스 라우팅 + if path.startswith("gmail/"): + return proxy_to_skill_email(path, current_user) + elif path.startswith("slack/"): + return proxy_to_rb8001(path, current_user) + # ... +``` + +--- + +## 5. 데이터베이스 연동 + +### 5.1 스킬 해금 상태 관리 +- **테이블**: `robeing_stats` + - `level`: 현재 레벨 + - `experience`: 경험치 + - `skills_unlocked`: JSONB (해금된 스킬 목록) + +### 5.2 스킬 사용 로그 +- **테이블**: `skill_usage_logs` (추가 필요) + - `user_id`: UUID + - `skill_id`: 스킬 ID + - `used_at`: 사용 시간 + - `result`: 성공/실패 + +--- + +## 6. 구현 우선순위 + +1. **즉시**: Frontend UI 변경 (스킬 목록 재배치) +2. **단기**: Slack 대화 백엔드 연결 (Phase 3) +3. **중기**: 일정 관리 (레벨 7) 구현 +4. **장기**: 레벨 11+ 고급 기능 구현 + +--- + +## 7. 테스트 시나리오 + +1. 각 레벨별 스킬 해금 확인 +2. 스킬 아이콘 및 설명 표시 확인 +3. 백엔드 API 연결 테스트 +4. 레벨업 시 새 스킬 활성화 확인 + +--- + +## 8. 참고 문서 + +- [Gateway 프록시 패턴](/home/admin/DOCS/300_architecture/gateway_proxy_patterns.md) +- [Gmail 패스포트 시스템](/home/admin/DOCS/troubleshooting/250820_happybell80_Gmail패스포트시스템완성.md) +- [Slack 통합 계획](/home/admin/DOCS/plans/250828_slack_integration_level3_plan.md) +- [데일리 브리핑 시퀀스](/home/admin/DOCS/300_architecture/sequences/daily_briefing_sequences.md) \ No newline at end of file