Skip to content

hyun-1210/SNU-Hackaton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

372 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 μΉ˜μ§€μ§ AI μ±„νŒ… 생성 μ„œλΉ„μŠ€

μ†Œκ·œλͺ¨ μŠ€νŠΈλ¦¬λ¨Έλ“€μ˜ μ±„νŒ… λΆ€μ‘± 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ AI 기반 μ±„νŒ… 생성 μ„œλΉ„μŠ€

✨ μ£Όμš” κΈ°λŠ₯

  • πŸŽ₯ μ‹€μ‹œκ°„ 슀트림 μ—°κ²°: μΉ˜μ§€μ§ WebSocket APIλ₯Ό ν†΅ν•œ μ‹€μ‹œκ°„ μ±„νŒ… μˆ˜μ§‘
  • πŸ€– AI μ±„νŒ… 생성: Claude API 기반 λ§₯락 인식 μžμ—°μŠ€λŸ¬μš΄ μ±„νŒ… 생성
  • ⚑ μ‹€μ‹œκ°„ 톡신: Socket.ioλ₯Ό ν†΅ν•œ μ‹€μ‹œκ°„ 데이터 전솑
  • πŸ“Š μ›Ή λŒ€μ‹œλ³΄λ“œ: 슀트림 μ—°κ²° 및 AI μ„€μ • 관리
  • 🎬 OBS μ˜€λ²„λ ˆμ΄: AI μ±„νŒ… ν‘œμ‹œμš© λΈŒλΌμš°μ € μ†ŒμŠ€

πŸš€ λΉ λ₯Έ μ‹œμž‘

1. ν™˜κ²½ μ„€μ •

# ν”„λ‘œμ νŠΈ 클둠 ν›„ 이동
cd chzzk-ai-chat

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install
cd packages/api && npm install
cd ../../services/chzzk-connector && npm install
cd ../ai-chat-generator && npm install

2. API ν‚€ μ„€μ •

packages/api/.env νŒŒμΌμ—μ„œ Claude API ν‚€λ₯Ό μ„€μ •ν•˜μ„Έμš”:

ANTHROPIC_API_KEY=your_actual_claude_api_key_here

3. μ„œλ²„ μ‹œμž‘

# API μ„œλ²„ μ‹œμž‘ (포트 3001)
cd packages/api
npm run dev

# μ›Ή λŒ€μ‹œλ³΄λ“œ μ‹œμž‘ (포트 3000)
cd apps/web
python -m http.server 3000

# OBS μ˜€λ²„λ ˆμ΄ μ‹œμž‘ (포트 3002)
cd overlays/chat-display
python -m http.server 3002

4. μ‚¬μš©λ²•

  1. μ›Ή λŒ€μ‹œλ³΄λ“œ: http://localhost:3000
  2. OBS μ˜€λ²„λ ˆμ΄: http://localhost:3002/overlay.html
  3. API μ„œλ²„: http://localhost:3001

πŸ“– μ‚¬μš© κ°€μ΄λ“œ

μ›Ή λŒ€μ‹œλ³΄λ“œμ—μ„œ 슀트림 μ—°κ²°

  1. μΉ˜μ§€μ§ 채널 ID μž…λ ₯ (예: channelname123)
  2. "πŸ”— μ—°κ²°" λ²„νŠΌ 클릭
  3. AI μ±„νŒ… μ„€μ • μ‘°μ •:
    • 생성 μ£ΌκΈ° (10-300초)
    • AI 성격 선택
    • 관심 주제 μž…λ ₯
  4. "βš™οΈ μ„€μ • μ—…λ°μ΄νŠΈ" 클릭

OBSμ—μ„œ λΈŒλΌμš°μ € μ†ŒμŠ€ μΆ”κ°€

  1. OBSμ—μ„œ "μ†ŒμŠ€ μΆ”κ°€" β†’ "λΈŒλΌμš°μ €" 선택
  2. URL: http://localhost:3002/overlay.html
  3. λ„ˆλΉ„: 1920, 높이: 1080
  4. "CSS μ‚¬μš©μž μ§€μ •" μ²΄ν¬ν•˜κ³  λ‹€μŒ μΆ”κ°€ (개발 정보 μˆ¨κΉ€):
    .dev-info, .hide-dev { display: none !important; }

πŸ—οΈ ν”„λ‘œμ νŠΈ ꡬ쑰

chzzk-ai-chat/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ api/              # Express + Socket.io API μ„œλ²„
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ server.ts      # 메인 μ„œλ²„
β”‚   β”‚   β”‚   └── StreamManager.ts # 슀트림 관리
β”‚   β”‚   └── .env          # ν™˜κ²½ λ³€μˆ˜
β”‚   └── shared/           # 곡톡 νƒ€μž… μ •μ˜
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ chzzk-connector/  # μΉ˜μ§€μ§ API 연동
β”‚   └── ai-chat-generator/ # Claude AI μ±„νŒ… 생성
β”œβ”€β”€ apps/
β”‚   └── web/              # μ›Ή λŒ€μ‹œλ³΄λ“œ
β”‚       └── index.html
└── overlays/
    └── chat-display/     # OBS μ˜€λ²„λ ˆμ΄
        └── overlay.html

βš™οΈ μ„€μ • μ˜΅μ…˜

