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 엔드포인트로 보내는 요청뿐입니다.
작동 방식
- 가져오기:
pdfjs-dist,mammoth,officeparser,turndown을 사용하여 구조(페이지, 제목, 슬라이드)를 유지하면서 텍스트를 추출합니다. - 분할: 텍스트를 약 500자 단위의 구절로 분할하고 약간의 오버랩을 둡니다. 각 구절은 정확한 인용을 위해 시작/종료 오프셋을 기록합니다.
- 임베딩: ONNX를 통해 오픈 소스
Xenova/multilingual‑e5‑small모델(384차원,q8양자화)을 사용하여 Electron 메인 프로세스에서 각 구절을 임베딩합니다. - 저장: 임베딩은 로컬 SQLite 데이터베이스(Drizzle ORM을 통한
sqlite‑vec)에 저장됩니다. 각 노트북마다 별도의 벡터 테이블을 사용하여 임베딩 공간이 섞이지 않습니다. - 질의: 질문을 입력하면 앱이 가장 관련성 높은 구절을 검색하여 설정한 채팅 모델(OpenAI, Anthropic, Google, Ollama 등)에 프롬프트와 함께 전송하고, 클릭 가능한 인용과 함께 답변을 표시합니다.
- 메모: 답변 옆에 구조화된 메모를 작성하고 노트북을 마인드맵으로 변환할 수 있습니다.
주요 기능
- 로컬 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로 핫 리로드 모드 실행.
시작하기
- Releases 페이지에서 적절한 설치 파일을 다운로드합니다(Windows는
.exe, Apple Silicon macOS는‑arm64.dmg). - macOS의 경우 격리 플래그를 해제합니다 (
sudo xattr -rd com.apple.quarantine /Applications/KnowNote.app). - Windows의 경우 SmartScreen 경고가 나타나면 실행을 클릭합니다.
- Settings → Models에서 엔드포인트를 추가합니다(예:
https://api.openai.com/v1/chat/completions와 API 키, 또는 로컬 Ollama 서버). - 문서를 가져오고 질문하여 인용된 답변을 확인합니다.
주요 사용 사례
- 학술 연구: 논문 모음에 대해 질문하고 답변을 뒷받침하는 정확한 문장을 확인합니다.
- 비즈니스 지식 관리: 내부 PDF, 슬라이드, 정책 문서를 클라우드 서비스에 업로드하지 않고 검색합니다.
- 개인 학습: 신뢰할 수 있는 LLM을 사용하여 대화 가능한 개인용 "제2의 뇌"를 구축합니다.
라이선스
- GPL-3.0 – 동일한 라이선스를 유지하는 조건으로 코드의 자유로운 사용, 수정 및 재배포가 가능합니다.
추가 정보
- 프로젝트 웹사이트: https://knownote.pages.dev (상세 기능 가이드, 설계 근거 및 NotebookLM/AnythingLLM과의 비교).
- 아키텍처 개요 및 설계 노트는 저장소의
DESIGN.md를 참조하세요. - 기여 가이드는
CONTRIBUTING.md를 참조하세요.
KnowNote는 로컬 검색 증강 생성(RAG)을 일상적인 연구 워크플로우에 도입하여 데이터를 비공개로 유지하고 사용자가 완전히 제어할 수 있도록 하는 진정한 오픈 소스 AI 강화 데스크톱 도구입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트