Brand LogoBrand Logo (Dark)
홈AI 에이전트툴킷GitHub 추천에이전트 등록블로그

카테고리

  • 아트 생성기
  • 오디오 생성기
  • 자동화 도구
  • 챗봇 & AI 에이전트
  • 코드 도구
  • 금융 도구

카테고리

  • 대규모 언어 모델
  • 마케팅 도구
  • 노코드 & 로우코드
  • 리서치 & 검색
  • 영상 & 애니메이션
  • 영상 편집

GitHub 추천

  • DeerFlow — ByteDance 오픈소스 슈퍼에이전트 프레임워크

최신 블로그

  • OpenClaw와 Composer 2, 어떤 AI 비서가 더 뛰어난가?
  • 구글 AI 스튜디오 vs 앤트로픽 콘솔, 2026년 AI 개발 플랫폼 비교
  • 스티치 2.0 vs 러블 2026년, 어떤 제품이 더 나을까
  • 2026년 AI로 소규모 비즈니스 수익화하는 실전 가이드
  • OpenClaw와 MiniMax, 어떤 AI 어시스턴트가 더 나은 선택일까

최신 블로그

  • OpenClaw와 KiloClaw 실제 사용 경험 비교
  • OpenClaw와 Kimi Claw 비교하기
  • GPT-5.4와 Gemini 3.1 Pro 비교하기
  • Perplexity Computer, 19개 AI 모델로 금융 산업 판도 흔든다
  • OpenClaw 최선의 실천, 5 개 기본 원칙
LinkStartAI© 2026 LinkstartAI. 모든 권리 보유
문의하기소개
  1. 홈
  2. GitHub 추천
  3. QMD
QMD logo

QMD

로컬에서 도는 Markdown 검색 엔진. BM25·벡터 검색·로컬 LLM 재정렬과 MCP 서버로 에이전트 연동을 제공.
9.6kTypeScriptMIT
typescriptbunbm25vector-searchhybrid-searchmcp-server
markdown-notes-search
agentic-retrieval
alternative-to-ripgrep
alternative-to-obsidian-search
alternative-to-notion-search
alternative-to-rag

개요

QMD는 Markdown 노트·회의록·문서·지식베이스를 로컬에서 색인화해, 에이전트가 직접 호출할 수 있는 검색 레이어로 만드는 도구다. 키워드 리콜은 SQLite FTS5(BM25)로, 의미 리콜은 벡터 유사도로 수행하고, 로컬 GGUF 모델을 node-llama-cpp로 구동해 쿼리 확장과 재정렬까지 처리한다. 또한 --json/--files/--csv 같은 구조화 출력과 내장 Model Context Protocol (MCP) 서버를 제공해 search/get/status를 도구로 노출하며, 문서 기반 답변 워크플로를 로컬에 고정할 수 있다.

문제점 vs 혁신

✕기존 문제점✓혁신적 솔루션
Markdown가 커지면 grep/키워드만으로는 동의어·문맥 분산 단서를 놓쳐 에이전트 컨텍스트가 빈약해진다.QMD는 FTS5(BM25)+벡터+로컬 LLM 재정렬 하이브리드 파이프라인으로 리콜과 답변 가능성을 단계적으로 끌어올린다.
에이전트 연동은 원문 덤프 또는 원격 벡터DB 의존으로 흐르기 쉬워 비용·프라이버시 경계가 흔들린다.내장 Model Context Protocol (MCP) 서버와 구조화 출력으로, 에이전트가 필요한 조각만 가져가게 만든다.

아키텍처 심층 분석

