# Podcast 작업 레저 (Progress Ledger)
> 최종 업데이트: 2026-03-21

---

## ✅ 완료된 작업

### 인프라
- [x] Butler OS 서버 (port 3000) Windows Service 등록
- [x] EXAONE-7.8B llama-server (port 8081) 상시 실행
- [x] faster-qwen3-tts 1.7B (WSL port 7890) CUDA Graph 가속
- [x] edge-tts fallback 파이프라인

### 에피소드 스트리밍
- [x] `/api/podcast/stream` — JSON 배열 스트리밍 + SSE emit
- [x] `fetchKnowledge()` RAG — knowledge_entries crawl 데이터 주입
- [x] 잇섭/시아 캐릭터 시스템 프롬프트
- [x] 파싱: `parseUtterances()` + 증분 파싱 (완성된 턴 즉시 emit)

### 인터럽트
- [x] `/api/podcast/interrupt` — 세션 히스토리 컨텍스트
- [x] JSON 배열 → 줄 단위 파싱으로 교체 (`parseLinesAndSend`)
- [x] 스트리밍 중 줄 완성 즉시 SSE emit

### Interactive Ask
- [x] `/api/podcast/ask` SSE 엔드포인트
- [x] TTS 파일 저장 (`_ask_seg_N.wav`) + SSE `tts_done` emit
- [x] 룰기반 브릿지 (즉시) + 2개 LLM 병렬 (answer + wrap)
- [x] 팟캐스트 페이드아웃 (`ipcFadePodcast`) — 첫 TTS 준비 시점
- [x] `_ipcPodcastFaded` 플래그로 중복 페이드 방지

### 자동주제 전환
- [x] `podcast-auto-topic.js` 엔진
- [x] `/api/podcast/auto-topic` 라우트 (start/stop/force/history)
- [x] OBS 헤드라인 티커 (`/api/podcast/ticker` HTML)
- [x] YouTube Live 태그 동기화

### 대시보드 UI
- [x] Podcast 페이지 탭 구조 (Overview/Experiments/Research/Voices/Interactive/Roadmap/Business)
- [x] Business 탭 — 수익 모델 & 사업 전략
- [x] Interactive 탭 — 질문 입력 UI + 재생 컨트롤

---

## 🔄 진행중

### Interactive Ask 개선
- [ ] **즉각 대화(15초) + 백그라운드 RAG** 아키텍처 (설계 완료, 미구현)
  - Phase 1: LLM RAG 없이 즉시 4줄 대화 → parseLinesAndSend TTS
  - Phase 2: fetchKnowledge(question) 병렬 → RAG 결과 → 추가 세그먼트
- [ ] 포맷 통일: `/ask`도 줄단위 방식으로 전환 (`잇섭:`, `시아:`)

---

## 📋 다음 작업 (우선순위 순)

1. **`/ask` RAG 통합** — fetchKnowledge 연결, 15초 즉각 대화 구현
2. **TTS 품질 선택** — 질문 응답에 Chatterbox 목소리 클론 적용 옵션
3. **유튜브 라이브 연동** — OBS 브라우저 소스 세팅 가이드
4. **댓글 키워드 수집** — YT Live API 댓글 → auto-topic 피드

---

## 🐛 알려진 이슈

| 이슈 | 상태 | 설명 |
|------|------|------|
| LLM TTFT 느림 | 미해결 | EXAONE-7.8B 프리필 ~8s, 슬롯 경쟁 가능 |
| TTS 서버 수동 시작 | 미해결 | WSL faster-qwen3-tts 자동 시작 미구현 |
| 세션 히스토리 `/ask` | 미구현 | interrupt는 있지만 ask는 없음 |

---

## 📌 핵심 포트 & 경로

| 서비스 | 포트 | 경로 |
|--------|------|------|
| Butler OS | 3000 | `butler/butler-server.js` |
| LLM (Qwen3.5/EXAONE) | 8081 | llama-server |
| TTS (faster-qwen3) | WSL:7890 | `.claude/tts-server.py` |
| Vision | 8083 | butler vision server |
| Chatterbox TTS | 8001 | assistant TTS |

| 파일 | 설명 |
|------|------|
| `butler/api/podcast.js` | stream / interrupt / auto-topic |
| `butler/api/podcast-interactive.js` | /ask 파이프라인 |
| `butler/lib/podcast-auto-topic.js` | 자동주제전환 엔진 |
| `butler/public/docs/podcast-design.md` | 설계 문서 (이 파일의 자매) |
