542 Commits

Author SHA1 Message Date
djeon
1879c1e30a Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/rag-function 2025-10-29 21:50:56 +09:00
djeon
8bb91f646f feat: 실시간 용어설명 조회 기능 추가 2025-10-29 21:50:16 +09:00
Minseo Jo
2ba8503ad2
Merge pull request #35 from hwanny1128/feat/ai-create-summary
Feat: AI 요약 재생성 API 구현
2025-10-29 18:17:08 +09:00
Minseo-Jo
d48969c406 Merge: AI 요약 재생성 기능 및 포트 8087 통일
- AI 텍스트 요약 API 추가 (POST /api/v1/ai/summary/generate)
- 불릿 포인트 및 단락형 스타일 지원
- 포트 8087로 통일
- 압축률, 핵심 포인트 추출 기능 포함

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:12:15 +09:00
Minseo-Jo
0615538b1f Fix: AI 서비스 포트 8087로 변경
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:11:32 +09:00
Cho Yoon Jin
8f14b2d2dd
Merge pull request #36 from hwanny1128/feat/meeting
Chore: 회의록 수정 - AI 요약 정보 추가
2025-10-29 18:03:16 +09:00
yabo0812
bca8d6e729 Merge branch 'wip/document-yabo' 2025-10-29 18:01:04 +09:00
yabo0812
fb418cface 문서 정리: 불필요한 claudedocs 파일 삭제 및 설계서 업데이트
- API 설계 가이드 업데이트
- 중복/과거 분석 문서 정리 (API누락요약표, API리뷰, 설계서업데이트요약)
- 유저스토리 업데이트

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 18:00:00 +09:00
cyjadela
78d72451fa Chore: 회의록 수정 - AI 요약 정보 추가 2025-10-29 17:58:26 +09:00
Minseo-Jo
ab39e8d4ea ai-python 포트 8087 완전 통일 및 meeting-ai 테스트 완료
[포트 통일]
- ai-python 서비스 포트를 8087로 완전 통일
- 모든 문서에서 8086 참조 제거
- README.md, 개발 가이드 문서 전부 8087로 업데이트

변경 파일:
- ai-python/README.md
- develop/dev/ai-frontend-integration-guide.md
- develop/dev/dev-*.md (5개 파일)

[meeting-ai 테스트]
테스트 완료 항목:
✓ 회의록 통합 및 취합
✓ AI 한줄 요약/상세 요약 생성
✓ 회의 전체 결정사항 추출
✓ TODO 자동 추출 (9개)
✓ 통계 정보 생성
✓ 주요 키워드 추출 (10개)

테스트 파일:
- develop/test/meeting-ai-test-data.json (테스트 데이터)
- develop/test/consolidate-response.json (API 응답)
- develop/test/meeting-ai-test-result.md (상세 결과서)
2025-10-29 17:53:16 +09:00
yabo0812
d2f396cffb 설계서 전면 업데이트: RAG Service 문서화 및 불필요 설계 정리
## 주요 변경사항

### 1. RAG Service 독립 서비스 문서화
- RAG Service OpenAPI 명세 작성 (9개 API)
  - Terms APIs: 용어 검색, 조회, 맥락 기반 설명 (3개)
  - Documents APIs: 관련 문서 검색, 통계 (2개)
  - Minutes APIs: 회의록 벡터 검색, 연관 검색 (4개)
- 기술 스택: Python 3.11+, FastAPI, PostgreSQL+pgvector, Azure AI Search
- 성능 요구사항 명시 (용어 검색 <500ms, 설명 생성 <3초)

### 2. 불필요한 설계서 삭제 (10개 파일, 27% 감소)
- AI Service (3개): 결정사항제안, 논의사항제안, 회의록개선
- Meeting Service (5개): 실시간수정동기화, 충돌해결, Todo완료처리, Todo할당, 리마인더발송
- Notification Service (2개): Todo알림발송, 초대알림발송

### 3. API 설계서 업데이트 (v2.0 → v2.1)
- 마이크로서비스: 5개 → 6개 (RAG Service 추가)
- 총 API 개수: 47개 → 56개 (+9개)
- AI Service 주요 특징 업데이트
  - RAG Service 연동 명시
  - 삭제된 Suggestion API 제거
  - 차별화 포인트: 맥락 기반 용어 설명, 하이브리드 검색 강조
- RAG Service 섹션 완전 신규 작성
- 통계 및 문서 이력 업데이트

