35 điểm bởi xguru 2026-01-29 | 3 bình luận | Chia sẻ qua WhatsApp
  • Công cụ tìm kiếm CLI gọn nhẹ được phát triển để tìm kiếm cục bộ các tài liệu dựa trên Markdown như ghi chú cá nhân, tài liệu kỹ thuật, biên bản họp, v.v.
  • Pipeline tìm kiếm lai kết hợp tìm kiếm toàn văn BM25, tìm kiếm ngữ nghĩa bằng vectorxếp hạng lại bằng LLM (re-ranking)
  • Mọi xử lý đều được thực hiện trong môi trường cục bộ, mang lại chất lượng tìm kiếm cấp độ AI mà không làm rò rỉ dữ liệu cá nhân
  • Hỗ trợ 3 chế độ tìm kiếm
    • search: tìm kiếm từ khóa dựa trên BM25
    • vsearch: tìm kiếm ngữ nghĩa dựa trên embedding
    • query: chế độ chất lượng cao nhất kết hợp hai phương thức và xếp hạng lại bằng LLM
  • Tích hợp sẵn máy chủ MCP (Model Context Protocol) nên có thể liên kết trực tiếp với các workflow dùng LLM như Claude
  • Chạy mọi mô hình on-device thông qua node-llama-cpp
    • Tự động tải xuống và lưu cache các mô hình định dạng GGUF như embeddinggemma-300M, qwen3-reranker-0.6B, Qwen3-1.7B
  • Các cách đã dùng để cải thiện chất lượng tìm kiếm
    • Thực hiện mở rộng truy vấn (Query Expansion) cho yêu cầu tìm kiếm của người dùng bằng mô hình Qwen3-1.7B
    • Tiến hành tìm kiếm song song bằng SQLite FTS5sqlite-vec
    • Hợp nhất kết quả bằng Reciprocal Rank Fusion (RRF)
    • Đánh giá lại mức độ liên quan của tài liệu bằng Qwen3-Reranker
    • Điều chỉnh trọng số theo thứ hạng để giữ cân bằng giữa độ chính xác và độ tương đồng ngữ nghĩa
  • Được viết bằng TypeScript và chạy trên Bun runtime. Chỉ mục được lưu trong cơ sở dữ liệu SQLite
  • Giấy phép MIT
  • Mã nguồn mở của Tobi Lütke, nhà sáng lập kiêm CEO của Shopify

Ví dụ sử dụng

# 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  

3 bình luận

 
xguru 2026-01-29

Tôi ghi lại nhiều loại thông tin trong Obsidian rồi mở xem trên Windows + Mac + iPhone, còn những thông tin tôi tổng hợp liên quan đến GeekNews thì lưu trong Git Repo để dùng. Giờ thì chỉ với một công cụ này là có thể tìm kiếm và xem một cách tiện lợi rồi.

 
haung921209 2026-02-05

Mọi người quản lý như thế nào giữa Windows + Mac + iPhone vậy?
Mình quản lý giữa Windows và Mac bằng Git, còn giữa Mac và iPhone thì bằng iCloud, nhưng cảm giác vẫn còn khá nhiều điểm chưa ổn. (Ví dụ đã commit bằng Git trên Windows nhưng lại không tự động tải lên iCloud.)
Mình tò mò nên hỏi thử ạ!

 
xguru 2026-02-05

Obsidian được đồng bộ trên cả Windows, Mac và iPhone bằng iCloud.
Có vẻ như hiện tại đây là cách tốt nhất nếu không dùng Sync bản trả phí.