AI μ±„νŒ… μ„€μ •

  • ν™œμ„±ν™”: AI μ±„νŒ… 생성 온/μ˜€ν”„
  • 생성 μ£ΌκΈ°: 10-300초 (κΈ°λ³Έ: 30초)
  • AI 성격:
    • μΉœκ·Όν•˜κ³  ν™œλ°œν•œ μ‹œμ²­μž
    • 재미있고 μœ λ¨ΈλŸ¬μŠ€ν•œ μ‹œμ²­μž
    • μ°¨λΆ„ν•˜κ³  μ§„μ€‘ν•œ μ‹œμ²­μž
    • 열정적이고 μ‘μ›ν•˜λŠ” μ‹œμ²­μž
  • 관심 주제: μ‰Όν‘œλ‘œ ꡬ뢄 (예: "방솑,κ²Œμž„,일상,μŒμ‹")

πŸ”§ 개발자 정보

μ£Όμš” 기술 μŠ€νƒ

  • λ°±μ—”λ“œ: Node.js + Express + TypeScript
  • μ‹€μ‹œκ°„ 톡신: Socket.io
  • AI: Claude API (Anthropic)
  • μΉ˜μ§€μ§ 연동: chzzk 라이브러리
  • ν”„λ‘ νŠΈμ—”λ“œ: HTML5 + Vanilla JavaScript

API μ—”λ“œν¬μΈνŠΈ

  • GET /: μ„œλΉ„μŠ€ μƒνƒœ 확인
  • GET /health: ν—¬μŠ€μ²΄ν¬
  • GET /api/channels: μ—°κ²°λœ 채널 λͺ©λ‘
  • GET /api/channels/:channelId/config: 채널별 μ„€μ • 쑰회

Socket.io 이벀트

ν΄λΌμ΄μ–ΈνŠΈ β†’ μ„œλ²„:

  • connect-stream: 슀트림 μ—°κ²°
  • disconnect-stream: 슀트림 μ—°κ²° ν•΄μ œ
  • update-config: AI μ„€μ • μ—…λ°μ΄νŠΈ
  • get-status: ν˜„μž¬ μƒνƒœ μš”μ²­

μ„œλ²„ β†’ ν΄λΌμ΄μ–ΈνŠΈ:

  • stream-connected: 슀트림 μ—°κ²° 성곡
  • stream-error: 슀트림 였λ₯˜
  • chat-message: μ‹€μ‹œκ°„ μ±„νŒ… λ©”μ‹œμ§€
  • ai-chat: AI 생성 μ±„νŒ…
  • stream-update: 슀트림 정보 μ—…λ°μ΄νŠΈ

🚨 문제 ν•΄κ²°

일반적인 문제

  1. 슀트림 μ—°κ²° μ‹€νŒ¨

    • 채널 IDκ°€ μ •ν™•ν•œμ§€ 확인
    • ν•΄λ‹Ή 채널이 ν˜„μž¬ 방솑 쀑인지 확인
  2. AI μ±„νŒ…μ΄ μƒμ„±λ˜μ§€ μ•ŠμŒ

    • .env 파일의 ANTHROPIC_API_KEY 확인
    • AI μ±„νŒ… μ„€μ •μ—μ„œ "ν™œμ„±ν™”"κ°€ μ²΄ν¬λ˜μ–΄ μžˆλŠ”μ§€ 확인
  3. OBS μ˜€λ²„λ ˆμ΄κ°€ 보이지 μ•ŠμŒ

    • λΈŒλΌμš°μ € μ†ŒμŠ€ URL이 μ •ν™•ν•œμ§€ 확인: http://localhost:3002/overlay.html
    • 개발 정보가 λ°©ν•΄λœλ‹€λ©΄ CSS둜 숨기기

둜그 확인

μ„œλ²„ ν„°λ―Έλ„μ—μ„œ μ‹€μ‹œκ°„ 둜그λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€:

  • πŸŽ₯: 슀트림 κ΄€λ ¨ 이벀트
  • πŸ€–: AI μ±„νŒ… 생성
  • πŸ’¬: μ‹€μ‹œκ°„ μ±„νŒ… μˆ˜μ‹ 
  • βš™οΈ: μ„€μ • λ³€κ²½

πŸ“ˆ ν–₯ν›„ 개발 κ³„νš

2단계: κ³ κΈ‰ κΈ°λŠ₯

  • PostgreSQL + Prisma λ°μ΄ν„°λ² μ΄μŠ€ 연동
  • μ‚¬μš©μž 인증 및 채널별 μ„€μ • μ €μž₯
  • AI ν•™μŠ΅ 데이터 μˆ˜μ§‘ 및 κ°œμ„ 
  • μ›Ή λŒ€μ‹œλ³΄λ“œ UI/UX κ°œμ„ 

3단계: ν™•μž₯ κΈ°λŠ₯

  • 닀쀑 채널 λ™μ‹œ 관리
  • AI μ±„νŒ… 뢄석 및 톡계
  • μ»€μŠ€ν…€ AI 성격 μ„€μ •
  • λͺ¨λ°”일 λŒ€μ‹œλ³΄λ“œ μ•±

🀝 κΈ°μ—¬ν•˜κΈ°

  1. 이슈 리포트 및 κΈ°λŠ₯ μ œμ•ˆ ν™˜μ˜
  2. ν’€ λ¦¬ν€˜μŠ€νŠΈ μ „ μ½”λ”© μŠ€νƒ€μΌ μ€€μˆ˜
  3. ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„± ꢌμž₯

πŸ“„ λΌμ΄μ„ μŠ€

MIT License - 자유둭게 μ‚¬μš©, μˆ˜μ •, 배포 κ°€λŠ₯


πŸ’‘ 팁: 개발 μ€‘μ΄λ―€λ‘œ λ²„κ·Έλ‚˜ κ°œμ„ μ‚¬ν•­μ΄ μžˆλ‹€λ©΄ μ–Έμ œλ“  ν”Όλ“œλ°± μ£Όμ„Έμš”!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •