@oomkapwn/enquire-mcp 3.11.2 → 3.11.3-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.fr.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # enquire-mcp
6
6
 
7
- <sub>[English](./README.md) · [中文](./README.zh.md) · [Español](./README.es.md) · [हिन्दी](./README.hi.md) · [العربية](./README.ar.md) · [Русский](./README.ru.md) · [Português](./README.pt.md) · **Français** · [日本語](./README.ja.md)</sub>
7
+ <sub>[English](./README.md) · [中文](./README.zh.md) · [Español](./README.es.md) · [हिन्दी](./README.hi.md) · [العربية](./README.ar.md) · [Русский](./README.ru.md) · [Português](./README.pt.md) · **Français** · [日本語](./README.ja.md) · [한국어](./README.ko.md) · [Deutsch](./README.de.md)</sub>
8
8
 
9
9
  <sub>**TL;DR pour les agents IA** — Serveur MCP qui expose un coffre markdown Obsidian local à Claude Code, Claude Desktop, Cursor, ChatGPT, Codex et OpenClaw comme une mémoire persistante interrogeable. Récupération hybride (BM25 + embeddings ML + reranker BGE, fusionnés par RRF), HNSW + quantification int8, RAG agentique (HyDE + sous-questions), GraphRAG-light, PDF + OCR, Bases autonomes. Neutre vis-à-vis des fournisseurs, MIT, zéro appel au cloud pendant le service. Installation : `npm i -g @oomkapwn/enquire-mcp`. Docs : [llms.txt](https://github.com/oomkapwn/enquire-mcp/blob/main/llms.txt) · [AGENTS.md](https://github.com/oomkapwn/enquire-mcp/blob/main/AGENTS.md) · [API](https://oomkapwn.github.io/enquire-mcp/).</sub>
10
10
 
@@ -15,7 +15,7 @@
15
15
  [![CI](https://github.com/oomkapwn/enquire-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/oomkapwn/enquire-mcp/actions/workflows/ci.yml)
16
16
  [![npm](https://img.shields.io/npm/v/@oomkapwn/enquire-mcp.svg?label=npm&color=cb3837)](https://www.npmjs.com/package/@oomkapwn/enquire-mcp)
17
17
  [![downloads](https://img.shields.io/npm/dm/@oomkapwn/enquire-mcp.svg?color=cb3837)](https://www.npmjs.com/package/@oomkapwn/enquire-mcp)
18
- [![tests](https://img.shields.io/badge/tests-1439%20passing-brightgreen.svg)](#️-confiance)
18
+ [![tests](https://img.shields.io/badge/tests-1440%20passing-brightgreen.svg)](#️-confiance)
19
19
  [![stable](https://img.shields.io/badge/v3.11.x-stable-brightgreen.svg)](./STABILITY.md)
20
20
  [![build provenance](https://img.shields.io/badge/build_provenance-SLSA_L2-blue.svg)](https://slsa.dev/spec/v1.0/levels#build-l2)
21
21
  [![MCP](https://img.shields.io/badge/MCP-1.29-8A2BE2.svg)](https://modelcontextprotocol.io/)
@@ -53,7 +53,7 @@ Votre coffre Obsidian devient une **mémoire à long terme persistante et interr
53
53
  > 3. **Zéro appel au cloud pendant le service.** Modèles mis en cache localement (téléchargement unique depuis HuggingFace). Le contenu de votre coffre ne quitte jamais votre machine. Sûr en environnement isolé par défaut.
54
54
  > 4. **Rappel conscient de la fraîcheur.** Chaque résultat indique l'âge de la note ; le reclassement par récence optionnel permet à un agent de préférer le savoir frais et de signaler les faits périmés à revérifier — la frontière consciente de l'oubli, bâtie sur le `mtime` que vos fichiers possèdent déjà.
55
55
 
56
- **46 outils · 19 prompts MCP · 1439+ tests unitaires · 50+ langues · v3.11.x stable · lié au semver · MIT · provenance de build npm (SLSA L2).**
56
+ **46 outils · 19 prompts MCP · 1440+ tests unitaires · 50+ langues · v3.11.x stable · lié au semver · MIT · provenance de build npm (SLSA L2).**
57
57
 
58
58
  ---
59
59
 
@@ -81,7 +81,7 @@ Votre coffre Obsidian devient une **mémoire à long terme persistante et interr
81
81
  | **GraphRAG-light** (détection de communautés de wikilinks par modularité de Louvain) | ✅ **uniquement ici** | ❌ | ❌ |
82
82
  | **Exécution autonome de requêtes `.base`** (fonctionne sans Obsidian ouvert) | ✅ **uniquement ici** | ❌ | ❌ délègue à Obsidian |
83
83
  | **Récupération HyDE** (Gao et al. 2023) + décomposition en sous-questions | ✅ **uniquement ici** | ❌ | ❌ |
84
- | **1439 tests unitaires · 9 portes CI requises + 5 indicatives par PR** | ✅ | s.o. | rare |
84
+ | **1440 tests unitaires · 9 portes CI requises + 5 indicatives par PR** | ✅ | s.o. | rare |
85
85
  | **Provenance de build signée** (npm + Sigstore, SLSA Build L2) | ✅ | s.o. | ❌ |
86
86
  | **Surface publique liée au semver** ([STABILITY.md](./STABILITY.md)) | ✅ | s.o. | ❌ |
87
87
  | Autonome (aucun plugin Obsidian requis) | ✅ | ❌ requiert Obsidian | variable |
@@ -320,7 +320,7 @@ Canal : `npm install @oomkapwn/enquire-mcp` → dernière version stable (`@late
320
320
  ```bash
321
321
  git clone https://github.com/oomkapwn/enquire-mcp.git
322
322
  cd enquire-mcp && npm install
323
- npm test # suite complète (1439 tests, ~12 s)
323
+ npm test # suite complète (1440 tests, ~12 s)
324
324
  npm run lint # zéro avertissement
325
325
  npm run build # tsc → dist/
326
326
  ```
package/README.hi.md CHANGED
@@ -4,12 +4,14 @@
4
4
 
5
5
  # enquire-mcp
6
6
 
7
- <sub>[English](./README.md) · [中文](./README.zh.md) · [Español](./README.es.md) · **हिन्दी** · [العربية](./README.ar.md) · [Русский](./README.ru.md) · [Português](./README.pt.md) · [Français](./README.fr.md) · [日本語](./README.ja.md)</sub>
7
+ <sub>[English](./README.md) · [中文](./README.zh.md) · [Español](./README.es.md) · **हिन्दी** · [العربية](./README.ar.md) · [Русский](./README.ru.md) · [Português](./README.pt.md) · [Français](./README.fr.md) · [日本語](./README.ja.md) · [한국어](./README.ko.md) · [Deutsch](./README.de.md)</sub>
8
8
 
9
9
  ### सबसे उन्नत Obsidian MCP। AI एजेंट्स के लिए बनी दीर्घकालिक स्मृति।
10
10
 
11
11
  **हर सत्र में Claude, Cursor, ChatGPT, Codex, OpenClaw को संदर्भ दोबारा समझाना बंद करें। आपके Obsidian नोट्स हर MCP-संगत एजेंट के बीच साझा, खोजने-योग्य स्मृति बन जाते हैं — आपका ज्ञान, हर मॉडल, हमेशा आपका अपना।**
12
12
 
13
+ *मापा गया: BGE cross-encoder reranker एक [पुनरुत्पादनीय 60-क्वेरी ablation](./docs/benchmarks.md) पर सादे हाइब्रिड की तुलना में **+15.5 NDCG@10 / +24.7 MRR** जोड़ता है — पूरा आधुनिक IR स्टैक, जो उसी markdown को याद करता है जो **आपने** लिखी (उद्धृत, संपादन-योग्य), कभी कोई क्लाउड पैराफ़्रेज़ नहीं।*
14
+
13
15
  [![npm](https://img.shields.io/npm/v/@oomkapwn/enquire-mcp.svg?label=npm&color=cb3837)](https://www.npmjs.com/package/@oomkapwn/enquire-mcp)
14
16
  [![stable](https://img.shields.io/badge/v3.11.x-stable-brightgreen.svg)](./STABILITY.md)
15
17
  [![build provenance](https://img.shields.io/badge/build_provenance-SLSA_L2-blue.svg)](https://slsa.dev/spec/v1.0/levels#build-l2)
@@ -38,17 +40,53 @@ claude mcp add obsidian -- npx -y @oomkapwn/enquire-mcp serve --vault ~/Document
38
40
 
39
41
  आपका Obsidian vault किसी भी MCP-संगत एजेंट के लिए **स्थायी, क्वेरी-योग्य दीर्घकालिक स्मृति** बन जाता है। एक बार इंस्टॉल करें — आपका ज्ञान तुरंत Claude Code, Claude Desktop, Cursor, ChatGPT कस्टम GPT, Codex, OpenClaw, और हर दूसरे MCP क्लाइंट से सुलभ हो जाता है। सादे markdown फ़ाइलें **जो आपकी अपनी हैं**, स्थानीय रूप से अनुक्रमित, पूरे आधुनिक IR स्टैक के साथ खोजी जाती हैं, और हर सत्र व हर मॉडल में याद की जाती हैं।
40
42
 
41
- **मूल पर आधारित, निकाला हुआ नहीं।** बातचीत-स्मृति टूल (mem0, Zep, Supermemory, Memobase) आपके चैट लॉग से तथ्य *निकालकर* एक अलग स्टोर में रखते हैं जिसे आप पढ़ नहीं सकते। enquire-mcp इसका उल्टा है: यह **उस ज्ञान पर आधारित है जो आपने पहले से लिखा है** — आपके अपने `.md` नोट्स, शब्दशः, उद्धरणों सहित — इसलिए recall ऑडिट-योग्य है, किसी भी एडिटर में संपादन-योग्य है, और कभी भी किसी आधी-याद बातचीत का हानिपूर्ण सारांश नहीं होता। और सर्वर-साइड ***fleet*-memory** प्लेटफ़ॉर्म्स (मल्टी-टेनेंट क्लाउड स्टोर जो एजेंट ट्रैफ़िक को एक साझा डेटाबेस में पैराफ़्रेज़ कर देते हैं) के विपरीत, enquire **एकल-उपयोगकर्ता और स्थानीय-प्रथम** है: एक ऐसा vault जो पूरी तरह आपका है और जिसे आप स्वयं पढ़, संपादित और हटा सकते हैं, serve के दौरान शून्य क्लाउड कॉल के साथ।
43
+ **मूल पर आधारित, निकाला हुआ नहीं।** बातचीत-स्मृति टूल (mem0, Zep, Supermemory, Memobase) आपके चैट लॉग से तथ्य *निकालकर* एक अलग स्टोर में रखते हैं जिसे आप पढ़ नहीं सकते। enquire-mcp इसका उल्टा है: यह **उस ज्ञान पर आधारित है जो आपने पहले से लिखा है** — आपके अपने `.md` नोट्स, शब्दशः, उद्धरणों सहित — इसलिए recall ऑडिट-योग्य है, किसी भी एडिटर में संपादन-योग्य है, और कभी भी किसी आधी-याद बातचीत का हानिपूर्ण सारांश नहीं होता। और सर्वर-साइड ***fleet*-memory** प्लेटफ़ॉर्म्स (मल्टी-टेनेंट क्लाउड स्टोर जो एजेंट ट्रैफ़िक को एक साझा डेटाबेस में पैराफ़्रेज़ कर देते हैं) के विपरीत, enquire **एकल-उपयोगकर्ता और स्थानीय-प्रथम** है: एक ऐसा vault जो पूरी तरह आपका है और जिसे आप स्वयं पढ़, संपादित और हटा सकते हैं, serve के दौरान शून्य क्लाउड कॉल के साथ। (वह "निकाला हुआ" आलोचना विशेष रूप से चैट-स्मृति वर्ग पर लागू होती है — cognee जैसे ज्ञान-ग्राफ़ / ETL टूल पर नहीं, और न ही Khoj जैसे व्यक्तिगत-खोज साथियों पर।)
42
44
 
43
45
  **मूल पर आधारित — और ताज़गी के प्रति सजग।** किसी तथ्य को याद करना आधी समस्या है; यह जानना कि वह अब भी *सही* है या नहीं, बाकी आधी है। [Memora बेंचमार्क](https://arxiv.org/abs/2604.20006) (अप्रैल 2026) ने दिखाया कि स्मृति प्रणालियाँ व्यवस्थित रूप से बासी-तथ्य पुनरुपयोग में विफल रहती हैं — एक साल पुराने नोट को ऐसे याद करती हैं मानो वह आज ही लिखा गया हो। चूँकि enquire की स्मृति *ही* आपकी असली markdown फ़ाइलें हैं, इसलिए हर खोज-परिणाम के साथ नोट के लाइव अंतिम-संशोधन समय से व्युत्पन्न `age_days` + एक `stale` फ़्लैग आता है, और आप recency-भारित रैंकिंग (`--recency-weight`) चुन सकते हैं ताकि ताज़ा नोट्स पहले सामने आएँ। आपका ज्ञान, ताज़गी के प्रति सजग — न कि एक कालातीत ढेर।
44
46
 
45
47
  > **enquire-mcp को अलग क्या बनाता है**:
46
48
  > 1. **विक्रेता-तटस्थ।** आपकी स्मृति `.md` फ़ाइलों में रहती है। Claude से Cursor पर जाएँ — आपकी स्मृति आपके साथ आती है।
47
49
  > 2. **श्रेणी में सर्वश्रेष्ठ retrieval।** हाइब्रिड BM25 + बहुभाषी embeddings + BGE cross-encoder reranker, RRF के माध्यम से fused, HNSW + int8 quantization के साथ स्केल्ड। वही IR स्टैक जो एक सर्च स्टार्टअप बनाता — ओपन-सोर्स, एक ही बाइनरी में।
48
- > 3. **serve के दौरान शून्य क्लाउड कॉल।** मॉडल स्थानीय रूप से कैश्ड (HuggingFace से एक-बार डाउनलोड)। आपके vault की सामग्री कभी आपकी मशीन नहीं छोड़ती। डिफ़ॉल्ट रूप से एयर-गैप-सुरक्षित।
50
+ > 3. **serve के दौरान शून्य क्लाउड कॉल।** embedding मॉडल **आपकी मशीन पर** चलता है और उसी markdown को अनुक्रमित करता है जो **आपने** लिखी — इसीलिए यह एक-बार का स्थानीय डाउनलोड (~110 MB) है, न कि कोई क्लाउड API keyमूल-आधारित + निजी होना मुफ़्त नहीं है, और हम इसका दिखावा नहीं करते: आपके vault की सामग्री कभी आपकी मशीन नहीं छोड़ती, डिफ़ॉल्ट रूप से एयर-गैप-सुरक्षित ([प्रवर्तित](./SECURITY.md), केवल आकांक्षात्मक नहीं)।
49
51
  > 4. **ताज़गी-सजग recall।** हर परिणाम बताता है कि नोट कितना पुराना है; वैकल्पिक recency re-ranking एजेंट को ताज़ा ज्ञान को प्राथमिकता देने और बासी तथ्यों को पुनः-सत्यापन हेतु चिह्नित करने देता है — भूलने-के-प्रति-सजग सीमांत, जो आपकी फ़ाइलों में पहले से मौजूद `mtime` पर बना है।
50
52
 
51
- **46 टूल · 19 MCP प्रॉम्प्ट · 1439+ यूनिट टेस्ट · 50+ भाषाएँ · v3.11.x स्थिर · semver-बाध्य · MIT · npm बिल्ड प्रोवेनेंस (SLSA L2)।**
53
+ **46 टूल · 19 MCP प्रॉम्प्ट · 1440+ यूनिट टेस्ट · 50+ भाषाएँ · v3.11.x स्थिर · semver-बाध्य · MIT · npm बिल्ड प्रोवेनेंस (SLSA L2)।**
54
+
55
+ ---
56
+
57
+ ## 🏆 यह सर्वश्रेष्ठ क्यों है
58
+
59
+ **छह क्षमताएँ जो किसी अन्य Obsidian-MCP में बिल्कुल नहीं हैं** (GraphRAG-light, स्वतंत्र `.base` निष्पादन, HyDE, int8 quantization, late-chunking, अंतर्निहित eval harness), **साथ ही पूरा आधुनिक IR स्टैक** (BM25 + ML embeddings + cross-encoder reranking + HNSW), जबकि प्रतिस्पर्धी अधिक-से-अधिक एक-दो ही देते हैं। साथ-साथ तुलना:
60
+
61
+ | क्षमता | enquire-mcp | Smart Connections | अन्य Obsidian-MCP |
62
+ |---|:---:|:---:|:---:|
63
+ | हाइब्रिड retrieval (BM25 + TF-IDF + ML embeddings, RRF-fused) | ✅ | ❌ | ❌ |
64
+ | **Cross-encoder reranking** (BGE, मापा गया +15.5 NDCG@10) | ✅ | ❌ | ❌ |
65
+ | **HNSW वेक्टर इंडेक्स** (sub-10ms top-K, persisted) | ✅ | ❌ | ❌ |
66
+ | **int8 वेक्टर quantization** (~4× छोटी embed-db) | ✅ | ❌ | ❌ |
67
+ | **Late-chunking** संदर्भ-विंडो वाले embeddings | ✅ | ❌ | ❌ |
68
+ | **हाइब्रिड खोज में घुले PDF** (`[page: N]` उद्धरण) | ✅ | ❌ | ❌ |
69
+ | **स्कैन किए गए PDF के लिए OCR** (Tesseract.js, बहुभाषी) | ✅ | ❌ | ❌ |
70
+ | **Wikilink ग्राफ़-बूस्ट** retrieval संकेत | ✅ | ❌ | ❌ |
71
+ | **बहुभाषी सिमेंटिक खोज** (50+ भाषाएँ, ऑन-डिवाइस) | ✅ | 💰 भुगतान | ❌ |
72
+ | **अंतर्निहित retrieval-गुणवत्ता eval harness** (NDCG, Recall, MRR, A/B मैट्रिक्स) | ✅ | ❌ | ❌ |
73
+ | **रिमोट MCP** (HTTP + bearer auth + stateful sessions) | ✅ | ❌ | आंशिक |
74
+ | **प्रति-संकेत observability** प्रति हिट | ✅ | ❌ | ❌ |
75
+ | **MCP-नेटिव** (Claude · Cursor · ChatGPT · Codex · OpenClaw · कोई भी क्लाइंट) | ✅ | ❌ केवल Obsidian | भिन्न |
76
+ | **प्राइवेसी फ़िल्टर** हर खोज + लेखन पथ पर सत्यापित | ✅ | लागू नहीं | ❌ |
77
+ | **46 प्रोडक्शन टूल** (34 हमेशा-चालू read + 4 opt-in + 7 gated writes + 1 फ़ीडबैक) | ✅ | लागू नहीं | भिन्न |
78
+ | **GraphRAG-light** (Louvain modularity wikilink समुदाय-पहचान) | ✅ **केवल यहीं** | ❌ | ❌ |
79
+ | **स्वतंत्र `.base` क्वेरी निष्पादन** (Obsidian चले बिना काम करता है) | ✅ **केवल यहीं** | ❌ | ❌ Obsidian को सौंपता है |
80
+ | **HyDE retrieval** (Gao et al 2023) + उप-प्रश्न विघटन | ✅ **केवल यहीं** | ❌ | ❌ |
81
+ | **1440 यूनिट टेस्ट · प्रति PR 9 आवश्यक + 5 सलाहकारी CI गेट** | ✅ | लागू नहीं | विरल |
82
+ | **साइन्ड बिल्ड प्रोवेनेंस** (npm + Sigstore, SLSA Build L2) | ✅ | लागू नहीं | ❌ |
83
+ | **semver-बाध्य सार्वजनिक सतह** ([STABILITY.md](./STABILITY.md)) | ✅ | लागू नहीं | ❌ |
84
+ | स्वतंत्र (कोई Obsidian प्लगइन ज़रूरी नहीं) | ✅ | ❌ Obsidian ज़रूरी | भिन्न |
85
+ | लाइसेंस | MIT, मुफ़्त | प्रोप्राइटरी, भुगतान | भिन्न |
86
+
87
+ <sub>तुलना प्रत्येक परियोजना की v3.8.x स्थिर तक की सार्वजनिक क्षमताओं पर आधारित है (प्रारंभिक स्नैपशॉट v3.7.0 / 2026-05-15; v3.8.4 में अद्यतन)। Smart Connections एक भुगतान वाला Obsidian प्लगइन है (MCP सर्वर नहीं)। "अन्य Obsidian-MCP" से तात्पर्य लेखन के समय GitHub पर मौजूद सार्वजनिक ओपन-सोर्स Obsidian-MCP सर्वरों से है। enquire-mcp के एंड-टू-एंड retrieval बेंचमार्क <a href="./docs/benchmarks.md"><code>docs/benchmarks.md</code></a> में प्रकाशित हैं — मापा गया `rerank-bge` अंतर 60-क्वेरी ablation पर सादे हाइब्रिड की तुलना में +24.7 MRR / +15.5 NDCG@10 है।</sub>
88
+
89
+ > रणनीतिक दावा: enquire-mcp आपके मौजूदा Obsidian vault के ऊपर [Karpathy-शैली LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) के लिए ओपन-सोर्स बैकएंड है। ऐसा ज्ञान जो चक्रवृद्धि होता है, स्रोतों तक खोज-योग्य।
52
90
 
53
91
  ---
54
92
 
@@ -84,13 +122,79 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
84
122
 
85
123
  ---
86
124
 
125
+ ## 🤖 अपने AI एजेंट में सेटअप करें — कॉपी-पेस्ट प्रॉम्प्ट
126
+
127
+ जब `enquire-mcp` इंस्टॉल हो जाए, तो इन प्रॉम्प्ट्स को अपने एजेंट में पेस्ट करें ताकि उसे पता चले कि vault स्मृति के रूप में उपलब्ध है।
128
+
129
+ <details>
130
+ <summary><b>Claude Code (टर्मिनल)</b> — MCP सर्वर जोड़ें + पहला प्रॉम्प्ट</summary>
131
+
132
+ ```bash
133
+ # MCP सर्वर को अपने Claude Code कॉन्फ़िग में जोड़ें (एक बार)
134
+ claude mcp add obsidian -- npx -y @oomkapwn/enquire-mcp serve --vault ~/Documents/Obsidian\ Vault
135
+ ```
136
+
137
+ फिर किसी भी Claude Code सत्र में:
138
+
139
+ > अब आपके पास `obsidian_*` टूल हैं जो मेरे Obsidian vault — मेरी दीर्घकालिक स्मृति — को खोजते और पढ़ते हैं। परियोजनाओं, निर्णयों, लोगों या तकनीकी संदर्भ के बारे में प्रश्नों का उत्तर देने से पहले, प्रासंगिक शब्दों के साथ `obsidian_search` को कॉल करें। हर तथ्य को स्रोत नोट के साथ उद्धृत करें (और PDF के लिए `[page: N]`)। यदि आपको कोई प्रासंगिक नोट न मिले, तो ऐसा कहें — अनुमान न लगाएँ।
140
+
141
+ </details>
142
+
143
+ <details>
144
+ <summary><b>Claude Desktop</b> — कॉन्फ़िग फ़ाइल + पहला प्रॉम्प्ट</summary>
145
+
146
+ [`examples/claude-desktop-hybrid.json`](./examples/claude-desktop-hybrid.json) को Claude Desktop के MCP कॉन्फ़िग में डालें (पहले vault पथ संपादित करें)। Claude Desktop को पुनः आरंभ करें, फिर:
147
+
148
+ > आपके पास मेरा Obsidian vault `obsidian_*` टूल के माध्यम से खोजने-योग्य स्मृति के रूप में जुड़ा हुआ है। जब भी मैं अपने नोट्स में किसी भी चीज़ के बारे में पूछूँ — मीटिंग संदर्भ, शोध, निर्णय, जर्नल प्रविष्टियाँ — हमेशा पहले `obsidian_search` जाँचें। हर तथ्य पर स्रोत नोट का पथ उद्धृत करें।
149
+
150
+ </details>
151
+
152
+ <details>
153
+ <summary><b>Cursor</b> — MCP stdio कॉन्फ़िग + एजेंट नियम</summary>
154
+
155
+ [`examples/cursor-mcp.json`](./examples/cursor-mcp.json) को `~/.cursor/mcp.json` पर डालें (vault पथ संपादित करें)। अपनी `.cursorrules` फ़ाइल या चैट में:
156
+
157
+ > ऐसा कोड सुझाने से पहले जो किसी ऐसे विषय को छूता हो जिस पर मेरे नोट्स हो सकते हैं (आर्किटेक्चर निर्णय, API अनुबंध, विक्रेता मूल्यांकन), पहले `obsidian_search` को कॉल करें। मेरे Obsidian vault को आधिकारिक संदर्भ मानें।
158
+
159
+ </details>
160
+
161
+ <details>
162
+ <summary><b>ChatGPT कस्टम GPT</b> — HTTP पर रिमोट MCP</summary>
163
+
164
+ bearer auth के साथ टनल के माध्यम से `serve-http` को उजागर करने के लिए [`examples/chatgpt-actions.md`](./examples/chatgpt-actions.md) का पालन करें। अपने कस्टम GPT के निर्देशों में:
165
+
166
+ > आपके पास `obsidian_*` टूल परिवार के माध्यम से मेरे Obsidian vault तक पठन-पहुँच है। ऐसी किसी भी चीज़ का उत्तर देने से पहले खोजें जो मेरे नोट्स में हो सकती है; हर दावे पर स्रोत फ़ाइलपथ उद्धृत करें।
167
+
168
+ </details>
169
+
170
+ <details>
171
+ <summary><b>OpenClaw / Codex / कोई अन्य MCP क्लाइंट</b></summary>
172
+
173
+ वही `npx -y @oomkapwn/enquire-mcp serve --vault <path>` कमांड किसी भी MCP-संगत क्लाइंट के लिए काम करती है। सर्वर एंट्री कहाँ डालनी है, यह जानने के लिए क्लाइंट के अपने MCP-कॉन्फ़िग दस्तावेज़ देखें, फिर ऊपर दिए गए किसी भी प्रॉम्प्ट का उपयोग करें।
174
+
175
+ </details>
176
+
177
+ **पुन: प्रयोज्य एजेंट नियम** (किसी भी `AGENTS.md` / `CLAUDE.md` / `.cursorrules` में डालें ताकि एजेंट जान सके कि vault का सहारा *कब* लेना है):
178
+
179
+ > जब मेरा प्रश्न मेरे अपने नोट्स, निर्णयों, परियोजनाओं, लोगों या शोध को छूता हो, तो **पहले मेरे Obsidian vault में खोजें** `obsidian_*` टूल के माध्यम से (`obsidian_search` से शुरू करें) और हर तथ्य पर स्रोत नोट उद्धृत करें। *वैचारिक / क्रॉस-लैंग्वेज / "मैंने X के बारे में क्या कहा"* recall के लिए enquire को प्राथमिकता दें; सटीक शाब्दिक स्ट्रिंग के लिए सादा `grep` / `ripgrep` उपयोग करें। यदि कुछ भी प्रासंगिक न लौटे, तो ऐसा कहें — अनुमान न लगाएँ।
180
+
181
+ ### उदाहरण क्वेरियाँ जो अच्छी तरह काम करती हैं
182
+
183
+ - *"हर वह नोट ढूँढो जहाँ मैंने मूल्य-निर्धारण रणनीति पर चर्चा की, विकास का सारांश दो।"* — RRF fusion + reranker "विकास" को सिमेंटिक रूप से संभालता है
184
+ - *"PostgreSQL बनाम MongoDB पर मेरा निर्णय क्या था? डेली नोट उद्धृत करो।"* — wikilink ग्राफ़-बूस्ट केंद्रीय निर्णय दस्तावेज़ को सामने लाता है
185
+ - *"Анализируй мои заметки о RAG за последние 3 месяца"* — बहुभाषी embeddings + frontmatter तिथि फ़िल्टर
186
+ - *"LLaMA-3 पेपर PDF के कौन-से पृष्ठ स्केलिंग की बात करते हैं?"* — `[page: N]` उद्धरणों के साथ खोज में घुले PDF
187
+ - *"मेरे शोध vault में विषयगत समुदाय दिखाओ — मैं किन विषयों की खोज कर रहा हूँ?"* — `obsidian_get_communities` (GraphRAG-light)
188
+
189
+ ---
190
+
87
191
  ## 🧠 उपयोग के मामले
88
192
 
89
193
  **1 — AI एजेंट्स के लिए दीर्घकालिक स्मृति।** अपने Obsidian vault को किसी भी MCP-संगत एजेंट (Claude Code, Claude Desktop, Cursor, ChatGPT, Codex, OpenClaw) में जोड़ें। एजेंट के पास अब आपके लिखे हर मीटिंग नोट, जर्नल प्रविष्टि, शोध लॉग और निर्णय दस्तावेज़ पर टिकाऊ, सिमेंटिक recall होता है — सत्रों, मॉडलों और प्रदाताओं के पार। `Claude Memory` या `ChatGPT Memory` के विपरीत, आपका ज्ञान किसी एक विक्रेता के क्लाउड में बंद नहीं होता; यह सादे markdown में रहता है जो आपका अपना है और जिसे आप स्वतंत्र रूप से माइग्रेट कर सकते हैं।
90
194
 
91
195
  **2 — व्यक्तिगत ज्ञान-आधार / दूसरा दिमाग।** हाइब्रिड retrieval *किसी भी* शब्द-रचना के लिए, 50+ भाषाओं में से किसी में भी, सही नोट सामने लाता है। दो साल पुरानी रूसी-भाषा जर्नल प्रविष्टि के बारे में अंग्रेज़ी में पूछें, सही हिट पाएँ। Wikilink ग्राफ़-बूस्ट उन नोट्स को री-रैंक करता है जो आपके ज्ञान-ग्राफ़ के केंद्र में बैठे हैं। GraphRAG-light विषयगत समुदायों को सामने लाता है — उन संबंधों की खोज करें जिन्हें बनाना आप भूल गए थे। PDF `[page: N]` उद्धरणों के साथ खोज में घुल-मिल जाते हैं ताकि शोध-पत्र और मीटिंग ट्रांसक्रिप्ट प्रथम-श्रेणी स्मृति बन जाएँ।
92
196
 
93
- **3 — एजेंटिक RAG / संदर्भ इंजीनियरिंग।** `obsidian_search` प्रति-संकेत स्कोर उजागर करता है ताकि एजेंट देख सके कि हर हिट *क्यों* रैंक हुई। HyDE retrieval से पहले अस्पष्ट क्वेरियों को समृद्ध काल्पनिक उत्तरों में पुनः-लिखता है। उप-प्रश्न विघटन बहु-हॉप प्रश्नों को स्वतंत्र उप-क्वेरियों में तोड़कर, परिणाम fuse करके संभालता है। अंतर्निहित eval harness (NDCG / Recall / MRR) आपको विक्रेता बेंचमार्क पर भरोसा करने के बजाय अपनी क्वेरियों पर retrieval गुणवत्ता मापने देता है।
197
+ **3 — एजेंटिक RAG / संदर्भ इंजीनियरिंग।** `obsidian_search` प्रति-संकेत स्कोर उजागर करता है ताकि एजेंट देख सके कि हर हिट *क्यों* रैंक हुई। HyDE retrieval से पहले अस्पष्ट क्वेरियों को समृद्ध काल्पनिक उत्तरों में पुनः-लिखता है। उप-प्रश्न विघटन बहु-हॉप प्रश्नों ("हमारी मूल्य-निर्धारण रणनीति कैसे विकसित हुई और ग्राहक की प्रतिक्रिया क्या थी?") को स्वतंत्र उप-क्वेरियों में तोड़कर, परिणाम fuse करके संभालता है। अंतर्निहित eval harness (NDCG / Recall / MRR) आपको विक्रेता बेंचमार्क पर भरोसा करने के बजाय अपनी क्वेरियों पर retrieval गुणवत्ता मापने देता है।
94
198
 
95
199
  ---
96
200
 
@@ -107,40 +211,29 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
107
211
 
108
212
  ---
109
213
 
110
- ## 🏆 यह सर्वश्रेष्ठ क्यों है
111
-
112
- **छह क्षमताएँ जो किसी अन्य Obsidian-MCP में बिल्कुल नहीं हैं** (GraphRAG-light, स्वतंत्र `.base` निष्पादन, HyDE, int8 quantization, late-chunking, अंतर्निहित eval harness), **साथ ही पूरा आधुनिक IR स्टैक** (BM25 + ML embeddings + cross-encoder reranking + HNSW), जबकि प्रतिस्पर्धी अधिक-से-अधिक एक-दो ही देते हैं। साथ-साथ तुलना:
113
-
114
- | क्षमता | enquire-mcp | Smart Connections | अन्य Obsidian-MCP |
115
- |---|:---:|:---:|:---:|
116
- | हाइब्रिड retrieval (BM25 + TF-IDF + ML embeddings, RRF-fused) | ✅ | ❌ | ❌ |
117
- | **Cross-encoder reranking** (BGE, मापा गया +15.5 NDCG@10) | ✅ | ❌ | ❌ |
118
- | **HNSW वेक्टर इंडेक्स** (sub-10ms top-K, persisted) | ✅ | ❌ | ❌ |
119
- | **int8 वेक्टर quantization** (~4× छोटी embed-db) | ✅ | ❌ | ❌ |
120
- | **बहुभाषी सिमेंटिक खोज** (50+ भाषाएँ, ऑन-डिवाइस) | ✅ | 💰 भुगतान | ❌ |
121
- | **हाइब्रिड खोज में घुले PDF** (`[page: N]` उद्धरण + OCR) | ✅ | ❌ | ❌ |
122
- | **Wikilink ग्राफ़-बूस्ट** retrieval संकेत | ✅ | ❌ | ❌ |
123
- | **अंतर्निहित retrieval-गुणवत्ता eval harness** (NDCG, Recall, MRR) | ✅ | ❌ | ❌ |
124
- | **रिमोट MCP** (HTTP + bearer auth + stateful sessions) | ✅ | ❌ | आंशिक |
125
- | **MCP-नेटिव** (Claude · Cursor · ChatGPT · Codex · OpenClaw · कोई भी क्लाइंट) | ✅ | ❌ केवल Obsidian | भिन्न |
126
- | **प्राइवेसी फ़िल्टर** हर खोज + लेखन पथ पर सत्यापित | ✅ | लागू नहीं | ❌ |
127
- | **46 प्रोडक्शन टूल** (34 हमेशा-चालू read + 4 opt-in + 7 gated writes + 1 फ़ीडबैक) | ✅ | लागू नहीं | भिन्न |
128
- | **GraphRAG-light** (Louvain modularity समुदाय-पहचान) | ✅ **केवल यहीं** | ❌ | ❌ |
129
- | **स्वतंत्र `.base` क्वेरी निष्पादन** (Obsidian चले बिना काम करता है) | ✅ **केवल यहीं** | ❌ | ❌ |
130
- | **HyDE retrieval** + उप-प्रश्न विघटन | ✅ **केवल यहीं** | ❌ | ❌ |
131
- | **साइन्ड बिल्ड प्रोवेनेंस** (npm + Sigstore, SLSA L2) | ✅ | लागू नहीं | ❌ |
132
- | स्वतंत्र (कोई Obsidian प्लगइन ज़रूरी नहीं) | ✅ | ❌ Obsidian ज़रूरी | भिन्न |
133
- | लाइसेंस | MIT, मुफ़्त | प्रोप्राइटरी, भुगतान | भिन्न |
134
-
135
- <sub>तुलना प्रत्येक परियोजना की v3.8.x स्थिर तक की सार्वजनिक क्षमताओं पर आधारित है। Smart Connections एक भुगतान वाला Obsidian प्लगइन है (MCP सर्वर नहीं)। "अन्य Obsidian-MCP" से तात्पर्य लेखन के समय GitHub पर मौजूद सार्वजनिक ओपन-सोर्स Obsidian-MCP सर्वरों से है। enquire-mcp के एंड-टू-एंड retrieval बेंचमार्क <a href="./docs/benchmarks.md"><code>docs/benchmarks.md</code></a> में प्रकाशित हैं — मापा गया `rerank-bge` अंतर 60-क्वेरी ablation पर सादे हाइब्रिड की तुलना में +24.7 MRR / +15.5 NDCG@10 है।</sub>
214
+ ## 📖 API संदर्भ
136
215
 
137
- > रणनीतिक दावा: enquire-mcp आपके मौजूदा Obsidian vault के ऊपर [Karpathy-शैली LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) के लिए ओपन-सोर्स बैकएंड है। ऐसा ज्ञान जो चक्रवृद्धि होता है, स्रोतों तक खोज-योग्य।
216
+ स्वचालित रूप से उत्पन्न **[oomkapwn.github.io/enquire-mcp पर API संदर्भ](https://oomkapwn.github.io/enquire-mcp/)** हर टूल, प्रॉम्प्ट और निर्यातित helper के साथ पूर्ण TSDoc (`@param` / `@returns` / `@example`)। हर `main` पर push के साथ स्रोत से [`publish-docs.yml`](https://github.com/oomkapwn/enquire-mcp/blob/main/.github/workflows/publish-docs.yml) (TypeDoc → GitHub Pages) के माध्यम से पुनर्निर्मित। निर्माण-द्वारा बहाव-मुक्त: वही TSDoc जो AI एजेंट और IDE देखते हैं, वही प्रकाशित होता है।
138
217
 
139
218
  ---
140
219
 
141
220
  ## 🏗️ Retrieval कैसे काम करता है
142
221
 
143
- `obsidian_search` उपलब्ध संकेतों का स्वचालित पता लगाता है और सुंदरता से degrade होता है: BM25 / FTS5 + TF-IDF + ML embeddings (HNSW) → RRF fusion (k=60) → Wikilink ग्राफ़-बूस्ट (α × in-degree, सिंगल-स्टेप personalised PageRank) → BGE cross-encoder reranker → `per_signal` observability वाले रैंक्ड हिट्स। हर हिट `per_signal: { bm25, tfidf, embeddings }` लौटाता है ताकि आप देख सकें कि वह *क्यों* रैंक हुई।
222
+ ```mermaid
223
+ graph LR
224
+ Q[Query] --> S[obsidian_search]
225
+ S --> BM25[BM25 / FTS5]
226
+ S --> TFIDF[TF-IDF cosine]
227
+ S --> EMB[ML embeddings<br/>HNSW]
228
+ BM25 --> RRF{RRF fusion<br/>k=60}
229
+ TFIDF --> RRF
230
+ EMB --> RRF
231
+ RRF --> GB[Graph boost<br/>α × in-degree]
232
+ GB --> RR[BGE cross-encoder<br/>reranker]
233
+ RR --> R[Ranked hits<br/>per_signal observability]
234
+ ```
235
+
236
+ `obsidian_search` उपलब्ध संकेतों का स्वचालित पता लगाता है और सुंदरता से degrade होता है। Wikilink ग्राफ़-बूस्ट सिंगल-स्टेप personalised PageRank के माध्यम से top-K को री-रैंक करता है। वैकल्पिक cross-encoder reranking top-N को पुनः स्कोर करता है, मापा गया +15.5 NDCG@10। हर हिट `per_signal: { bm25, tfidf, embeddings }` लौटाता है ताकि आप देख सकें कि वह *क्यों* रैंक हुई।
144
237
 
145
238
  स्तरों में सक्षम करें, आवश्यकतानुसार लें:
146
239
 
@@ -158,9 +251,20 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
158
251
 
159
252
  ## 🛠️ सभी 46 टूल
160
253
 
161
- कुल 46 टूल: 34 हमेशा-चालू read (अम्ब्रेला `obsidian_search` सहित) + 4 opt-in + 7 gated writes + 1 क्लोज़्ड-लूप फ़ीडबैक। पूर्ण संदर्भ **[docs/api.md](./docs/api.md)** में, जो शामिल करता है: खोज व retrieval, Wikilink व ग्राफ़, Frontmatter व Dataview, Canvas, Obsidian Bases, PDF + OCR, समुदाय-पहचान, लेखन टूल (`--enable-write` ज़रूरी) आदि।
254
+ कुल 46 टूल: 34 हमेशा-चालू read (अम्ब्रेला `obsidian_search` सहित) + 4 opt-in read + 7 gated writes + 1 क्लोज़्ड-लूप फ़ीडबैक। पूर्ण संदर्भ: **[docs/api.md](./docs/api.md)**।
162
255
 
163
- इसके अलावा 3 MCP resources और सामान्य vault वर्कफ़्लो के लिए 19 **MCP प्रॉम्प्ट**।
256
+ | श्रेणी | टूल |
257
+ |---|---|
258
+ | **खोज व retrieval** | `obsidian_search` (अम्ब्रेला, RRF-fused) · `obsidian_hyde_search` (HyDE-संवर्धित, v3.1.0) · `obsidian_search_text` · `obsidian_full_text_search` · `obsidian_semantic_search` · `obsidian_embeddings_search` · `obsidian_find_similar` |
259
+ | **Wikilinks व ग्राफ़** | `obsidian_resolve_wikilink` · `obsidian_get_backlinks` · `obsidian_get_outbound_links` · `obsidian_get_note_neighbors` · `obsidian_get_unresolved_wikilinks` · `obsidian_find_path` · `obsidian_get_communities` (v3.4.0, GraphRAG-light) |
260
+ | **Frontmatter व Dataview** | `obsidian_frontmatter_get` · `obsidian_frontmatter_search` · `obsidian_dataview_query` · `obsidian_list_tags` |
261
+ | **पढ़ना व नेविगेट** | `obsidian_read_note` · `obsidian_list_notes` · `obsidian_get_recent_edits` · `obsidian_stale_notes` · `obsidian_open_questions` · `obsidian_context_pack` · `obsidian_chat_thread_read` · `obsidian_open_in_ui` · `obsidian_stats` |
262
+ | **PDF, Canvas व Bases** | `obsidian_read_pdf` · `obsidian_list_pdfs` · `obsidian_ocr_pdf` · `obsidian_read_canvas` · `obsidian_list_canvases` · `obsidian_list_bases` (v3.2.0) · `obsidian_read_base` (v3.2.0) · `obsidian_query_base` (v3.2.0) |
263
+ | **लेखन** (`--enable-write` द्वारा gated) | `obsidian_create_note` · `obsidian_append_to_note` · `obsidian_rename_note` · `obsidian_replace_in_notes` · `obsidian_archive_note` · `obsidian_frontmatter_set` · `obsidian_chat_thread_append` |
264
+ | **डायग्नोस्टिक / lint** | `obsidian_lint_wiki` · `obsidian_paper_audit` · `obsidian_validate_note_proposal` |
265
+ | **फ़ीडबैक** (`--feedback-weight` के माध्यम से opt-in) | `obsidian_mark_useful` (क्लोज़्ड-लूप: रिकॉर्ड करें कि कौन-से याद किए गए नोट्स काम आए; भविष्य की खोज में उन्हें बूस्ट करता है) |
266
+
267
+ इसके अलावा 3 MCP resources (`obsidian://vault/info`, `obsidian://note/{path}`, `obsidian://chunk/{n}/{path}`) और सामान्य vault वर्कफ़्लो के लिए 19 **MCP प्रॉम्प्ट** (`summarize_recent_edits` · `review_tag` · `find_orphans` · `weekly_review` · `extract_todos` · `process_inbox` · `consolidate_tags` · `find_duplicates` · `lint_wiki` · `monthly_review` · `search_with_query_expansion` · `vault_synth` · `vault_wiki_compile` · `vault_lint_extended` · `vault_capture` · `vault_persona_search` · `vault_automation_setup` · `vault_research` · `vault_synthesis_page`)।
164
268
 
165
269
  ---
166
270
 
@@ -173,7 +277,12 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
173
277
  | **पथ सुरक्षा** | हर read+write पर realpath जाँच; vault से बाहर जाने वाले symlinks अस्वीकृत |
174
278
  | **प्राइवेसी फ़िल्टर** | FTS5 + embed-db + chunk resource पथों पर सत्यापित; खाली allow-/deny-list पर fail-closed |
175
279
  | **HTTP ट्रांसपोर्ट** | Bearer auth (constant-time SHA-256 + `timingSafeEqual`), प्रति-token rate-limit, सख़्त CORS |
176
- | **रिलीज़** | प्रति tag npm + GitHub release · semver · **साइन्ड बिल्ड प्रोवेनेंस** (npm + Sigstore, SLSA L2) |
280
+ | **Frontmatter** | `js-yaml@5` `load` (YAML 1.2 core schema, डिफ़ॉल्ट रूप से सुरक्षित) कोई कोड निष्पादन नहीं |
281
+ | **कैश + इंडेक्स फ़ाइलें** | chmod 0600, पैरेंट डायरेक्टरी 0700 |
282
+ | **CI** | **9 आवश्यक** branch-protection गेट: (1) `lint`, (2) `test` Node 22 पर, (3) `test` Node 24 पर, (4) `smoke`, (5) `audit`, (6) `coverage`, (7) `version-consistency`, (8) `docs`, (9) `oia`। **5 सलाहकारी**: `test-macos` + `docker` (Dockerfile बिल्ड + `tools/list` introspection smoke) `.github/workflows/ci.yml` के माध्यम से; CodeQL ×2 + Analyze actions [GitHub default-setup](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-default-setup-for-code-scanning) के माध्यम से (workflow फ़ाइलें नहीं)। npm प्रकाशन से पहले रिलीज़ वर्कफ़्लो टैग्ड SHA पर सभी 9 आवश्यक गेट के पास होने की पुनः जाँच करता है। |
283
+ | **कवरेज** | लाइनें ≥86% · statements ≥82% · functions ≥75% · branches ≥74% (gated) |
284
+ | **रिलीज़** | प्रति tag npm + GitHub release · semver · **साइन्ड बिल्ड प्रोवेनेंस** (npm + Sigstore, SLSA Build L2; L3 जनरेटर रोडमैप पर) |
285
+ | **स्थिरता** | v3.0+ semver-बाध्य — हर CLI flag, टूल नाम, MCP resource, prompt, निर्यातित symbol एक अनुबंध है |
177
286
 
178
287
  पूर्ण सुरक्षा-रुख: **[SECURITY.md](./SECURITY.md)** · स्थिरता सतह: **[STABILITY.md](./STABILITY.md)** · भेद्यताएँ: `oomkapwn@gmail.com`।
179
288
 
@@ -197,11 +306,27 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
197
306
 
198
307
  ## 🚀 रिलीज़
199
308
 
200
- चैनल: `npm install @oomkapwn/enquire-mcp` → नवीनतम स्थिर (`@latest` = v3.11.x)। प्री-रिलीज़: `npm install @oomkapwn/enquire-mcp@rc` (नवीनतम release candidate)। पूर्ण changelog देखें **[CHANGELOG.md](./CHANGELOG.md)** · रोडमैप देखें **[ROADMAP.md](https://github.com/oomkapwn/enquire-mcp/blob/main/ROADMAP.md)**।
309
+ **v3.0.0 स्थिर चैनल।** v2.x retrieval रोडमैप पूर्ण हो चुका है और सार्वजनिक सतह अब [semver-बाध्य](./STABILITY.md) है। चुनिंदा झलक:
310
+
311
+ `v2.0` हाइब्रिड retrieval (BM25+TF-IDF+embeddings, RRF के माध्यम से) · `v2.6` रिमोट MCP · `v2.7-2.8` PDF घुले · `v2.9` BGE reranker · `v2.10` OCR · `v2.11` doctor + setup · `v2.12` eval harness · `v2.13` HNSW · `v2.14` stateful sessions · `v2.15` late-chunking · `v2.16` HNSW persistence · `v2.17` int8 quantization · `v3.8.0` स्थिर · `v3.8.7` HTTP ट्रांसपोर्ट हार्डनिंग · **`v3.9.0` स्थिर**: OCR'd PDF watcher embed-sync, फ़ाइल बदलावों पर HNSW इन-मेमोरी लाइव अपडेट, R-10 अनुकूली HNSW refill (>66% बहिष्कृत under-return को बंद करता है)। · **`v3.10` स्थिर**: भूलने-के-प्रति-सजग ताज़गी — `age_days` + `stale` फ़्लैग + opt-in `--recency-weight` री-रैंकिंग + frontmatter-सजग `obsidian_search`।
312
+
313
+ चैनल: `npm install @oomkapwn/enquire-mcp` → नवीनतम स्थिर (`@latest` = v3.11.x)। प्री-रिलीज़: `npm install @oomkapwn/enquire-mcp@rc` (नवीनतम release candidate — देखें [CHANGELOG.md](./CHANGELOG.md))। पूर्ण changelog: **[CHANGELOG.md](./CHANGELOG.md)** · आगे की योजना: **[ROADMAP.md](https://github.com/oomkapwn/enquire-mcp/blob/main/ROADMAP.md)**।
314
+
315
+ ---
201
316
 
202
317
  ## 🤝 योगदान
203
318
 
204
- issue और PR का स्वागत है। डेवलपमेंट वर्कफ़्लो देखें **[CONTRIBUTING.md](https://github.com/oomkapwn/enquire-mcp/blob/main/CONTRIBUTING.md)**; एजेंट-केंद्रित रिपॉज़िटरी विवरण देखें **[AGENTS.md](https://github.com/oomkapwn/enquire-mcp/blob/main/AGENTS.md)**।
319
+ ```bash
320
+ git clone https://github.com/oomkapwn/enquire-mcp.git
321
+ cd enquire-mcp && npm install
322
+ npm test # पूर्ण सूट (1440 टेस्ट, ~12s)
323
+ npm run lint # ज़ीरो वॉर्निंग
324
+ npm run build # tsc → dist/
325
+ ```
326
+
327
+ issue, PR, और विचारों का स्वागत है। ब्रांच सुरक्षा `main` पर PR समीक्षा की मांग करती है। डेवलपमेंट वर्कफ़्लो देखें **[CONTRIBUTING.md](https://github.com/oomkapwn/enquire-mcp/blob/main/CONTRIBUTING.md)**; एजेंट-केंद्रित रिपॉज़िटरी विवरण देखें **[AGENTS.md](https://github.com/oomkapwn/enquire-mcp/blob/main/AGENTS.md)**।
328
+
329
+ ---
205
330
 
206
331
  ## 📜 लाइसेंस
207
332
 
package/README.ja.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # enquire-mcp
6
6
 
7
- <sub>[English](./README.md) · [中文](./README.zh.md) · [Español](./README.es.md) · [हिन्दी](./README.hi.md) · [العربية](./README.ar.md) · [Русский](./README.ru.md) · [Português](./README.pt.md) · [Français](./README.fr.md) · **日本語**</sub>
7
+ <sub>[English](./README.md) · [中文](./README.zh.md) · [Español](./README.es.md) · [हिन्दी](./README.hi.md) · [العربية](./README.ar.md) · [Русский](./README.ru.md) · [Português](./README.pt.md) · [Français](./README.fr.md) · **日本語** · [한국어](./README.ko.md) · [Deutsch](./README.de.md)</sub>
8
8
 
9
9
  ### 最先端の Obsidian MCP。AI エージェントのための長期記憶。
10
10
 
@@ -48,7 +48,7 @@ claude mcp add obsidian -- npx -y @oomkapwn/enquire-mcp serve --vault ~/Document
48
48
  > 3. **serve 中はクラウド呼び出しがゼロ。** モデルはローカルにキャッシュ(HuggingFace から一度だけダウンロード)。あなたのボールトの内容はマシンから決して出ていきません。デフォルトでエアギャップ安全。
49
49
  > 4. **鮮度を意識した呼び戻し。** すべてのヒットが、そのノートがどれくらい古いかを報告します。オプトインの鮮度リランキングにより、エージェントは新しい知識を優先し、古くなった事実を再検証対象としてフラグ付けできます——これは忘却を意識したフロンティアであり、あなたのファイルがもともと持っている `mtime` の上に構築されています。
50
50
 
51
- **46 ツール · 19 MCP プロンプト · 1439+ ユニットテスト · 50+ 言語 · v3.11.x 安定版 · semver 準拠 · MIT · npm ビルドプロベナンス(SLSA L2)。**
51
+ **46 ツール · 19 MCP プロンプト · 1440+ ユニットテスト · 50+ 言語 · v3.11.x 安定版 · semver 準拠 · MIT · npm ビルドプロベナンス(SLSA L2)。**
52
52
 
53
53
  ---
54
54
 
@@ -76,7 +76,7 @@ claude mcp add obsidian -- npx -y @oomkapwn/enquire-mcp serve --vault ~/Document
76
76
  | **GraphRAG-light**(Louvain モジュラリティによる wikilink コミュニティ検出) | ✅ **ここだけ** | ❌ | ❌ |
77
77
  | **スタンドアロンの `.base` クエリ実行**(Obsidian を起動せずに動作) | ✅ **ここだけ** | ❌ | ❌ Obsidian に委譲 |
78
78
  | **HyDE 検索**(Gao et al 2023)+ サブクエスチョン分解 | ✅ **ここだけ** | ❌ | ❌ |
79
- | **1439 ユニットテスト · PR ごとに 9 個の必須 + 5 個のアドバイザリ CI ゲート** | ✅ | 該当なし | まれ |
79
+ | **1440 ユニットテスト · PR ごとに 9 個の必須 + 5 個のアドバイザリ CI ゲート** | ✅ | 該当なし | まれ |
80
80
  | **署名付きビルドプロベナンス**(npm + Sigstore、SLSA Build L2) | ✅ | 該当なし | ❌ |
81
81
  | **semver 準拠の公開サーフェス**([STABILITY.md](./STABILITY.md)) | ✅ | 該当なし | ❌ |
82
82
  | スタンドアロン(Obsidian プラグイン不要) | ✅ | ❌ Obsidian が必要 | まちまち |
@@ -315,7 +315,7 @@ graph LR
315
315
  ```bash
316
316
  git clone https://github.com/oomkapwn/enquire-mcp.git
317
317
  cd enquire-mcp && npm install
318
- npm test # フルスイート(1439 テスト、約 12 秒)
318
+ npm test # フルスイート(1440 テスト、約 12 秒)
319
319
  npm run lint # 警告ゼロ
320
320
  npm run build # tsc → dist/
321
321
  ```