Rocketnotes 소개
개발자가 몇 년에 걸쳐 쌓은 메모는 대개 두 가지 문제를 동시에 갖습니다. 첫째로 문서가 늘어날수록 필요한 내용이 어느 문서에 있었는지 기억나지 않고, 키워드가 정확히 일치하지 않으면 검색으로도 찾히지 않습니다. 둘째로 회의 중이나 이동 중에 남긴 짧은 메모 조각들이 어디에도 속하지 못한 채 쌓입니다. 나중에 제자리를 찾아 주려면 결국 사람이 문서를 하나씩 열어 보며 어디에 붙일지 판단해야 하는데, 그 작업이 밀리면서 메모 더미가 그대로 방치됩니다.
Rocketnotes는 이 두 문제를 노트 앱 안에서 처리하려는 오픈소스 프로젝트입니다. 자신이 쌓은 문서를 대상으로 자연어 질문을 던져 답을 받을 수 있고, 의미 기반 검색으로 표현이 달라도 관련 문서를 찾아냅니다. 그리고 제텔카스텐(Zettelkasten) 수집함에 넣어 둔 메모 조각을 AI 에이전트가 분석해 가장 관련 있는 기존 문서 안으로 옮겨 넣습니다.
Rocketnotes를 만든 Fynn Flügge는 LangChain, LangGraph, S3 Vectors, ChromaDB, sentence-transformers, Ollama를 이용해 이 프로젝트를 만들었다고 밝히고 있습니다. 프런트엔드는 Angular와 TypeScript, Electron으로, 백엔드는 Go와 Python으로 구성되어 있습니다.
Rocketnotes를 쓰는 세 가지 방법
Rocketnotes가 다른 자체 호스팅 노트 앱과 다른 점은 실행 형태를 세 가지로 열어 두었다는 점입니다. 저자가 운영하는 무료 호스팅 인스턴스를 그대로 쓸 수도 있고, 같은 코드를 자신의 컴퓨터에서 완전히 로컬로 실행할 수도 있습니다.
주요 항목별로 세 방법의 차이는 다음과 같습니다:
| 실행 방법 | 데이터 위치 | AI 처리 | 준비 작업 |
|---|---|---|---|
| 호스팅 웹 앱과 Electron 앱 | 저자가 운영하는 AWS | OpenAI, Anthropic, Together AI 모델 | 무료 가입 |
| Docker 로컬 실행 | 내 컴퓨터 | Ollama로 로컬 처리 | Docker Compose 실행 |
| 소스 빌드 | 내 컴퓨터 또는 자체 AWS 계정 | 선택한 구성에 따름 | 개발 환경 구성 |
로컬 실행 구성에서는 벡터 저장소로 ChromaDB를, 클라우드 구성에서는 S3 Vectors를 사용합니다. 로컬 모드에서는 Ollama가 AI 처리를 담당하므로 문서 내용이 외부 모델 제공자로 나가지 않습니다.
Rocketnotes가 맞는 사람과 맞지 않는 사람
마크다운으로 개발 메모를 쌓아 왔고 그 축적분에 질문을 던지고 싶은 개인 사용자에게 Rocketnotes는 잘 맞습니다. 코드 구문 강조와 Katex 수식, Mermaid 다이어그램을 문서 안에서 지원하고 문서를 깊이 제한 없이 중첩할 수 있어 기술 메모를 담기에 부족함이 없으며, 로컬 모드를 고르면 문서와 AI 처리가 모두 자신의 컴퓨터 안에 머무릅니다.
반대로 여러 명이 같은 문서를 동시에 편집해야 하는 팀에게는 적절한 선택지가 아닙니다. 저장소가 제시하는 협업 기능은 특정 문서를 다른 사람과 공유하는 것까지이고, 동시 편집이나 권한 관리는 기능 목록에 없습니다. 설치형으로 직접 운영하려는 경우에도 부담이 작지 않은데, 클라우드 구성이 DynamoDB와 S3, 람다 함수를 쓰는 AWS 서버리스 구조라 자체 계정에 올리려면 그만큼의 인프라 지식이 필요합니다. macOS용 dmg 파일은 Apple 개발자 라이선스로 서명되지 않아 처음 실행할 때 설정에서 직접 허용해 줘야 한다는 점도 저장소가 안내하고 있습니다.
Rocketnotes의 문서 질의 기능
Rocketnotes의 중심 기능은 자신의 문서를 대상으로 한 자연어 질의입니다. 질문을 던지면 그 답이 사용자가 직접 쌓은 문서에서 합성되어 나옵니다.
검색은 두 층으로 나뉩니다. 내용 검색은 문서 본문의 키워드를 빠르게 찾아 주고 입력하는 동안 일치하는 문서를 자동으로 제안하며, 의미 기반 검색(Semantic Search)은 질의의 뜻을 해석해 표현이 다르더라도 개념적으로 가까운 문서를 찾아냅니다. 여기에 작성 중인 문장이나 문단을 이어서 제안하는 텍스트 자동 완성이 더해집니다.
또한 모델은 한 곳에 묶여 있지 않습니다. OpenAI, Anthropic, Together AI 모델 사이를 전환할 수 있고, 로컬 모드에서는 Ollama가 그 자리를 대신합니다.
Rocketnotes의 제텔카스텐 수집함과 자동 분류
Rocketnotes가 다른 노트 앱과 가장 크게 갈리는 기능이 수집함(Inbox)입니다. 하루 동안 떠오른 메모 조각을 타이핑하거나 음성으로 녹음해 수집함에 넣어 두면, 어느 문서에 속할지는 나중에 정합니다.
정리를 시작하면 AI 에이전트 워크플로우가 각 메모 조각을 분석해 가장 관련 있는 기존 문서를 고르고 그 안에 삽입합니다. 사람이 하던 "이건 어느 문서에 붙일까"라는 판단을 자동화한 부분이며, 이 흐름이 LangGraph 기반의 에이전트 워크플로우로 구현되어 있습니다.
Rocketnotes를 다른 도구와 연결하기
Rocketnotes는 자신의 지식 베이스를 MCP 서버로 노출할 수 있습니다. 저장소의 mcp/ 디렉토리에 rocketnotes-mcp 구현이 들어 있으며, 로그인한 상태에서 사용자 설정의 Vim Config Token 값을 받아 실행합니다:
uv run rocketnotes-mcp <CONFIG_TOKEN> <USERNAME> <PASSWORD>
이 서버를 Claude Desktop의 MCP 설정 파일에 등록하면 노트 내용을 다른 LLM 애플리케이션에서 쓸 수 있습니다. 설정 예시는 mcp/README.md에 정리되어 있습니다. 편집기 쪽으로는 Neovim 플러그인이 제공되어 에디터를 벗어나지 않고 메모를 남길 수 있습니다.
Rocketnotes 설치 및 사용법
가장 빠른 방법은 저자가 운영하는 Rocketnotes 웹 앱에 무료로 가입해 그대로 쓰는 것입니다. 같은 계정으로 Electron 데스크톱 앱도 사용할 수 있습니다.
반면 전부 자신의 컴퓨터에서 실행하려면 저장소를 복제한 뒤 Docker Compose로 실행합니다:
git clone https://github.com/fynnfluegge/rocketnotes.git
cd rocketnotes
docker-compose up -d
Docker Compose는 도커 네트워크와 함께 컨테이너 네 개를 만듭니다: 8041 포트의 볼륨이 붙은 DynamoDB, 9091 포트의 S3 목(mock), 3001 포트의 Angular 앱, 3002 포트의 람다 함수들입니다. 처음 실행할 때는 시간이 조금 걸리며, 완료된 뒤에 DynamoDB를 초기화하는 마지막 단계를 실행합니다:
sh ./dynamodb-init.sh
이후 브라우저에서 http://localhost:3001을 열면 처음 만들어진 Cheat Sheet 문서가 보입니다. 전체 절차는 저장소의 INSTALLATION.md에, 개발 환경 구성은 CONTRIBUTING.md에 정리되어 있습니다.
Rocketnotes의 라이선스
Rocketnotes는 Apache 라이선스 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.
Rocketnotes 프로젝트 GitHub 저장소
더 읽어보기
-
QMD(Query Markup Documents): 로컬 환경을 위한 의미 기반의 작고 가벼운 지식 검색 엔진
-
PDF GPT Indexer: 로컬에서 동작하는, PDF 문서 인덱싱 및 자연어 질의가 가능한 RAG 프로젝트
이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다. ![]()
이 도구를 직접 설치해 사용해보셨다면, 파이토치 한국 사용자 모임
회원들을 위해 경험이나 팁을 댓글로 남겨주세요! ![]()




