- เอนจินค้นหา CLI ขนาดเบา ที่พัฒนาขึ้นเพื่อ ค้นหาเอกสารที่ใช้ Markdown หลากหลายประเภทแบบโลคัล เช่น โน้ตส่วนตัว เอกสารเทคนิค และบันทึกการประชุม
- ไปป์ไลน์การค้นหาแบบไฮบริด ที่ผสาน การค้นหาข้อความเต็มรูปแบบด้วย BM25, การค้นหาเชิงความหมายด้วยเวกเตอร์ และ การจัดอันดับซ้ำ (re-ranking) ด้วย LLM
- การประมวลผลทั้งหมดทำงาน ในสภาพแวดล้อมโลคัล จึงให้ คุณภาพการค้นหาระดับ AI โดยไม่เสี่ยงข้อมูลส่วนตัวรั่วไหล
- รองรับ โหมดค้นหา 3 แบบ
search: การค้นหาคีย์เวิร์ดบนพื้นฐาน BM25
vsearch: การค้นหาเชิงความหมายบนพื้นฐาน embedding
query: ผสานสองวิธีเข้าด้วยกันและจัดอันดับซ้ำด้วย LLM เป็น โหมดคุณภาพสูงสุด
- มี เซิร์ฟเวอร์ MCP (Model Context Protocol) ในตัว จึง เชื่อมต่อกับเวิร์กโฟลว์ที่ใช้ LLM เช่น Claude ได้โดยตรง
- รันโมเดลทั้งหมด บนอุปกรณ์โดยตรง ผ่าน node-llama-cpp
- ดาวน์โหลดและแคช โมเดลฟอร์แมต GGUF โดยอัตโนมัติ เช่น embeddinggemma-300M, qwen3-reranker-0.6B, Qwen3-1.7B
- วิธีที่ใช้เพื่อ ยกระดับคุณภาพการค้นหา
- ใช้โมเดล Qwen3-1.7B ทำ Query Expansion ให้กับคำค้นที่ผู้ใช้ส่งมา
- ค้นหาแบบขนานผ่าน SQLite FTS5 และ sqlite-vec
- รวมผลลัพธ์ด้วย Reciprocal Rank Fusion (RRF)
- ประเมินความเกี่ยวข้องของเอกสารซ้ำด้วย Qwen3-Reranker
- ปรับค่าน้ำหนักตามอันดับเพื่อ รักษาสมดุลระหว่างความแม่นยำและความคล้ายคลึงเชิงความหมาย
- เขียนด้วย TypeScript และทำงานบน Bun runtime โดยเก็บดัชนีไว้ใน ฐานข้อมูล SQLite
- สัญญาอนุญาต MIT
- โอเพนซอร์สโดย Tobi Lütke ผู้ก่อตั้งและ CEO ของ Shopify
ตัวอย่างการใช้งาน
# 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 ความคิดเห็น
ผมบันทึกข้อมูลหลากหลายไว้ใน Obsidian แล้วเปิดดูได้ทั้งบน Windows + Mac + iPhone
ส่วนข้อมูลที่สรุปไว้เกี่ยวกับ GeekNews ก็เก็บบันทึกไว้ใน Git Repo แล้วใช้งานอยู่ครับ
ตอนนี้เลยสามารถค้นหาและเปิดดูได้สะดวกด้วยสิ่งนี้ตัวเดียวเลย
ขอถามหน่อยครับว่าแต่ละคนจัดการข้ามระหว่าง Windows + Mac + iPhone กันอย่างไรบ้าง?
ของผมระหว่าง Windows กับ Mac จัดการด้วย Git ส่วนระหว่าง Mac กับ iPhone ใช้ iCloud แต่ยังมีหลายจุดที่รู้สึกไม่ค่อยตอบโจทย์อยู่ครับ (เช่น commit ด้วย Git บน Windows แล้วไม่ได้อัปโหลดขึ้น iCloud อัตโนมัติ)
เลยอยากถามดูครับ!
Obsidian ซิงก์ทั้งบน Windows + Mac + iPhone ผ่าน iCloud ทั้งหมด
ถ้าไม่ใช้ Sync แบบเสียเงิน ตอนนี้วิธีนี้น่าจะเป็นวิธีที่ดีที่สุดครับ