반응형
Claude 데스크탑에서 옵시디언 노트를 활용할 수 있도록, 옵시디언 Omnisearch 플러그인과 연동 가능한 MCP 서버를 직접 개발했습니다. 이 글에서는 개발 과정을 기록하여 공유하고자 합니다. 기존 옵시디언 노트를 검색할 수 있는 공개 MCP 서버가 몇 가지 존재하지만, 파일명 기반 검색에 한정되거나 설정 과정이 복잡하여 실사용에 한계가 있었습니다. 이러한 문제를 해결하기 위해, Omnisearch 플러그인의 강력한 검색 API를 활용하여 정교한 검색이 가능한 MCP 서버를 구축하게 되었습니다. 참고할 만한 기존 MCP 서버calclavia/mcp-obsidian : Claude Desktop에서 마크다운 노트를 포함한 디렉토리(Obsidian 볼트)를 읽고 검색할 수 있도록 지원하는 MCP 서..
현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발하고 있습니다. 제가 검색 옵시디언 플러그인을 개발하기 시작한 이유는 바로 옵시디언의 기본 검색 기능과 Omnisearch 플러그인의 검색에 한계를 느꼈기 때문입니다. 사실, 제가 노트 정리를 잘 못하는 것도 노트 검색이 어려운 주요 원인 중 하나입니다. 기본 검색은 단순 키워드 매칭에 의존해, 사용자가 찾고자 하는 문서와 연관성이 높은 결과를 제공하는 데 한계가 있습니다. 이를 극복하기 위해 하이브리드 검색을 도입함으로써 검색 품질을 높이고, 사용자가 더 풍부한 정보를 쉽게 찾을 수 있는 환경을 제공하고자 합니다. 개발자로서 우리는 항상 성능과 사용자 경험을 최적화하려는 도전에 직면합니다. 하이브리드 검색 기능 구현하기플러그인에 하이브리드 검색 기..
현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발하고 있습니다. 제가 검색에서 가장 중요하게 고려한 부분은 벡터DB와 임베딩 모델의 선택이었습니다.최종적으로 파인콘DB와 OpenAI의 text-embedding-3-small 모델을 채택했습니다. 파인콘DB를 선택한 이유는 무료 플랜 때문입니다. 최대 2GB 스토리지와 5개의 인덱스, 인덱스당 100개의 네임스페이스를 무료로 제공하기 때문에 개인 용도로 사용하기에는 충분하다고 생각됩니다.그리고 OpenAI 모델은 다국어 임베딩 성능과 가성비 측면에서 최적의 선택이었습니다. 프레임워크 선택UI의 복잡도가 점점 증가함에 따라 옵시디언에 제공하는 기본 메서드인 createEl() 로는 UI 개발에 한계가 있었습니다. 그래서 이번에 UI 프레임워크 후보로 ..
현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발하고 있습니다.개발 과정에서 가장 고민되는 부분은 '언제 노트를 임베딩할 것인가'였습니다.노트가 수정될 때마다 임베딩하면 실시간성은 확보되지만 리소스 사용량이 증가하고,반대로 스케줄러를 통해 일괄 처리하면 리소스는 절약되지만, 최신성이 떨어지는 trade-off가 있기 때문입니다. 이런 고민을 해결하기 위해 옵시디언에서 RAG 기능을 제공하는 주요 플러그인들의 임베딩 전략을 분석해 보았습니다.각 플러그인은 서로 다른 접근 방식을 취하고 있어, 이를 비교 분석하면서 RAG 플러그인 설계 시 참고할 만한 인사이트를 얻을 수 있습니다. Smart Composer: 선택적 업데이트 전략Smart Composer는 필요한 시점에만 임베딩을 수행하는 효율적인 접..
옵시디언 RAG 플러그인 분석을 통해 검색 관련 지식 쌓기옵시디언에 작성한 노트와 스크랩한 글들이 쌓이다 보니, 필요한 정보를 찾는 것이 점점 힘들어지고 있습니다. 이러한 문제를 해결하기 위해 RAG 기술을 활용한 노트 검색 기능에 집중하여 옵시anpigon.tistory.com 현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발 중에 있습니다. 이는 제가 직접 필요성을 느껴 시작한 개인 프로젝트입니다.개발 경험이 부족하여 여러 시행착오를 겪고 있지만, 다양한 기술적 접근을 시도하며 꾸준히 발전시켜 나가고 있습니다. 최근 OpenAI의 임베딩 모델과 Pinecone Vector Database를 활용하여 기본적인 시멘틱 검색 기능 구현을 완료하여,Omnisearch와 시멘틱 검색 성능을 비교 분석해보..
최근 Cursor의 대항마로 떠오르는 새로운 IDE, Windsurf가 출시되었다는 소식을 듣고, 바로 14일 무료 체험을 신청해 사용해보았습니다. 결론부터 말하자면, 이거 꽤 물건입니다. 기존에 사용하던 Cline과 비슷하게 페어 프로그래밍 방식으로 작업할 수 있는 기능을 제공합니다.Cline의 경우 API를 연결해 사용하는 방식이라, 사용량에 따라 비용이 증가하는 종량제 모델이라 약간 부담이 되었는데,Windsurf는 월 $10 구독료만 내면 무제한으로 사용할 수 있다는 점에서 가성비가 훨씬 뛰어납니다. 옵시디언 플러그인을 개발하면서 코드 리뷰와 실시간 협업이 중요한데, Windsurf의 AI 지원은 이런 작업에서 정말 효율적입니다.특히 버그를 잡아내거나 코드 최적화 방안을 제안하는 능력도 괜찮았고,..