@oomkapwn/enquire-mcp 3.10.1 → 3.11.0-rc.1
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/CHANGELOG.md +28 -0
- package/README.ar.md +4 -4
- package/README.es.md +4 -4
- package/README.hi.md +4 -4
- package/README.md +8 -7
- package/README.zh.md +4 -4
- package/SECURITY.md +10 -0
- package/STABILITY.md +4 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/feedback.d.ts +83 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +201 -0
- package/dist/feedback.js.map +1 -0
- package/dist/fts5.d.ts.map +1 -1
- package/dist/fts5.js +10 -1
- package/dist/fts5.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/retrieval-opts.d.ts +17 -0
- package/dist/retrieval-opts.d.ts.map +1 -1
- package/dist/retrieval-opts.js +19 -0
- package/dist/retrieval-opts.js.map +1 -1
- package/dist/server.d.ts +15 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +18 -3
- package/dist/server.js.map +1 -1
- package/dist/tool-manifest.d.ts +7 -5
- package/dist/tool-manifest.d.ts.map +1 -1
- package/dist/tool-manifest.js +9 -0
- package/dist/tool-manifest.js.map +1 -1
- package/dist/tool-registry.d.ts +21 -0
- package/dist/tool-registry.d.ts.map +1 -1
- package/dist/tool-registry.js +63 -2
- package/dist/tool-registry.js.map +1 -1
- package/dist/tools/search.d.ts +12 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +31 -0
- package/dist/tools/search.js.map +1 -1
- package/docs/COMPARISON.md +4 -4
- package/docs/api.md +4 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
+
## [3.11.0-rc.1] — 2026-06-22
|
|
6
|
+
|
|
7
|
+
> **TL;DR:** **Closed-loop retrieval feedback (the "Karpathy loop") — the 46th tool, opt-in.** New `obsidian_mark_useful` (gated by `--feedback-weight <0..1>`, default **0 = OFF**): an agent records which recalled notes actually helped a query; the recorded usefulness then gently boosts those notes in subsequent `obsidian_search` results — a provable no-op at weight 0, mirroring the rc.5 recency boost. State lives in a per-vault cache sidecar (relative paths + counts only — **no note content, no query text**), erased by `prune`. Ships on `@rc`; `@latest` promotion is maintainer-gated. **45 → 46 tools · 1313 → 1331 tests.** No API breaks (additive minor).
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **`obsidian_mark_useful` (46th tool, opt-in via `--feedback-weight`)** — closes the retrieval feedback loop. The agent passes the `path`(s) of the search hits that actually helped (or `useful: false` for ones that looked relevant but didn't); the per-note tally feeds a Laplace-smoothed score `useful/(useful+notUseful+1)`.
|
|
12
|
+
- **`--feedback-weight <w>`** (in `addAdvancedRetrievalOptions`, so both `serve` + `serve-http` accept it). When `w > 0`, registers the tool and blends feedback into the fused `obsidian_search` order: `(1-w)·relevanceRank + w·feedbackScore`, applied AFTER recency re-ranking. `w = 0` (default) is a provable no-op — no tool registered, ranking stays purely relevance-driven.
|
|
13
|
+
- New leaf module `src/feedback.ts` (`FeedbackStore` + `defaultFeedbackFile` + `feedbackScore`). The store loads once in `prepareServerDeps` (shared across HTTP sessions so a mark in one session influences the boost in all — an in-session closed loop), persists atomically (tmp + rename), and is capped at `MAX_FEEDBACK_ENTRIES` (100,000) to bound disk growth.
|
|
14
|
+
|
|
15
|
+
### Privacy / security
|
|
16
|
+
|
|
17
|
+
- The feedback sidecar (`<vault-hash>.feedback.json`) holds **only** relative note paths + integer counts + an ISO timestamp — never note content or query text (lower sensitivity than `.fts5.db` / `.embed.db`). `0600`, atomic writes.
|
|
18
|
+
- **Right-to-erasure:** the sidecar matches the `ENQUIRE_CACHE_ARTIFACT` pattern, so a cross-vault `enquire-mcp prune` erases a decommissioned vault's feedback (+ any `.tmp` leftover) — pinned by the erasure-completeness invariant. Preserved across `clear-cache` (user-generated signal, not regenerable cache). New SECURITY.md section "Closed-loop feedback store: data-at-rest posture".
|
|
19
|
+
- **K-3:** `obsidian_mark_useful` is annotated `...WRITE` (honest `readOnlyHint: false`, consistent with the additive `obsidian_append_to_note`) via a named `markUseful` handler. It mutates the feedback STORE, not the vault — so it's gated by `--feedback-weight`, not `--enable-write`.
|
|
20
|
+
- **Pre-ship adversarial audit** (4 lenses × 3-skeptic verify; 0 CRIT/0 HIGH) hardened two `FeedbackStore.persist()` issues before tag: (1) it now creates the cache dir `0700` + chmods it when it's the creator (mirroring the sibling cache writers, so SECURITY.md's "Parent dir mode is 0700" holds even when feedback is the first writer to materialize `<cache>/enquire`); (2) writes are **serialized** behind a per-store promise chain — the store is shared across serve-http sessions and the SDK dispatches concurrently, so unsynchronized writes to the shared `.tmp` could interleave into a torn file that the fail-soft `open()` would silently discard. The 4 translated-README breakdown sentences were also corrected to the 46-tool count. +2 tests (dir-mode + 25-way concurrent-persist).
|
|
21
|
+
|
|
22
|
+
### Tests (1331)
|
|
23
|
+
|
|
24
|
+
- `tests/feedback.test.ts` (+16): the store (open/record/scores/cap/fail-soft/atomic-persist), `defaultFeedbackFile` dir+hash parity with `defaultIndexFile`, prune erasure of the feedback family, and the `searchHybrid` boost — a PROVABLE no-op at weight 0 + a marked note rising at weight 1, each with a NEGATIVE control.
|
|
25
|
+
- Erasure-invariant gains the feedback family (writers ⊆ prune-eraser); K-3 `KNOWN_WRITE_HANDLERS` gains `markUseful`; cli-parity flag count 13 → 14; docs-consistency api.md-math + STABILITY-gating + llms-breakdown regexes extended for the new `feedback` term. **1313 → 1331.**
|
|
26
|
+
|
|
27
|
+
### Count cascade (45 → 46)
|
|
28
|
+
|
|
29
|
+
- `TOOL_MANIFEST` gains a `feedback` kind + `--feedback-weight` gating; STABILITY.md (+ Feedback section), `docs/api.md` (tool table + flag table + count math), README.md + all four translations (zh/es/hi/ar), llms.txt, AGENTS.md, COMPARISON.md, ROADMAP.md all updated to 46. All numeric-claim invariants stay green.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
5
33
|
## [3.10.1] — 2026-06-22
|
|
6
34
|
|
|
7
35
|
> **TL;DR:** **Internationalization — README in the top-5 most-spoken languages.** Added full **Spanish** (`README.es.md`), **Hindi** (`README.hi.md`), and **Arabic** (`README.ar.md`, RTL) translations alongside English + 中文, with a 5-way language switcher on every README, npm `files[]` inclusion, and structural guards (per-language numeric-claim invariants + a switcher cross-link guard). Docs only — no code/API change. **1311 → 1313 tests** (+2 invariants).
|
package/README.ar.md
CHANGED
|
@@ -54,7 +54,7 @@ claude mcp add obsidian -- npx -y @oomkapwn/enquire-mcp serve --vault ~/Document
|
|
|
54
54
|
> 3. **صفر استدعاءات سحابية أثناء التشغيل.** النماذج مخزّنة محلياً (تنزيل لمرة واحدة من HuggingFace). محتوى مكتبتك لا يغادر جهازك أبداً. آمنة للعمل المعزول (air-gap) افتراضياً.
|
|
55
55
|
> 4. **استدعاء واعٍ بالحداثة.** تُبلّغ كل نتيجة عن عمر الملاحظة؛ وإعادة الترتيب الاختيارية بالحداثة تتيح للوكيل تفضيل المعرفة الحديثة ووسم الحقائق القديمة لإعادة التحقق — حدود "الوعي بالنسيان"، مبنيّة على `mtime` الذي تملكه ملفاتك أصلاً.
|
|
56
56
|
|
|
57
|
-
**
|
|
57
|
+
**46 أداة · 19 موجِّه MCP · 1311+ اختبار وحدة · 50+ لغة · إصدار مستقر v3.10.x · مُقيَّد بالـ semver · MIT · إثبات بناء npm (SLSA L2).**
|
|
58
58
|
|
|
59
59
|
</div>
|
|
60
60
|
|
|
@@ -152,7 +152,7 @@ enquire-mcp doctor --vault <path> # color-coded ✓/⚠/✗ health check
|
|
|
152
152
|
| **MCP بعيد** (HTTP + bearer auth + جلسات ذات حالة) | ✅ | ❌ | جزئي |
|
|
153
153
|
| **MCP أصيل** (Claude · Cursor · ChatGPT · Codex · OpenClaw · أي عميل) | ✅ | ❌ Obsidian فقط | متفاوت |
|
|
154
154
|
| **مرشّح خصوصية** مُتحقَّق منه عند كل مسار بحث + كتابة | ✅ | غير منطبق | ❌ |
|
|
155
|
-
| **
|
|
155
|
+
| **46 أداة إنتاجية** (34 أداة قراءة دائمة + 4 اختيارية + 7 كتابات محكومة + 1 تغذية راجعة) | ✅ | غير منطبق | متفاوت |
|
|
156
156
|
| **GraphRAG-light** (كشف مجتمعات بمعامل Louvain) | ✅ **حصرياً هنا** | ❌ | ❌ |
|
|
157
157
|
| **تنفيذ استعلام `.base` مستقل** (يعمل دون تشغيل Obsidian) | ✅ **حصرياً هنا** | ❌ | ❌ |
|
|
158
158
|
| **استرجاع HyDE** + تفكيك الأسئلة الفرعية | ✅ **حصرياً هنا** | ❌ | ❌ |
|
|
@@ -192,11 +192,11 @@ enquire-mcp doctor --vault <path> # color-coded ✓/⚠/✗ health check
|
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
195
|
-
## 🛠️ جميع الأدوات الـ
|
|
195
|
+
## 🛠️ جميع الأدوات الـ 46
|
|
196
196
|
|
|
197
197
|
<div dir="rtl" align="right">
|
|
198
198
|
|
|
199
|
-
|
|
199
|
+
46 أداة إجمالاً: 34 قراءة دائمة (بما في ذلك المدخل الجامع `obsidian_search`) + 4 اختيارية + 7 كتابات محكومة + 1 تغذية راجعة بحلقة مغلقة. المرجع الكامل في **[docs/api.md](./docs/api.md)**، ويشمل: البحث والاسترجاع، وWikilink والرسم، وFrontmatter وDataview، وCanvas، وObsidian Bases، وPDF + OCR، وكشف المجتمعات، وأدوات الكتابة (تتطلب `--enable-write`) وغيرها.
|
|
200
200
|
|
|
201
201
|
</div>
|
|
202
202
|
|
package/README.es.md
CHANGED
|
@@ -48,7 +48,7 @@ Tu bóveda de Obsidian se convierte en **memoria a largo plazo persistente y con
|
|
|
48
48
|
> 3. **Cero llamadas a la nube durante el servicio.** Modelos en caché local (una descarga única desde HuggingFace). El contenido de tu bóveda nunca sale de tu máquina. Seguro para entornos aislados por defecto.
|
|
49
49
|
> 4. **Recuperación consciente de la frescura.** Cada resultado informa de la antigüedad de la nota; el reordenamiento por recencia opcional permite que un agente prefiera el conocimiento reciente y marque los hechos obsoletos para reverificación: la frontera consciente del olvido, construida sobre el `mtime` que tus archivos ya tienen.
|
|
50
50
|
|
|
51
|
-
**
|
|
51
|
+
**46 herramientas · 19 prompts MCP · 1311+ pruebas unitarias · 50+ idiomas · v3.10.x estable · ligado a semver · MIT · procedencia de compilación en npm (SLSA L2).**
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
@@ -124,7 +124,7 @@ No-objetivos honestos: recurre a otra cosa cuando:
|
|
|
124
124
|
| **MCP remoto** sobre HTTP + autenticación bearer + sesiones con estado | ✅ | ❌ | parcial |
|
|
125
125
|
| **Nativo de MCP** (Claude · Cursor · ChatGPT · Codex · OpenClaw · cualquier cliente) | ✅ | ❌ solo Obsidian | varía |
|
|
126
126
|
| **Filtro de privacidad** verificado en cada ruta de búsqueda + escritura | ✅ | n/d | ❌ |
|
|
127
|
-
| **
|
|
127
|
+
| **46 herramientas de producción** (34 de lectura siempre activas + 4 opcionales + 7 escrituras restringidas + 1 de retroalimentación) | ✅ | n/d | varía |
|
|
128
128
|
| **GraphRAG-light** (detección de comunidades de wikilinks por modularidad de Louvain) | ✅ **solo aquí** | ❌ | ❌ |
|
|
129
129
|
| **Ejecución autónoma de consultas `.base`** (funciona sin Obsidian abierto) | ✅ **solo aquí** | ❌ | ❌ |
|
|
130
130
|
| **Recuperación HyDE** + descomposición en subpreguntas | ✅ **solo aquí** | ❌ | ❌ |
|
|
@@ -156,9 +156,9 @@ Activable por niveles, según lo que necesites:
|
|
|
156
156
|
|
|
157
157
|
---
|
|
158
158
|
|
|
159
|
-
## 🛠️ Las
|
|
159
|
+
## 🛠️ Las 46 herramientas
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
46 herramientas en total: 34 de lectura siempre activas (incl. el paraguas `obsidian_search`) + 4 opcionales + 7 escrituras restringidas + 1 de retroalimentación de bucle cerrado. Referencia completa en **[docs/api.md](./docs/api.md)**, que abarca: búsqueda y recuperación, wikilinks y grafo, frontmatter y Dataview, Canvas, Obsidian Bases, PDF + OCR, detección de comunidades, herramientas de escritura (requieren `--enable-write`), etc.
|
|
162
162
|
|
|
163
163
|
---
|
|
164
164
|
|
package/README.hi.md
CHANGED
|
@@ -48,7 +48,7 @@ claude mcp add obsidian -- npx -y @oomkapwn/enquire-mcp serve --vault ~/Document
|
|
|
48
48
|
> 3. **serve के दौरान शून्य क्लाउड कॉल।** मॉडल स्थानीय रूप से कैश्ड (HuggingFace से एक-बार डाउनलोड)। आपके vault की सामग्री कभी आपकी मशीन नहीं छोड़ती। डिफ़ॉल्ट रूप से एयर-गैप-सुरक्षित।
|
|
49
49
|
> 4. **ताज़गी-सजग recall।** हर परिणाम बताता है कि नोट कितना पुराना है; वैकल्पिक recency re-ranking एजेंट को ताज़ा ज्ञान को प्राथमिकता देने और बासी तथ्यों को पुनः-सत्यापन हेतु चिह्नित करने देता है — भूलने-के-प्रति-सजग सीमांत, जो आपकी फ़ाइलों में पहले से मौजूद `mtime` पर बना है।
|
|
50
50
|
|
|
51
|
-
**
|
|
51
|
+
**46 टूल · 19 MCP प्रॉम्प्ट · 1311+ यूनिट टेस्ट · 50+ भाषाएँ · v3.10.x स्थिर · semver-बाध्य · MIT · npm बिल्ड प्रोवेनेंस (SLSA L2)।**
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
@@ -124,7 +124,7 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
|
|
|
124
124
|
| **रिमोट MCP** (HTTP + bearer auth + stateful sessions) | ✅ | ❌ | आंशिक |
|
|
125
125
|
| **MCP-नेटिव** (Claude · Cursor · ChatGPT · Codex · OpenClaw · कोई भी क्लाइंट) | ✅ | ❌ केवल Obsidian | भिन्न |
|
|
126
126
|
| **प्राइवेसी फ़िल्टर** हर खोज + लेखन पथ पर सत्यापित | ✅ | लागू नहीं | ❌ |
|
|
127
|
-
| **
|
|
127
|
+
| **46 प्रोडक्शन टूल** (34 हमेशा-चालू read + 4 opt-in + 7 gated writes + 1 फ़ीडबैक) | ✅ | लागू नहीं | भिन्न |
|
|
128
128
|
| **GraphRAG-light** (Louvain modularity समुदाय-पहचान) | ✅ **केवल यहीं** | ❌ | ❌ |
|
|
129
129
|
| **स्वतंत्र `.base` क्वेरी निष्पादन** (Obsidian चले बिना काम करता है) | ✅ **केवल यहीं** | ❌ | ❌ |
|
|
130
130
|
| **HyDE retrieval** + उप-प्रश्न विघटन | ✅ **केवल यहीं** | ❌ | ❌ |
|
|
@@ -156,9 +156,9 @@ enquire-mcp doctor --vault <path> # रंग-कोडित ✓/⚠/✗ स
|
|
|
156
156
|
|
|
157
157
|
---
|
|
158
158
|
|
|
159
|
-
## 🛠️ सभी
|
|
159
|
+
## 🛠️ सभी 46 टूल
|
|
160
160
|
|
|
161
|
-
|
|
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` ज़रूरी) आदि।
|
|
162
162
|
|
|
163
163
|
इसके अलावा 3 MCP resources और सामान्य vault वर्कफ़्लो के लिए 19 **MCP प्रॉम्प्ट**।
|
|
164
164
|
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
[](https://github.com/oomkapwn/enquire-mcp/actions/workflows/ci.yml)
|
|
16
16
|
[](https://www.npmjs.com/package/@oomkapwn/enquire-mcp)
|
|
17
17
|
[](https://www.npmjs.com/package/@oomkapwn/enquire-mcp)
|
|
18
|
-
[](#trust)
|
|
19
19
|
[](./STABILITY.md)
|
|
20
20
|
[](https://slsa.dev/spec/v1.0/levels#build-l2)
|
|
21
21
|
[](https://modelcontextprotocol.io/)
|
|
@@ -51,7 +51,7 @@ Your Obsidian vault becomes **persistent, queryable long-term memory** for any M
|
|
|
51
51
|
> 3. **Zero cloud calls during serve.** Models cached locally (one-time download from HuggingFace). Your vault content never leaves your machine. Air-gap-safe by default.
|
|
52
52
|
> 4. **Freshness-aware recall.** Every hit reports how old the note is; opt-in recency re-ranking lets an agent prefer fresh knowledge and flag stale facts for re-verification — the forgetting-aware frontier, built on the `mtime` your files already have.
|
|
53
53
|
|
|
54
|
-
**
|
|
54
|
+
**46 tools · 19 MCP prompts · 1331 unit tests · 50+ languages · v3.10.x stable · semver-bound · MIT · npm build provenance (SLSA L2).**
|
|
55
55
|
|
|
56
56
|
---
|
|
57
57
|
|
|
@@ -75,11 +75,11 @@ Your Obsidian vault becomes **persistent, queryable long-term memory** for any M
|
|
|
75
75
|
| **Per-signal observability** per hit | ✅ | ❌ | ❌ |
|
|
76
76
|
| **MCP-native** (Claude · Cursor · ChatGPT · Codex · OpenClaw · any client) | ✅ | ❌ Obsidian-only | varies |
|
|
77
77
|
| **Privacy filter** verified at every search + write path | ✅ | n/a | ❌ |
|
|
78
|
-
| **
|
|
78
|
+
| **46 production tools** (34 always-on read tools + 4 opt-in + 7 gated writes + 1 feedback tool) | ✅ | n/a | varies |
|
|
79
79
|
| **GraphRAG-light** (wikilink community detection via Louvain modularity) | ✅ **only here** | ❌ | ❌ |
|
|
80
80
|
| **Standalone `.base` query execution** (works without Obsidian running) | ✅ **only here** | ❌ | ❌ delegates to Obsidian |
|
|
81
81
|
| **HyDE retrieval** (Gao et al 2023) + sub-question decomposition | ✅ **only here** | ❌ | ❌ |
|
|
82
|
-
| **
|
|
82
|
+
| **1331 unit tests · 9 required + 5 advisory CI gates per PR** | ✅ | n/a | rare |
|
|
83
83
|
| **Signed build provenance** (npm + Sigstore, SLSA Build L2) | ✅ | n/a | ❌ |
|
|
84
84
|
| **Semver-bound public surface** ([STABILITY.md](./STABILITY.md)) | ✅ | n/a | ❌ |
|
|
85
85
|
| Standalone (no Obsidian plugin needed) | ✅ | ❌ requires Obsidian | varies |
|
|
@@ -248,9 +248,9 @@ graph LR
|
|
|
248
248
|
|
|
249
249
|
---
|
|
250
250
|
|
|
251
|
-
## 🛠️ All
|
|
251
|
+
## 🛠️ All 46 tools
|
|
252
252
|
|
|
253
|
-
|
|
253
|
+
46 tools total: 34 always-on read (incl. the umbrella `obsidian_search`) + 4 opt-in read + 7 gated writes + 1 closed-loop feedback. Full reference: **[docs/api.md](./docs/api.md)**.
|
|
254
254
|
|
|
255
255
|
| Category | Tools |
|
|
256
256
|
|---|---|
|
|
@@ -261,6 +261,7 @@ The umbrella `obsidian_search` plus 43 specialized tools (34 always-on read + 4
|
|
|
261
261
|
| **PDFs, 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) |
|
|
262
262
|
| **Writes** (gated by `--enable-write`) | `obsidian_create_note` · `obsidian_append_to_note` · `obsidian_rename_note` · `obsidian_replace_in_notes` · `obsidian_archive_note` · `obsidian_frontmatter_set` · `obsidian_chat_thread_append` |
|
|
263
263
|
| **Diagnostic / lint** | `obsidian_lint_wiki` · `obsidian_paper_audit` · `obsidian_validate_note_proposal` |
|
|
264
|
+
| **Feedback** (opt-in via `--feedback-weight`) | `obsidian_mark_useful` (closed-loop: record which recalled notes helped; boosts them in future search) |
|
|
264
265
|
|
|
265
266
|
Plus 3 MCP resources (`obsidian://vault/info`, `obsidian://note/{path}`, `obsidian://chunk/{n}/{path}`) and 19 **MCP prompts** (`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`) for common vault workflows.
|
|
266
267
|
|
|
@@ -317,7 +318,7 @@ Channel: `npm install @oomkapwn/enquire-mcp` → latest stable (`@latest` = v3.1
|
|
|
317
318
|
```bash
|
|
318
319
|
git clone https://github.com/oomkapwn/enquire-mcp.git
|
|
319
320
|
cd enquire-mcp && npm install
|
|
320
|
-
npm test # full suite (
|
|
321
|
+
npm test # full suite (1331 tests, ~12s)
|
|
321
322
|
npm run lint # zero warnings
|
|
322
323
|
npm run build # tsc → dist/
|
|
323
324
|
```
|
package/README.zh.md
CHANGED
|
@@ -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
|
-
**
|
|
51
|
+
**46 个工具 · 19 个 MCP 提示词 · 1311+ 单元测试 · 50+ 语言 · v3.10.x 稳定版 · 语义化版本约束 · MIT · npm 构建溯源(SLSA L2)。**
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
@@ -124,7 +124,7 @@ enquire-mcp doctor --vault <path> # 彩色 ✓/⚠/✗ 健康检查
|
|
|
124
124
|
| **远程 MCP**(HTTP + bearer 鉴权 + 有状态会话) | ✅ | ❌ | 部分 |
|
|
125
125
|
| **MCP 原生**(Claude · Cursor · ChatGPT · Codex · OpenClaw · 任意客户端) | ✅ | ❌ 仅 Obsidian | 不一 |
|
|
126
126
|
| **隐私过滤**在每条检索 + 写入路径校验 | ✅ | 不适用 | ❌ |
|
|
127
|
-
| **
|
|
127
|
+
| **46 个生产级工具**(34 常驻读 + 4 可选 + 7 受控写 + 1 反馈) | ✅ | 不适用 | 不一 |
|
|
128
128
|
| **GraphRAG-light**(Louvain 模块度社群检测) | ✅ **独有** | ❌ | ❌ |
|
|
129
129
|
| **独立 `.base` 查询执行**(无需运行 Obsidian) | ✅ **独有** | ❌ | ❌ |
|
|
130
130
|
| **HyDE 检索** + 子问题分解 | ✅ **独有** | ❌ | ❌ |
|
|
@@ -156,9 +156,9 @@ enquire-mcp doctor --vault <path> # 彩色 ✓/⚠/✗ 健康检查
|
|
|
156
156
|
|
|
157
157
|
---
|
|
158
158
|
|
|
159
|
-
## 🛠️ 全部
|
|
159
|
+
## 🛠️ 全部 46 个工具
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
共 46 个工具:34 个常驻读(含总入口 `obsidian_search`)+ 4 个可选读 + 7 个受控写 + 1 个闭环反馈。完整参考见 **[docs/api.md](./docs/api.md)**,涵盖:搜索与检索、Wikilink 与图、Frontmatter 与 Dataview、Canvas、Obsidian Bases、PDF + OCR、社群检测、写入工具(需 `--enable-write`)等。
|
|
162
162
|
|
|
163
163
|
---
|
|
164
164
|
|
package/SECURITY.md
CHANGED
|
@@ -200,6 +200,16 @@ When `--persistent-index` is enabled, the search-index file at `<vault-hash>.fts
|
|
|
200
200
|
- Manual purge: `enquire-mcp clear-index --vault <path>` removes the `.fts5.db`, `.fts5.db-wal`, and `.fts5.db-shm` files.
|
|
201
201
|
- **Caveat:** SQLite WAL mode keeps the most-recent uncommitted writes in `<file>-wal`. If you delete only `<file>` manually (not via `clear-index`), some recently-indexed chunks may persist in the sidecar. Always use `clear-index` for full removal.
|
|
202
202
|
|
|
203
|
+
## Closed-loop feedback store (v3.11.0): data-at-rest posture
|
|
204
|
+
|
|
205
|
+
When `--feedback-weight > 0`, the `obsidian_mark_useful` tool records which recalled notes helped a query, into a per-vault JSON sidecar at `<vault-hash>.feedback.json` (same cache dir as the parse cache / FTS5 index).
|
|
206
|
+
|
|
207
|
+
- **Low-sensitivity by design.** The file holds ONLY **relative note paths** + integer **useful / not-useful counts** + an ISO timestamp per note. It does **NOT** store note content, snippets, or the query text — so unlike `.fts5.db` / `.embed.db`, it cannot leak note *bodies*. The worst-case disclosure to a local reader is *which* notes were marked useful (a usage-pattern signal), not their content.
|
|
208
|
+
- **0600 chmod** on the sidecar; written atomically (tmp + rename) so a crash never leaves a torn file. Parent dir mode is `0700` (shared with the other cache artifacts).
|
|
209
|
+
- **Bounded.** At most `MAX_FEEDBACK_ENTRIES` (100,000) distinct notes are tracked; at the cap, existing entries still update but new paths are ignored — bounding disk growth from a misbehaving `serve-http` client.
|
|
210
|
+
- **Right-to-erasure.** `enquire-mcp prune` erases a decommissioned vault's `<hash>.feedback.json` (+ any `.tmp` leftover) along with every other per-vault artifact — pinned by the erasure-completeness invariant (`tests/erasure-invariant.test.ts`). It is **preserved across `clear-cache`** (it is user-generated signal, not regenerable cache); delete the vault's cache artifacts via `prune` to remove it.
|
|
211
|
+
- **Opt-in.** With `--feedback-weight` unset or 0 (the default), the tool is not registered, no boost is applied, and no feedback file is ever created.
|
|
212
|
+
|
|
203
213
|
## HTTP transport (v2.6.0): bearer auth + remote-MCP posture
|
|
204
214
|
|
|
205
215
|
The `serve-http` subcommand (added v2.6.0) exposes the same MCP server over [Streamable HTTP](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http) so claude.ai web, ChatGPT, Cursor HTTP mode, and mobile MCP clients can reach a remote vault. It introduces a network-exposed endpoint that the default stdio path doesn't have. The threat model + deployment recipes are documented at length in [`docs/http-transport.md`](docs/http-transport.md); this section is the canonical security posture.
|
package/STABILITY.md
CHANGED
|
@@ -8,9 +8,9 @@ After **v3.0.0** every CLI flag, MCP tool name, MCP resource URI, MCP prompt nam
|
|
|
8
8
|
|
|
9
9
|
## v3.x stable surfaces
|
|
10
10
|
|
|
11
|
-
### MCP tool names (
|
|
11
|
+
### MCP tool names (46 tools)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
46 tools total = **34 always-on read** + **1 opt-in via `--persistent-index` + `--diagnostic-search-tools`** + **3 opt-in via `--diagnostic-search-tools`** + **7 gated by `--enable-write`** + **1 opt-in via `--feedback-weight`**. Names + argument shapes are stable in v3.x.
|
|
14
14
|
|
|
15
15
|
**Read — always-on (34):**
|
|
16
16
|
|
|
@@ -22,6 +22,8 @@ After **v3.0.0** every CLI flag, MCP tool name, MCP resource URI, MCP prompt nam
|
|
|
22
22
|
|
|
23
23
|
**Write — gated by `--enable-write` (7):** `obsidian_create_note`, `obsidian_append_to_note`, `obsidian_rename_note`, `obsidian_replace_in_notes`, `obsidian_archive_note`, `obsidian_frontmatter_set`, `obsidian_chat_thread_append`.
|
|
24
24
|
|
|
25
|
+
**Feedback — opt-in via `--feedback-weight` (1):** `obsidian_mark_useful`. Records which recalled notes helped a query (closed-loop retrieval feedback); the recorded usefulness boosts those notes in subsequent `obsidian_search` results. Mutates a per-vault feedback cache sidecar (relative paths + counts only), NOT the vault — so it is gated by `--feedback-weight`, not `--enable-write`.
|
|
26
|
+
|
|
25
27
|
### MCP resource URIs
|
|
26
28
|
|
|
27
29
|
- `obsidian://vault/info`
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAqJA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA48B1C"}
|
package/dist/cli.js
CHANGED
|
@@ -52,7 +52,8 @@ function addAdvancedRetrievalOptions(cmd) {
|
|
|
52
52
|
.option("--ocr-langs <langs>", 'v3.9.0-rc.1 — Tesseract language pack for --ocr-pdfs. Default `eng`. Multi-language via `+` (e.g. `eng+rus` for English+Russian mixed documents). Each language pack (`<lang>.traineddata`, ~10 MB) must be pre-installed via `enquire-mcp install-ocr-lang <code>` (one code per invocation, e.g. `eng`, `rus`, `chi_sim`). serve makes no runtime CDN download — a missing pack throws fail-closed (v3.9.0-rc.10). See SECURITY.md "OCR network posture".')
|
|
53
53
|
.option("--ocr-max-pages <n>", "v3.9.0-rc.1 — page cap for OCR runs invoked by --ocr-pdfs. Default 200 (matches DEFAULT_OCR_MAX_PAGES). Image-only PDFs exceeding this skip the OCR pass entirely (FTS5 still reindexes from pdfjs's empty pages; embed-db rows are cleared). Lift the cap (or pass a large value) for trusted PDF sets; lower it on shared deployments to bound per-event CPU.")
|
|
54
54
|
.option("--recency-weight <w>", "v3.10.0-rc.5 — OPT-IN recency re-ranking for `obsidian_search`. A number in [0, 1]; default 0 (OFF — ranking stays purely relevance-driven). When > 0, the final fused order is re-sorted by `(1 - w) * relevanceRank + w * recency`, where recency decays with the note's live last-modified time (half-life = --stale-days). 0.15-0.3 gently favors fresher notes among similarly-relevant hits; 1.0 sorts almost purely by recency. The forgetting-aware knob for the Memora stale-reuse frontier — your knowledge, freshness-aware. Reflects live mtime (re-stats the candidate set), so a just-edited note is treated as fresh immediately.")
|
|
55
|
-
.option("--stale-days <n>", "v3.10.0-rc.5 — recency half-life in days for --recency-weight (the age at which a note's recency score is 0.5). Default 365. Lower it (e.g. 90) for fast-moving notes where staleness matters sooner; raise it for stable reference vaults. No effect unless --recency-weight > 0 (it ONLY tunes recency re-ranking). NOTE: the `stale` freshness flag on search hits always uses the fixed 365-day default and is NOT affected by this flag.")
|
|
55
|
+
.option("--stale-days <n>", "v3.10.0-rc.5 — recency half-life in days for --recency-weight (the age at which a note's recency score is 0.5). Default 365. Lower it (e.g. 90) for fast-moving notes where staleness matters sooner; raise it for stable reference vaults. No effect unless --recency-weight > 0 (it ONLY tunes recency re-ranking). NOTE: the `stale` freshness flag on search hits always uses the fixed 365-day default and is NOT affected by this flag.")
|
|
56
|
+
.option("--feedback-weight <w>", "v3.11.0 — OPT-IN closed-loop feedback re-ranking for `obsidian_search`, and the gate for the `obsidian_mark_useful` tool. A number in [0, 1]; default 0 (OFF — no feedback tool, no boost; ranking stays purely relevance-driven). When > 0, registers `obsidian_mark_useful` (agents record which recalled notes actually helped a query) and re-sorts the fused order by `(1 - w) * relevanceRank + w * feedbackScore`, where feedbackScore = useful/(useful+notUseful+1) per note. 0.15-0.3 gently favors notes marked useful; 1.0 sorts almost purely by recorded usefulness. State persists per-vault in a cache sidecar (relative paths + counts only — no note content, no query text; erased by `enquire-mcp prune`).");
|
|
56
57
|
}
|
|
57
58
|
/**
|
|
58
59
|
* CLI entry point — the function `dist/index.js` invokes when a user runs
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** Per-note usefulness tally. `lastMarked` is an ISO-8601 timestamp (or "" if a
|
|
2
|
+
* loaded legacy/partial entry lacked one). */
|
|
3
|
+
export interface FeedbackEntry {
|
|
4
|
+
useful: number;
|
|
5
|
+
notUseful: number;
|
|
6
|
+
lastMarked: string;
|
|
7
|
+
}
|
|
8
|
+
/** Upper bound on distinct marked notes the store will hold. Far beyond any real
|
|
9
|
+
* vault's useful-marked set; bounds disk growth from a misbehaving client that
|
|
10
|
+
* marks unbounded fake paths over a long `serve-http` session (a mild fill-DoS).
|
|
11
|
+
* At the cap, EXISTING entries still update; NEW paths are ignored. */
|
|
12
|
+
export declare const MAX_FEEDBACK_ENTRIES = 100000;
|
|
13
|
+
/**
|
|
14
|
+
* Cache-dir location of the per-vault feedback sidecar. MIRRORS `defaultIndexFile`
|
|
15
|
+
* (fts5.ts): same `enquire` cache dir (honoring `$XDG_CACHE_HOME`) under the same
|
|
16
|
+
* first-12-hex sha1(vaultRoot) hash, so the file sits beside the other per-vault
|
|
17
|
+
* artifacts and `prune`'s `ENQUIRE_CACHE_ARTIFACT` pattern erases it. The dir+hash
|
|
18
|
+
* parity with `defaultIndexFile` is pinned by `tests/feedback.test.ts`.
|
|
19
|
+
*
|
|
20
|
+
* @param vaultRoot Absolute path to the vault root.
|
|
21
|
+
* @returns Absolute path to `<cacheDir>/<hash>.feedback.json`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function defaultFeedbackFile(vaultRoot: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* A note's feedback score in [0, 1): `useful / (useful + notUseful + 1)`. The +1
|
|
26
|
+
* Laplace term keeps a single positive mark modest (0.5) and an unmarked note at
|
|
27
|
+
* 0, so the search boost is gentle and monotonically increasing in NET
|
|
28
|
+
* usefulness (more useful marks raise it; not-useful marks lower it).
|
|
29
|
+
*/
|
|
30
|
+
export declare function feedbackScore(e: FeedbackEntry): number;
|
|
31
|
+
/**
|
|
32
|
+
* Per-vault feedback store. Holds the tally in memory (so a `mark_useful` during
|
|
33
|
+
* a `serve` session immediately influences the next `obsidian_search` boost — the
|
|
34
|
+
* closed loop) and persists each change atomically (tmp + rename).
|
|
35
|
+
*
|
|
36
|
+
* Concurrency: `record` mutates the in-memory map synchronously (no `await`
|
|
37
|
+
* between read and write of a given entry), so concurrent marks never interleave
|
|
38
|
+
* the tally; the on-disk write is last-write-wins, which is acceptable for a
|
|
39
|
+
* soft ranking signal.
|
|
40
|
+
*/
|
|
41
|
+
export declare class FeedbackStore {
|
|
42
|
+
readonly file: string;
|
|
43
|
+
private data;
|
|
44
|
+
private constructor();
|
|
45
|
+
/**
|
|
46
|
+
* Open (or initialize) the store. FAIL-SOFT: a missing / unreadable / malformed
|
|
47
|
+
* sidecar yields an EMPTY store (the boost simply has no signal) — never throws,
|
|
48
|
+
* so a corrupt file can't break `serve` boot. Loaded entries are sanitized
|
|
49
|
+
* (non-finite / negative counts → 0; non-string `lastMarked` → "").
|
|
50
|
+
*/
|
|
51
|
+
static open(file: string): Promise<FeedbackStore>;
|
|
52
|
+
/**
|
|
53
|
+
* Record a usefulness mark for each DISTINCT relative note path. Updates the
|
|
54
|
+
* in-memory tally (so the same-session search boost sees it immediately) and
|
|
55
|
+
* atomically persists. `nowIso` is injected so the module is Date-free and the
|
|
56
|
+
* write is deterministic under test.
|
|
57
|
+
*
|
|
58
|
+
* @returns the count of distinct paths recorded (paths skipped at the entry cap
|
|
59
|
+
* are still counted if they refer to an EXISTING entry).
|
|
60
|
+
*/
|
|
61
|
+
record(paths: readonly string[], useful: boolean, nowIso: string): Promise<number>;
|
|
62
|
+
/**
|
|
63
|
+
* Live snapshot: relPath → score in (0, 1). Recomputed per search call (the map
|
|
64
|
+
* is small — one entry per marked note). Notes with a net-zero or negative score
|
|
65
|
+
* are omitted; the boost treats an absent path as score 0.
|
|
66
|
+
*/
|
|
67
|
+
scores(): Map<string, number>;
|
|
68
|
+
/** Number of notes with any recorded feedback (for the tool response). */
|
|
69
|
+
size(): number;
|
|
70
|
+
/**
|
|
71
|
+
* Serializes persists behind a per-store promise chain. The store is a SINGLE
|
|
72
|
+
* instance shared across all serve-http sessions and the MCP SDK dispatches tool
|
|
73
|
+
* calls concurrently, so two `record()` calls can both reach `persist()` before
|
|
74
|
+
* either finishes. Without serialization both `writeOnce()` calls would stream
|
|
75
|
+
* into the SAME `<file>.tmp` and `fs.rename` would promote a torn file — which,
|
|
76
|
+
* if invalid JSON, the fail-soft `open()` silently discards on next boot (losing
|
|
77
|
+
* ALL feedback). Chaining makes every write atomic AND sequential.
|
|
78
|
+
*/
|
|
79
|
+
private persistChain;
|
|
80
|
+
private persist;
|
|
81
|
+
private writeOnce;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAoBA;+CAC+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAOD;;;wEAGwE;AACxE,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAGtD;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAEtB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,IAAI;IAFd,OAAO;IAKP;;;;;OAKG;WACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BvD;;;;;;;;OAQG;IACG,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBxF;;;;OAIG;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAS7B,0EAA0E;IAC1E,IAAI,IAAI,MAAM;IAId;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,CAAoC;YAE1C,OAAO;YAQP,SAAS;CA+BxB"}
|