하이브리드 검색 파이프라인(FTS5 + 벡터 + 재정렬)
검색을 단계화한다. 먼저 SQLite FTS5 BM25로 빠르게 리콜하고, 벡터 유사도로 의미 리콜을 보강한 뒤, 로컬 GGUF 모델을 node-llama-cpp로 구동해 재정렬해 답변 가능성을 끌어올린다.
쿼리 확장과 융합 랭킹
원본 쿼리에서 변형을 만들어 병렬 검색하고, 융합과 포지션 기반 블렌딩으로 정확 매치를 보호하면서 확장 리콜의 이점을 취한다. 후보 크기를 제한해 재정렬 비용도 관리한다.
에이전트 인터페이스 계층(CLI + MCP)
CLI는 구조화 출력으로 파이프라인에 붙고, MCP 서버는 search/get/status를 도구로 노출해 에이전트 워크플로의 조립 가능한 단계가 된다.

배포 가이드

1. 사전 준비(필수: Bun)

bash
1bun --version

2. QMD 전역 설치

bash
1bun install -g https://github.com/tobi/qmd

3. 컬렉션 추가 및 임베딩 생성(첫 실행 시 로컬 모델 캐시 다운로드)

bash
1qmd collection add ~/notes --name notes && qmd embed

4. 검색 모드 선택

bash
1qmd search "auth"\nqmd vsearch "login flow"\nqmd query "how to deploy"

5. MCP 서버 실행(에이전트 도구 인터페이스)

bash
1qmd mcp

활용 사례

핵심 시나리오대상 고객솔루션최종 결과
Claude Code/데스크톱 에이전트용 로컬 검색 도구에이전트를 쓰는 개인·팀로컬 노트/문서를 색인화하고 JSON 스니펫으로 반환토큰 낭비를 줄이고 근거 있는 답변을 만든다
사내 프라이빗 지식베이스의 오프라인 검색 레이어보안·컴플라이언스 조직직원 PC/내부 호스트에서 하이브리드 검색과 재정렬 수행외부 벡터DB 없이도 검색·QA 품질을 올린다
회의록/로그의 지속 색인과 회고결정 추적이 필요한 관리자·엔지니어회의록/변경/운영 기록을 컬렉션으로 관리하고 업데이트자연어로 과거 결정과 근거를 빠르게 찾는다

제한 사항 및 주의점

제한 사항 및 주의점
  • 의미 검색/재정렬은 첫 실행에 로컬 모델을 내려받아 디스크·시간 비용이 든다. 작은 컬렉션부터 검증 후 확장하라.
  • macOS에서는 확장 지원을 위해 별도 SQLite가 필요할 수 있다. 제한된 환경은 의존성과 PATH를 먼저 준비해야 한다.

자주 묻는 질문

QMD를 도구로 쓰고 싶다. 쉘 래퍼처럼 취급하지 않으려면?▾
내장 Model Context Protocol (MCP) 서버로 실행해 에이전트가 툴 호출로 구조화 결과를 받게 하라. --json/--files로 반환 크기도 줄일 수 있다.
search/vsearch/query 결과가 왜 다르게 나오나요?▾
각각 목표가 다르다. search는 키워드 정확도, vsearch는 의미 리콜, query는 신호 융합과 재정렬로 답변에 쓸 수 있는 단락을 상위로 올린다.
민감한 노트를 외부로 새지 않게 하려면?▾
온디바이스로 고정하라. 콘텐츠는 SQLite에 색인되고 의미/재정렬은 로컬 캐시 모델로 처리된다. 또한 로그·히스토리·스크립트 경로에서 결과가 유출되지 않게 점검하라.
GitHub에서 보기

프로젝트 지표

Star 수9.6 k
언어TypeScript
라이선스MIT
배포 난이도보통

Table of Contents

  1. 01개요
  2. 02문제점 vs 혁신
  3. 03아키텍처 심층 분석
  4. 04배포 가이드
  5. 05활용 사례
  6. 06제한 사항 및 주의점
  7. 07자주 묻는 질문

관련 프로젝트

Pi Monorepo
Pi Monorepo
14.1 k·TypeScript
zvec
zvec
8.2 k·C++
ZeroClaw
ZeroClaw
15.6 k·Rust
NanoClaw
NanoClaw
8.6 k·TypeScript