mrsibe/KnowNote

A local-first AI knowledge base & NotebookLM alternative built with Electron. More convenient, more lightweight, and understands you better!

KnowNote – 로컬 우선 연구 워크스페이스

소개

  • PDF, Word 문서, PowerPoint 및 웹 페이지를 검색 가능한 지식 베이스로 변환할 수 있는 크로스 플랫폼 데스크톱 앱(Electron)입니다.
  • 자연어로 질문하면 답변의 근거가 된 정확한 구절이 인용과 함께 제공됩니다.
  • 파싱, 청킹, 임베딩, 벡터 검색 등 모든 무거운 작업은 사용자의 기기에서 실행됩니다. 유일한 네트워크 통신은 설정한 LLM 엔드포인트로 보내는 요청뿐입니다.

작동 방식

  1. 가져오기: pdfjs-dist, mammoth, officeparser, turndown을 사용하여 구조(페이지, 제목, 슬라이드)를 유지하면서 텍스트를 추출합니다.
  2. 분할: 텍스트를 약 500자 단위의 구절로 분할하고 약간의 오버랩을 둡니다. 각 구절은 정확한 인용을 위해 시작/종료 오프셋을 기록합니다.
  3. 임베딩: ONNX를 통해 오픈 소스 Xenova/multilingual‑e5‑small 모델(384차원, q8 양자화)을 사용하여 Electron 메인 프로세스에서 각 구절을 임베딩합니다.
  4. 저장: 임베딩은 로컬 SQLite 데이터베이스(Drizzle ORM을 통한 sqlite‑vec)에 저장됩니다. 각 노트북마다 별도의 벡터 테이블을 사용하여 임베딩 공간이 섞이지 않습니다.
  5. 질의: 질문을 입력하면 앱이 가장 관련성 높은 구절을 검색하여 설정한 채팅 모델(OpenAI, Anthropic, Google, Ollama 등)에 프롬프트와 함께 전송하고, 클릭 가능한 인용과 함께 답변을 표시합니다.
  6. 메모: 답변 옆에 구조화된 메모를 작성하고 노트북을 마인드맵으로 변환할 수 있습니다.

주요 기능

  • 로컬 RAG – 서버, Docker, 클라우드 저장소 없이 모든 데이터가 기기에 유지됩니다.
  • BYO 모델 (Bring-your-own-model) – OpenAI, Anthropic, Google 호환 또는 로컬 Ollama 엔드포인트를 지원하며, 앱 자체에는 채팅 모델이 포함되어 있지 않습니다.
  • 추적 가능한 답변 – 모든 응답은 소스 구절과 원본 문서 내의 정확한 위치를 나열합니다.
  • 다양한 형식 지원 – PDF, Word, PowerPoint 및 임의의 웹 페이지를 가져올 수 있습니다.
  • 메모 및 마인드맵 – 결론을 기록하고 관계를 시각화합니다.
  • 오픈 소스 – GPL-3.0 라이선스; 임베딩 모델은 최초 다운로드 시 캐시됩니다.

현재 제한 사항 (최신 릴리스 기준)

  • 오디오 업로드/전사, 퀴즈 생성 및 슬라이드 생성 기능은 개발 중입니다.
  • Linux 빌드는 아직 지원하지 않으며, macOS 빌드는 Apple Silicon 전용입니다.
  • 빌드가 서명되지 않았고(macOS) 공증되지 않았으므로 최초 실행 시 보안 경고가 표시될 수 있습니다.
  • 다중 사용자 동기화, 협업 또는 원격 측정 기능이 없는 단일 사용자 도구입니다.

기술 스택

  • Electron + React + TypeScript + TailwindCSS – UI 및 데스크톱 패키징.
  • Tiptap – 리치 텍스트 메모 편집기.
  • ONNX runtime – multilingual‑e5‑small 임베더를 로컬에서 실행.
  • SQLite + sqlite‑vec – 벡터 저장 및 유사도 검색.
  • Node.js – 개발 환경; npm run dev로 핫 리로드 모드 실행.

시작하기

  1. Releases 페이지에서 적절한 설치 파일을 다운로드합니다(Windows는 .exe, Apple Silicon macOS는 ‑arm64.dmg).
  2. macOS의 경우 격리 플래그를 해제합니다 (sudo xattr -rd com.apple.quarantine /Applications/KnowNote.app).
  3. Windows의 경우 SmartScreen 경고가 나타나면 실행을 클릭합니다.
  4. Settings → Models에서 엔드포인트를 추가합니다(예: https://api.openai.com/v1/chat/completions와 API 키, 또는 로컬 Ollama 서버).
  5. 문서를 가져오고 질문하여 인용된 답변을 확인합니다.

주요 사용 사례

  • 학술 연구: 논문 모음에 대해 질문하고 답변을 뒷받침하는 정확한 문장을 확인합니다.
  • 비즈니스 지식 관리: 내부 PDF, 슬라이드, 정책 문서를 클라우드 서비스에 업로드하지 않고 검색합니다.
  • 개인 학습: 신뢰할 수 있는 LLM을 사용하여 대화 가능한 개인용 "제2의 뇌"를 구축합니다.

라이선스

  • GPL-3.0 – 동일한 라이선스를 유지하는 조건으로 코드의 자유로운 사용, 수정 및 재배포가 가능합니다.

추가 정보

  • 프로젝트 웹사이트: https://knownote.pages.dev (상세 기능 가이드, 설계 근거 및 NotebookLM/AnythingLLM과의 비교).
  • 아키텍처 개요 및 설계 노트는 저장소의 DESIGN.md를 참조하세요.
  • 기여 가이드는 CONTRIBUTING.md를 참조하세요.

KnowNote는 로컬 검색 증강 생성(RAG)을 일상적인 연구 워크플로우에 도입하여 데이터를 비공개로 유지하고 사용자가 완전히 제어할 수 있도록 하는 진정한 오픈 소스 AI 강화 데스크톱 도구입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트