# QMD - 퀵 마크다운 서치

> Clean Markdown view of GeekNews topic #26213. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26213](https://news.hada.io/topic?id=26213)
- GeekNews Markdown: [https://news.hada.io/topic/26213.md](https://news.hada.io/topic/26213.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-01-29T09:46:02+09:00
- Updated: 2026-01-29T09:46:02+09:00
- Original source: [github.com/tobi](https://github.com/tobi/qmd)
- Points: 35
- Comments: 3

## Summary

열심히 코딩하는 Shopify CEO Tobi Lütke의 새 오픈소스 도구인데요. 로컬에 저장된 **Markdown 문서들을 AI 수준으로 검색**할 수 있게 하는 경량 CLI 도구입니다. BM25 키워드 검색과 벡터 기반 의미 검색, 그리고 LLM 재순위화를 결합한 **하이브리드 검색 파이프라인**을 통해 개인 노트부터 기술 문서까지 빠르고 정교하게 탐색이 가능합니다. **MCP 서버 내장**으로 Claude 등 LLM 워크플로우와 직접 연동도 지원합니다. Obsidian 등의 마크다운 노트 도구로 문서 작성해서 관리하는 사람한테 딱 알맞는 도구입니다. 하드 전체가 아닌 특정 폴더만 컬렉션으로 추가해서 쓸 수 있어 좋습니다.

## Topic Body

- 개인 노트, 기술 문서, 회의록 등 다양한 **Markdown 기반 문서를 로컬에서 검색**하기 위해 개발된 **경량 CLI 검색 엔진**  
- **BM25 전체 텍스트 검색**, **벡터 의미 검색**, **LLM 재순위화(re-ranking)** 를 결합한 **하이브리드 검색 파이프라인**   
- 모든 연산이 **로컬 환경에서 수행**되어 개인정보 유출 없이 **AI 수준의 검색 품질** 제공  
- 3가지 **검색 모드 지원**  
  - `search`: BM25 기반 키워드 검색  
  - `vsearch`: 임베딩 기반 의미 검색  
  - `query`: 두 방식을 결합하고 LLM으로 재순위화하는 **최고 품질 모드**  
- **MCP(Model Context Protocol)** 서버 내장으로 Claude 등 **LLM 기반 워크플로우와 직접 연동** 가능  
- **node-llama-cpp**를 통해 모든 모델을 **온디바이스에서 실행**  
  - **embeddinggemma-300M**, **qwen3-reranker-0.6B**, **Qwen3-1.7B** 등 **GGUF 포맷 모델**을 자동 다운로드 및 캐시함  
- **검색 품질을 향상**시킨 방법  
  - 사용자가 검색요청한 것을 **Qwen3-1.7B** 모델로 질의 확장(Query Expansion)을 수행  
  - **SQLite FTS5**와 **sqlite-vec**을 통한 병렬 검색을 진행  
  - **Reciprocal Rank Fusion (RRF)** 으로 결과 통합  
  - **Qwen3-Reranker**로 문서 관련도 재평가  
  - 순위별 가중치 조정으로 **정확도와 의미 유사성 균형 유지**  
- **TypeScript**로 작성되었으며 **Bun 런타임** 기반. 인덱스는 **SQLite 데이터베이스**에 저장  
- MIT 라이선스   
- Shopify 창업자이자 CEO인 [Tobi Lütke](https://tobi.lutke.com/)의 오픈소스   
  
### 사용예  
```bash  
# Install globally  
bun install -g https://github.com/tobi/qmd  
  
# Create collections for your notes, docs, and meeting transcripts  
qmd collection add ~/notes --name notes  
qmd collection add ~/Documents/meetings --name meetings  
qmd collection add ~/work/docs --name docs  
  
# Add context to help with search results  
qmd context add qmd://notes "Personal notes and ideas"  
qmd context add qmd://meetings "Meeting transcripts and notes"  
qmd context add qmd://docs "Work documentation"  
  
# Generate embeddings for semantic search  
qmd embed  
  
# Search across everything  
qmd search "project timeline"           # Fast keyword search  
qmd vsearch "how to deploy"             # Semantic search  
qmd query "quarterly planning process"  # Hybrid + reranking (best quality)  
  
# Get a specific document  
qmd get "meetings/2024-01-15.md"  
  
# Get a document by docid (shown in search results)  
qmd get "#abc123"  
  
# Get multiple documents by glob pattern  
qmd multi-get "journals/2025-05*.md"  
  
# Search within a specific collection  
qmd search "API" -c notes  
  
# Export all matches for an agent  
qmd search "API" --all --files --min-score 0.3  
```

## Comments



### Comment 50175

- Author: xguru
- Created: 2026-01-29T10:03:11+09:00
- Points: 1

저는 Obsidian 에 다양한 정보를 기록해두고 윈도우+맥+아이폰에서 불러보고,   
긱뉴스 관련해서 정리하는 정보들은 Git Repo에 기록해두고 쓰는데요.   
이거 하나로 편하게 검색해서 볼 수 있게되었네요.

### Comment 50662

- Author: haung921209
- Created: 2026-02-05T13:57:57+09:00
- Points: 1
- Parent comment: 50175
- Depth: 1

혹시 윈도우 + 맥 + 아이폰 간 관리는 어떻게 하시나요?  
저는 윈도우와 맥 간에는 깃으로, 맥과 아이폰 간은 아이클라우드로 관리하는데 아무래도 아쉬운 부분들이 많이 있어서요.(윈도우에서 깃으로 커밋하였으나, 아이클라우드에는 자동 업로드가 안되는 상황)  
궁금해서 여쭤봅니다!

### Comment 50668

- Author: xguru
- Created: 2026-02-05T15:32:56+09:00
- Points: 1
- Parent comment: 50662
- Depth: 2

옵시디언은 윈+맥+아이폰 모두 다 아이클라우드로 동기화 합니다.   
유료인 싱크를 쓰지 않고서는 이게 현재로서는 가장 좋은 방법인거 같아요.