### 4. 내부 시퀀스 다이어그램 업데이트 (2개)
- ai-전문용어감지.puml: RAG Service API 호출 방식 명시
- ai-맥락기반용어설명.puml: RAG Service API 호출 방식 명시

### 5. 문서화
- 설계서 업데이트 요약 문서 작성 (claudedocs/설계서_업데이트_요약.md)
- 전체 변경 사항, 영향 분석, 다음 단계 작업 명시

## 영향 분석
- 설계서 파일: 37개 → 27개 (10개 삭제)
- 유저스토리 커버리지: 28개 유저스토리 100% 반영
- 서비스 아키텍처: AI Service와 RAG Service 분리로 독립성 향상

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:51:57 +09:00
cyjadela
4944855210 Chore: ai-python 서비스 포트 변경 2025-10-29 17:45:37 +09:00
Minseo-Jo
c68df2f733 포트 설정 통일: ai-python 서비스 8087 포트로 변경
- ai-python/.env: PORT를 8086에서 8087로 변경
- ai-python/.env.example: PORT를 8086에서 8087로 변경
- meeting/application.yml: AI Service 설정 추가 (기본 포트 8087)
- develop/dev/ai-frontend-integration-guide.md: 문서 업데이트 (8087 포트 반영)

목적: 다른 개발자들의 테스트 환경 통일 및 혼란 방지
2025-10-29 17:45:28 +09:00
cyjadela
ed017129c7 Feat: AI 요약 재생성 API 구현 2025-10-29 17:35:01 +09:00
yabo0812
8dd830c25f Merge branch 'main' of https://github.com/hwanny1128/HGZero 2025-10-29 17:23:13 +09:00
Minseo-Jo
43633fc018 Merge branch 'main' of https://github.com/hwanny1128/HGZero 2025-10-29 17:22:18 +09:00
yabo0812
fc0c8c28d3 docs: RAG 서비스 독립 반영 (v2.5.0 → v2.5.1)
- 마이크로서비스 구성 업데이트 (5개 → 6개)
- RAG 서비스 섹션 추가 (2.5 RAG 서비스)
  - UFR-RAG-010: 전문용어 감지
  - UFR-RAG-020: 맥락 기반 용어 설명
  - UFR-RAG-030: 관련 회의록 검색
- 기술 구성 명시
  - PostgreSQL+pgvector 하이브리드 검색
  - Azure AI Search 관련자료 검색
  - EventHub 연동 (회의록 확정 이벤트)
  - Redis 캐싱
- AI 서비스와 RAG 서비스 간 REST API 연동 명확화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:22:10 +09:00
Minseo-Jo
86c7dad985 AI 서비스 SSE 스트리밍 기능 최종 검증 및 코드 정리
- SuggestionService: SSE 스트리밍 로직 검증 완료
- ClaudeApiClient: 스트리밍 응답 처리 코드 정리

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:21:59 +09:00
Minseo-Jo
c664116cd2 AI 제안사항 SSE 스트리밍 기능 구현 및 CORS 문제 해결
주요 변경사항:
- Event Hub 리스너를 Python AI Service에 통합하여 STT 텍스트 실시간 수신
- LocalDateTime 배열 형식을 Unix timestamp로 변환하는 로직 추가
- SSE 응답에 CORS 헤더 명시적 추가 (localhost:8888 허용)
- SSE Keep-alive를 위한 ping 이벤트 추가 (5초 주기)
- Redis 데이터 정리 스크립트 추가
- 분석 임계값을 MVP 수준으로 조정 (3개 세그먼트 = 약 15-30초)
- 프론트엔드 SSE 연동 가이드 문서 작성
- 프론트엔드에 ping 이벤트 핸들러 추가 및 에러 핸들링 개선

기술적 개선사항:
- EventSourceResponse에 Access-Control-Allow-Origin 헤더 추가
- timestamp 변환 로직으로 Java-Python 호환성 해결
- Redis 저장 오류 로깅 강화
- SSE generator에 주기적 heartbeat 전송으로 연결 유지

