DocuBrowse v0.9.1: 로컬 AI 기반 문서 검색 엔진
DocuBrowse v0.9.1: 로컬 AI 기반 문서 검색 엔진
DocuBrowse v0.9.1은 로컬에서 동작하는 오픈 소스 문서 검색 엔진으로, 구조화되지 않은 파일들을 검색 가능한 지식 베이스로 변환하도록 설계되었습니다. 전통적인 키워드 검색과 AI 기반 의미 유사성을 결합하여, 정확한 단어 일치뿐만 아니라 의미에 기반한 문서 검색을 가능하게 하며, 모든 데이터는 완전히 로컬 머신에 보관됩니다.
핵심 검색 기능
DocuBrowse는 검색 정확성을 극대화하기 위해 하이브리드 검색 알고리즘을 사용합니다. 기본적으로 두 가지 모드의 결과를 병합합니다:
- 키워드 검색: SQLite FTS5를 활용해 제목, 저자, 주제, 태그 및 내용 스니펫에 대한 빠른 전체 텍스트 검색을 수행합니다. BM25 점수를 0–1 범위로 정규화합니다.
- 시맨틱 검색: Ollama 임베딩(
nomic-embed-text:latest)을 사용해 쿼리와 문서 임베딩 간 코사인 유사도를 계산합니다. 최소 임계값 0.30을 적용해 관련 없는 결과를 필터링합니다. - 하이브리드 모드: 최종 관련성 점수는
0.3 × keyword_score + 0.7 × semantic_score로 계산됩니다.
AI 기반 문서 인사이트
검색 외에도 DocuBrowse는 자동 콘텐츠 요약 기능을 제공합니다. 사용자는 문서 제목을 클릭하면 Ollama를 통해 실행되는 dolphin3:latest 모델로 "Kindle 스타일" 책 표지 요약을 생성할 수 있습니다. 이러한 요약은 필요 시 생성되며, 중복 계산을 방지하기 위해 SQLite 데이터베이스에 캐시됩니다.
지원 포맷 및 인덱싱
DocuBrowse는 PDF, Word 문서(.docx), PowerPoint 프레젠테이션(.pptx), Excel 스프레드시트(.xlsx), OpenDocument 포맷(.odt, .ods, .odp), 전자책(EPUB, MOBI, AZW3, AZW), HTML, Markdown 등 다양한 문서 유형을 지원합니다.
PDF 처리
인덱싱은 pdfplumber를 기본 추출기로 사용하고, 용량이 큰 파일에 대해서는 pypdf를 대체제로 활용하는 등 견고합니다. 시스템은 스캔된(이미지 전용) PDF를 자동으로 감지하고, OCR이 필요한 파일을 식별하기 위해 ocr_list_pdfs.txt 리스트에 별도로 라우팅합니다.
전자책 및 OpenDocument 지원
버전 0.9.1부터는 Python 표준 라이브러리를 사용해 OpenDocument 포맷(.odt, .ods, .odp)을 기본적으로 지원합니다. 전자책 인덱싱은 ebooklib와 Calibre를 활용해 메타데이터를 추출하고 MOBI/AZW3 포맷을 변환합니다.
프라이버시 및 보안
DocuBrowse는 "당신의 데이터. 당신의 AI."라는 철학으로 구축되어 인터넷 연결, API 키, 클라우드 계정이 전혀 필요하지 않습니다.
PII 보호
시스템에는 사회보장번호(SSN), 신용카드, 은행 라우팅/계좌 번호, 생년월일, 여권 번호와 같은 패턴을 감지하는 사후 스캔 기능이 포함되어 있습니다. PII가 포함된 문서는 인덱스에서 제거되고 영구적으로 블랙리스트에 추가되어 우발적인 노출을 방지합니다.
로컬 강화
악성 웹 페이지로부터의 무단 접근을 방지하기 위해 서버는 localhost에 바인딩되며 여러 보안 조치를 구현합니다:
- Host-header 허용 목록: Host가
localhost,127.0.0.1,[::1]이 아닌 경우 요청을 거부하여 DNS 재바인딩 공격을 방어합니다. - CSRF 토큰: 모든 상태 변경 작업(예:
/api/delete,/api/open)은 프로세스당X-CSRF-Token과 루프백 오리진을 요구합니다. - Stored-XSS 방지: 문서 필드는 HTML에 대해 이스케이프되며, 카드 액션은 인라인
onclick핸들러 대신 위임된 리스너를 사용합니다.
시스템 요구 사항 및 설치
하드웨어 요구 사항
- 최소: 8 GB RAM, x86_64 또는 ARM64 CPU. GPU 없이도 동작하지만 요약 생성 속도가 느릴 수 있습니다.
- 권장: 16 GB RAM, 4 GB 이상 vRAM(NVIDIA 또는 Apple Silicon) GPU 가속을 위한 환경.
설치
DocuBrowse는 Linux용 RPM, DEB, tarball, Windows용 zip, macOS용 dmg 형태로 제공됩니다. Python 3.9+가 필요하며, 최초 실행 시 Ollama와 필수 모델(nomic-embed-text 및 dolphin3) 설치를 자동으로 처리합니다.
커뮤니티 인사이트 및 관점
커뮤니티의 사용자와 개발자는 로컬 우선 AI 도구의 가치를 강조하고 있습니다.
"개인 문서를 타인의 클라우드에 올리는 것이 불편해요. 모든 것을 디스크에 보관하는 도구가 있다는 것이 좋네요."
일부 사용자는 Google Drive나 Dropbox와 같은 클라우드 스토리지 제공자와의 향후 통합, 그리고 다양한 환경에서 설정을 간소화하기 위한 Docker 배포 옵션을 제안했습니다.
요약: DocuBrowse v0.9.1은 키워드와 시맨틱 검색을 AI 생성 요약과 결합한 로컬 FOSS 문서 검색 엔진으로, 데이터 프라이버시를 보장하기 위해 완전히 디바이스에서 실행됩니다.
제목: DocuBrowse v0.9.1: 로컬 AI 기반 문서 검색 엔진