Files
ExperionCrawler/문서뷰어-OPUS-대화모음.md
windpacer 32a442abd6 docs: 세션 작업 문서 추가 — 웹UI 개선플랜(감리정정) + 대화모음
- 웹UI-개선플랜-byQwen27B.md: app.js/index.html 분리 리팩토링 계획.
  실코드 대조 감리 결과 §0.5 추가 — 치명 결함 3건(모듈레벨 상태/최상위
  실행문 누락, 로더 기동 부재, async 파셜 배선 타이밍) 정정 및 정정 로더 포함
- 메타데이터업데이트/문서뷰어/커밋-브랜치정리 대화모음

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 16:47:27 +09:00

178 KiB
Raw Blame History

▐▛███▜▌ Claude Code v2.1.150 ▝▜█████▛▘ Opus 4.7 · Claude Pro ▘▘ ▝▝ ~/projects/ExperionCrawler

/usage ⎿ Settings dialog dismissed

이제 프로젝트내의 문서를 Web UI에서 직접 보고 관리할 수 있는 웹페이지를 만들고 싶어, 가능한 문서의 종류가 어떤게 있을까? 당연히 txt , md 는 될거고

● 문서 뷰어/관리 페이지를 설계하려면 먼저 이 프로젝트가 실제로 어떤 문서들을 다루고 있고, 이미 파싱/렌더링 가능한 게 뭔지 파악하는 게 좋겠습니다. 빠르게 살펴볼게요.

● Bash(echo "=== 프로젝트 내 문서 확장자 분포 (상위) ===" && find . -type f -not -path './.git/' -not -path './node_modules/' -not -path './bin/' -not -path './obj/' | sed 's/.*…) ⎿  === 프로젝트 내 문서 확장자 분포 (상위) === 395 txt 263 md … +15 lines (ctrl+o to expand)

Searched for 2 patterns (ctrl+o to expand)

● 이미 KB 업로드/인제스트 파이프라인이 있네요. 어떤 포맷을 파싱하는지, 그리고 기존 KB UI가 어떻게 생겼는지 확인하겠습니다.

Searched for 3 patterns (ctrl+o to expand)

● MCP parse_document가 실제로 어떤 포맷을 텍스트로 추출하는지와, 업로드 모달의 accept 설정을 확인하겠습니다.

Searched for 1 pattern (ctrl+o to expand)

● Bash(echo "=== 업로드 모달 accept 및 파일 입력 ===" && sed -n '1477,1510p' src/Web/wwwroot/index.html) ⎿  === 업로드 모달 accept 및 파일 입력 ===

… +32 lines (ctrl+o to expand)

● parse_document의 전체 분기를 정확히 보겠습니다.

Read 1 file (ctrl+o to expand)

● 이제 충분히 파악했습니다. 다운로드/원본 서빙 엔드포인트만 마지막으로 확인하겠습니다.

Read 1 file (ctrl+o to expand)

● 프로젝트를 살펴봤습니다. 결론부터 말하면 이미 상당한 인프라가 깔려 있어서, 문서 뷰어 페이지는 거의 다 "기존 것 재사용

  • 프론트 렌더링만 추가"로 만들 수 있습니다.

먼저 핵심 구분: "텍스트 추출" vs "화면 표시"

이 두 개는 다른 문제입니다.

  • 텍스트 추출(이미 있음) — KB 인제스트가 parse_document로 pdf / docx / xlsx / md / txt를 텍스트 청크로 변환 중. P&ID 쪽은 dxf / dwg / pdf까지 파싱.
  • 화면 표시(이번에 만들 것) — 원본을 브라우저에 보이게 렌더링하는 것. 이게 새 페이지의 핵심.

이미 있는 재사용 가능한 조각들:

  • GET /api/kb/download/{id} — 원본 파일을 MimeType 그대로 서빙 (뷰어가 바로 물어다 쓸 수 있음)
  • 청크 미리보기 모달(kb-chunk-modal) + /api/kb/documents/{id}/chunks — "추출 텍스트 리더뷰" 폴백으로 그대로 활용 가능
  • LLM 채팅이 이미 마크다운을 렌더링 → md 렌더러 클라이언트에 존재

표시 가능한 문서 종류 (렌더링 난이도별)

┌─────────────────────────────┬───────────────┬─────────────────┬────────────────────────────────────────┬────────┐ │ 티어 │ 포맷 │ 프로젝트 내 │ 렌더링 방식 │ 난이도 │ │ │ │ 개수 │ │ │ ├─────────────────────────────┼───────────────┼─────────────────┼────────────────────────────────────────┼────────┤ │ A. 브라우저 네이티브 │ txt │ 395 │

                                  │ ★      │
├─────────────────────────────┼───────────────┼─────────────────┼────────────────────────────────────────┼────────┤
│                             │ md / markdown │ 263             │ 기존 md 렌더러 재사용                  │ ★      │
├─────────────────────────────┼───────────────┼─────────────────┼────────────────────────────────────────┼────────┤
│                             │ pdf           │ 33              │