문서:
- develop/dev/ai-frontend-integration-guide.md: 프론트엔드 개발자를 위한 상세 연동 가이드

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 17:20:10 +09:00
Cho Yoon Jin
023602027d
Merge pull request #34 from hwanny1128/feat/meeting
Chore: 테이블 변경에 따른 Meeting API 수정
2025-10-29 16:58:37 +09:00
cyjadela
24c2507927 Fix: 테이블 변경에 따른 에러 해결 2025-10-29 16:49:02 +09:00
cyjadela
b302076e24 Merge branch 'main' of https://github.com/hwanny1128/HGZero into feat/meeting 2025-10-29 16:25:06 +09:00
Minseo-Jo
13eb213211 fix: EventHub InMemoryCheckpointStore 빌드 오류 수정
- InMemoryCheckpointStore 클래스 제거 (Azure SDK에서 미제공)
- Checkpoint Storage 미설정 시 경고 로그만 출력
- 프로덕션 환경에서 Blob Storage 설정 필요 안내

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 16:21:31 +09:00
Minseo-Jo
9c2d8dc9b2 AI 제안사항 추출 기능 개선 및 API 경로 수정
- ClaudeService에 analyze_suggestions 메서드 추가
- 개선된 제안사항 추출 프롬프트 생성 (구체적이고 실행 가능한 제안사항)
- API 경로 수정: /api/v1/ai/suggestions → /api/ai/suggestions
- 프론트엔드 HTML API 경로 업데이트 (v1 제거)
- RealtimeSuggestionsResponse 모델 export 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 16:14:32 +09:00
cyjadela
7ca0200a1e Chore: 기존 회의록 수정 API 사용 X 2025-10-29 16:12:59 +09:00
cyjadela
f1e9565d5b Feat: 회의록 수정 API 개발 2025-10-29 16:06:32 +09:00
Minseo-Jo
5c32362278 Merge branch 'main' of https://github.com/hwanny1128/HGZero 2025-10-29 16:02:01 +09:00
Minseo-Jo
c2aedc86c5 Merge feature/stt-ai into main
주요 변경사항:
- EventHub 공유 액세스 정책 재설정 (send-policy, listen-policy)
- Redis DB 2번 읽기 전용 문제 해결
- AI-Python 서비스 추가 (FastAPI 기반)
- STT WebSocket 실시간 스트리밍 구현
- AI 제안사항 실시간 추출 기능 구현
- 테스트 페이지 추가 (stt-test-wav.html)
- 개발 가이드 문서 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 16:01:47 +09:00
Minseo-Jo
3e411eb8d5 EventHub 재설정 및 Redis 읽기 전용 문제 해결
- EventHub 공유 액세스 정책 재설정 (send-policy, listen-policy)
- STT 서비스: send-policy 연결 문자열 업데이트
- AI-Python 서비스: listen-policy 연결 문자열 업데이트
- Meeting 서비스: listen-policy 연결 문자열 업데이트
- Redis DB 2번 Slave → Master 승격
- STT 테스트 페이지 추가 (stt-test-wav.html)
- EventHub 재설정 가이드 문서 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:56:52 +09:00
Daewoong Jeon
a6b2fed255
Merge pull request #33 from hwanny1128/feat/rag-function
Feat/rag function
2025-10-29 15:34:18 +09:00
djeon
a84449e88d for merge 2025-10-29 15:33:31 +09:00
djeon
50b4f645e3 for merge 2025-10-29 15:32:33 +09:00
cyjadela
7e2094bcbc Chore: 회의록 상세조회 API - db 변경사항 적용 2025-10-29 15:32:00 +09:00
djeon
43d919dded feat: change api path 2025-10-29 15:31:29 +09:00
djeon
ad7975efbd feat: rag 서비스 Event Hub 연동 및 연관 회의록 API 추가 2025-10-29 15:29:40 +09:00
Minseo-Jo
77ad99bdc7 feat: AgendaSection todos JSON 파싱 로직 추가
- ObjectMapper를 사용하여 todos JSON 문자열을 파싱
- TodoJson DTO 클래스 추가
- parseTodosJson() 메서드 구현
- MeetingStatisticsResponse에서 실제 Todo 개수 계산
- 에러 처리 로직 추가 (파싱 실패 시 빈 리스트 반환)

JSON 구조: [{title, assignee, dueDate, description, priority}]

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:26:15 +09:00
Minseo-Jo
093b8751d5 fix: Meeting 서비스 컴파일 에러 수정
- MeetingAiController의 메서드 호출 오류 수정
  - getAgendaSectionsByMeeting() -> getAgendaSectionsByMeetingId()로 변경
  - AgendaSection의 todos, pendingItems가 JSON 문자열이므로 null로 처리
  - getSummary() 메서드가 없어 aiSummaryShort 사용
