Files
GhiVideo_v4/docs/history/2026-07-07_1457_AI영상요약-보관함-좌측목록-DB저장.md
b23042andClaude Fable 5 d38b842e8d GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:32:51 +09:00

2.2 KiB

AI Video Brief — 요약 보관함(좌측 목록 + DB 저장) 추가

소요 시간: 20분 Context 사용량: input 550k / output 30k tokens (추정값)

요청 내용

왼쪽에 요약된 영상의 제목 리스트를 보여주고, 클릭 시 해당 요약본을 본문에 표시. 요약 결과는 DB/파일에 저장해서, 이미 요약된 항목은 로컬 저장본을 불러와 표시.

구현 내용 (ai_video_brief 프로젝트)

백엔드

  • app/db.py 신규 — SQLite 보관소 (storage/summaries.db, 파이썬 내장 sqlite3, 추가 의존성 없음)
    • summaries 테이블: id, video_id, url, title, duration, source, summary, transcript, created_at
  • app/main.py
    • 요약 파이프라인 시작 시 video_id(없으면 URL)로 저장본 조회 → 있으면 계산 없이 즉시 반환 (result.cached=true)
    • 요약 완료 시 DB에 자동 저장 (받아쓴 원문 포함)
    • 신규 API: GET /api/summaries(목록), GET /api/summaries/{id}(상세), GET /api/summaries/{id}/transcript(원문), DELETE /api/summaries/{id}(삭제)
    • POST /api/jobsforce 옵션 — 저장본 무시하고 재요약

웹 화면 (2단 레이아웃으로 개편)

  • 좌측 사이드바: 📚 요약 보관함 — 제목/날짜/길이/출처 목록, 클릭 시 본문에 표시
  • 우측 본문: URL 입력 + 진행 중 작업 + 선택된 요약 상세
  • 상세 화면 버튼: 📋 복사 / 📄 원문 보기 / 🔄 다시 요약(force) / 🗑 삭제
  • 요약 작업 완료 시 목록 자동 갱신 + 해당 요약 자동 표시, 저장본 사용 시 "💾 저장본에서 불러옴" 배지

테스트 결과

  • 요약 → DB 저장 → 목록 노출 확인
  • 같은 영상 재요청 → 2초 내 저장본 반환 (cached: True)
  • 상세/원문/삭제 API 정상
  • 새 2단 화면 정상 서빙

다음 에이전트 참고

  • pkill -f "uvicorn app.main"을 서버 재시작 명령과 한 줄에 쓰면 안 됨 — 명령 문자열 자체가 패턴에 걸려 자기 셸이 죽는다 (exit 144). 별도 호출로 분리할 것.
  • 서버 재시작: 구 프로세스 종료 후 cd ai_video_brief && ./run.sh 또는 nohup uvicorn.