- GitHub Actions 빌드 에러 해결

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:22:22 +09:00
Minseo-Jo
b236067b7c chore: .gitignore에 로그 파일 추가 및 기존 로그 파일 추적 제거
- logs/, *.log 패턴 추가
- 기존 추적되던 로그 파일 제거
- 향후 merge 충돌 방지

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:16:45 +09:00
Minseo-Jo
d854ce6312 Merge feat/meeting-ai into main - AI 서비스 빌드 에러 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:15:04 +09:00
Minseo-Jo
9370d10d68 fix: AI 서비스 빌드 에러 수정 - 사용하지 않는 InMemoryCheckpointStore 클래스 삭제
- Azure Event Hubs 의존성이 필요한 InMemoryCheckpointStore.java 파일 삭제
- 해당 클래스는 프로젝트에서 사용되지 않음
- GitHub Actions 빌드 에러 해결

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:14:20 +09:00
Minseo-Jo
6770dd4ad9 Merge feat/meeting-ai into main
회의 종료 API 및 AI 회의록 통합 기능을 main 브랜치에 병합

주요 기능:
- 회의 종료 시 AI 자동 요약 생성
- 안건별 논의사항/결정사항 자동 정리
- 주요 키워드 추출
- Todo 및 보류사항 자동 식별

충돌 해결:
- MinutesSectionEntity: id 필드명으로 통일
- AgendaSection 관련 파일들: feat/meeting-ai 버전 사용
- application.yml: AI Service 포트 8086 설정 유지

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:49:37 +09:00
Minseo-Jo
e30aa5c116 feat: Meeting AI 통합 - 회의 종료 API 및 AI 회의록 요약 기능 구현
주요 변경사항:
- 회의 종료 API 구현 (POST /api/meetings/{meetingId}/end)
- AI 회의록 통합 요약 기능 구현
- Claude API 연동 및 프롬프트 최적화
- 안건별 요약, 키워드 추출, 결정사항 자동 정리

AI Service (Python):
- Claude 모델 설정: claude-sonnet-4-5-20250929
- 회의록 통합 프롬프트 개선
- AgendaSummary 모델 summary 필드 매핑 수정
- decisions 필드 추가 및 응답 구조 정리
- 입력 데이터 로깅 추가

Meeting Service (Java):
- EndMeetingService AI 통합 로직 구현
- MeetingAnalysis 엔티티 decisions 필드 추가
- AgendaSection opinions 필드 제거
- AI Service 포트 8086으로 설정
- DB 마이그레이션 스크립트 추가 (V7)

테스트 결과:
 회의 종료 API 정상 동작
 AI 응답 검증 (keywords, summary, decisions)
 안건별 요약 및 보류사항 추출
 처리 시간: ~11초, 토큰: ~2,600

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 14:46:41 +09:00
Daewoong Jeon
67d768fffa
Merge pull request #32 from hwanny1128/feat/rag-function
Feat/rag function
2025-10-29 14:37:33 +09:00
djeon
5859b1c498 fix: change event hub connection string 2025-10-29 14:36:41 +09:00
djeon
c662393261 fix: change eventhub connection string 2025-10-29 14:34:26 +09:00
cyjadela
d0aa6353da Feat: 회의 중 메모 저장 API 구현 2025-10-29 14:08:27 +09:00
yabo0812
3bcc4d4f6b
Merge pull request #31 from hwanny1128/wip/cleanup-uiux-files
UI/UX 문서 정리: 불필요한 백업 파일 및 참조 이미지 삭제
2025-10-29 13:59:11 +09:00
yabo0812
01bb4198d9 UI/UX 문서 정리: 불필요한 백업 파일 및 참조 이미지 삭제
주요 변경사항:
- 프로토타입 백업 파일 삭제 (대시보드, 회의진행)
- 참조 이미지 파일 정리 (KakaoTalk 스크린샷 4건)
- UI/UX 설계서 및 유저스토리 업데이트

프로젝트 정리 및 문서 구조 개선

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 13:51:38 +09:00
cyjadela
764a620980 Chore: 회의록 상세 조회 API - AgendaSection 업데이트 반영 2025-10-29 13:26:20 +09:00
Minseo-Jo
90e31451a5 fix: AI 서비스 인증 제거
- SecurityConfig에서 JWT 인증 제거하여 모든 요청 허용
- JwtTokenProvider 및 JwtAuthenticationFilter 의존성 제거
- 프론트엔드에서 토큰 없이 API 호출 가능하도록 수정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 11:30:58 +09:00