@pcircle/memesh 4.2.10 → 4.3.0
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.de.md +14 -13
- package/README.es.md +14 -13
- package/README.fr.md +14 -13
- package/README.ja.md +14 -13
- package/README.ko.md +14 -13
- package/README.md +15 -14
- package/README.pt.md +14 -13
- package/README.th.md +15 -14
- package/README.vi.md +14 -13
- package/README.zh-CN.md +12 -11
- package/README.zh-TW.md +12 -11
- package/dashboard/dist/index.html +8 -8
- package/dist/cli/view.d.ts.map +1 -1
- package/dist/cli/view.js +6 -0
- package/dist/cli/view.js.map +1 -1
- package/dist/core/config.d.ts +14 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +25 -5
- package/dist/core/config.js.map +1 -1
- package/dist/core/doctor.d.ts +3 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +84 -5
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/dreamer.d.ts.map +1 -1
- package/dist/core/dreamer.js +26 -15
- package/dist/core/dreamer.js.map +1 -1
- package/dist/core/embedder.d.ts +6 -1
- package/dist/core/embedder.d.ts.map +1 -1
- package/dist/core/embedder.js +33 -9
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/llm-validator.d.ts.map +1 -1
- package/dist/core/llm-validator.js +6 -0
- package/dist/core/llm-validator.js.map +1 -1
- package/dist/core/memory-tool.d.ts +37 -0
- package/dist/core/memory-tool.d.ts.map +1 -0
- package/dist/core/memory-tool.js +371 -0
- package/dist/core/memory-tool.js.map +1 -0
- package/dist/core/operations.d.ts +11 -5
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +91 -34
- package/dist/core/operations.js.map +1 -1
- package/dist/core/prompt-safety.d.ts.map +1 -1
- package/dist/core/prompt-safety.js.map +1 -1
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +19 -34
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/types.d.ts +5 -12
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +4 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/verifier.d.ts +3 -0
- package/dist/core/verifier.d.ts.map +1 -1
- package/dist/core/verifier.js +27 -11
- package/dist/core/verifier.js.map +1 -1
- package/dist/db.d.ts +11 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +174 -35
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/knowledge-graph.d.ts +1 -2
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +94 -44
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/skills-manifest.json +14 -15
- package/dist/storage/conflicts.d.ts +1 -4
- package/dist/storage/conflicts.d.ts.map +1 -1
- package/dist/storage/conflicts.js +2 -5
- package/dist/storage/conflicts.js.map +1 -1
- package/dist/storage/fts-index.d.ts +11 -0
- package/dist/storage/fts-index.d.ts.map +1 -1
- package/dist/storage/fts-index.js +58 -2
- package/dist/storage/fts-index.js.map +1 -1
- package/dist/transports/cli/cli.d.ts.map +1 -1
- package/dist/transports/cli/cli.js +96 -50
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/retired-routes.d.ts +2 -0
- package/dist/transports/http/retired-routes.d.ts.map +1 -0
- package/dist/transports/http/retired-routes.js +4 -0
- package/dist/transports/http/retired-routes.js.map +1 -0
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +6 -3
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +4 -25
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +8 -28
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +0 -5
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +0 -5
- package/dist/transports/schemas.js.map +1 -1
- package/package.json +35 -6
- package/scripts/hooks/_generated/fts-index.js +58 -2
- package/scripts/hooks/_shared.js +238 -4
- package/scripts/hooks/pre-compact.js +14 -3
- package/scripts/hooks/pre-edit-recall.js +76 -9
- package/skills/memesh/SKILL.md +11 -4
- package/skills/memesh-review/SKILL.md +7 -5
- package/dist/core/consolidator.d.ts +0 -3
- package/dist/core/consolidator.d.ts.map +0 -1
- package/dist/core/consolidator.js +0 -108
- package/dist/core/consolidator.js.map +0 -1
package/README.de.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%
|
|
12
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
14
|
</p>
|
|
15
15
|
</p>
|
|
@@ -29,13 +29,13 @@ Dieses Paket ist die lokale Speicherschicht der MeMesh-Produktfamilie. Es ist be
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## Proof — 95.
|
|
32
|
+
## Proof — 95.60% R@5 on LongMemEval-S
|
|
33
33
|
|
|
34
34
|
MeMeshs Retrieval-Engine ist **FTS5 alleine** (kein LLM, keine Embeddings auf dem Hot Path), gemessen am öffentlichen [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) Benchmark (500 Fragen, MIT-lizenziert):
|
|
35
35
|
|
|
36
36
|
| System | R@5 | Quelle |
|
|
37
37
|
|---|---|---|
|
|
38
|
-
| **MeMesh (Mode A,
|
|
38
|
+
| **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
39
39
|
| MemPalace | 96.6% | Eigenangabe des Anbieters |
|
|
40
40
|
| Supermemory | ~82% | Schätzung des Anbieters |
|
|
41
41
|
| Zep | 63.8% | LongMemEval-Paper |
|
|
@@ -173,7 +173,7 @@ memesh
|
|
|
173
173
|
| **Claude Code verwenden** | Projektentscheidungen, dateispezifische Erkenntnisse und vergangene Fehler während der Arbeit automatisch abrufen |
|
|
174
174
|
| **Power-User von Coding-Agenten** | Eine lokale Speicherschicht über MCP-kompatible Tools verteilen |
|
|
175
175
|
| **ein Team mit KI-Coding-Workflows experimentiert** | Projektwissen ohne gehostete Infrastruktur aus- und importieren |
|
|
176
|
-
| **Agent-Entwickler** | Lokalen Speicher via MCP, HTTP
|
|
176
|
+
| **Agent-Entwickler** | Lokalen Speicher via MCP, HTTP oder CLI hinzufügen |
|
|
177
177
|
|
|
178
178
|
---
|
|
179
179
|
|
|
@@ -288,15 +288,17 @@ Wenn npm eine installierte Version als veraltet kennzeichnet (typischerweise ein
|
|
|
288
288
|
|
|
289
289
|
## Intelligente Features
|
|
290
290
|
|
|
291
|
-
**🧠 Intelligente Suche** — Suche nach „Login Security" und finde Memories über „OAuth PKCE". MeMesh
|
|
291
|
+
**🧠 Intelligente Suche** — Suche nach „Login Security" und finde Memories über „OAuth PKCE". MeMesh nutzt auf dem heißen Pfad FTS5 + sqlite-vec, ohne LLM; die Vektor-Ergänzung erreicht dennoch verwandte Formulierungen.
|
|
292
292
|
|
|
293
|
-
|
|
293
|
+
**🌏 Suche in Schriften ohne Wortzwischenräume** — Chinesisch, Japanisch, Koreanisch, Thai, Laotisch, Khmer und halbbreites Katakana werden als überlappende Zeichenpaare indiziert. Eine als 「資料庫遷移前一定要先備份」 gespeicherte Erinnerung findet man deshalb mit 「備份」 — und nicht nur über den exakten Volltext. Der Text wird beim Schreiben wie beim Suchen normalisiert (NFC), sodass unter macOS oder mit einer koreanischen bzw. vietnamesischen Eingabemethode getippte Erinnerungen in beiden Schreibweisen gefunden werden.
|
|
294
|
+
|
|
295
|
+
**📊 Bewertetes Ranking** — Ergebnisse geordnet nach Relevanz (30%) + Aktualität (25%) + Häufigkeit (18%) + Konfidenz (17%) + Abruf-Auswirkung (10%).
|
|
294
296
|
|
|
295
297
|
**🔄 Wissensentwicklung** — Entscheidungen ändern sich. `forget` archiviert alte Memories (löscht nie). `supersedes`-Relationen verbinden alt → neu. Ihr KI sieht immer die aktuelle Version.
|
|
296
298
|
|
|
297
299
|
**⚠️ Konflikterkennung** — Wenn Sie zwei Memories haben, die sich widersprechen, warnt Sie MeMesh.
|
|
298
300
|
|
|
299
|
-
**🕸️ Wissensgraph-Konnektivität** — `memesh kg backfill-relations --all-rules` verknüpft verwaiste Entitäten über Tag-Kookurrenz, Projekt-Clustering, Sitzungskontext und Namensähnlichkeit — ohne LLM.
|
|
301
|
+
**🕸️ Wissensgraph-Konnektivität** — `memesh kg backfill-relations --all-rules` verknüpft verwaiste Entitäten über Tag-Kookurrenz, Projekt-Clustering, Sitzungskontext und Namensähnlichkeit — ohne LLM.
|
|
300
302
|
|
|
301
303
|
**📦 Team-Freigabe** — `memesh export > team-knowledge.json` → mit Team teilen → `memesh import team-knowledge.json`
|
|
302
304
|
Importierte Bundles bleiben durchsuchbar, aber MeMesh injiziert importierte Memories nicht automatisch in Claude Hooks, bis Sie sie überprüfen oder lokal neu speichern.
|
|
@@ -318,7 +320,7 @@ Importierte Bundles bleiben durchsuchbar, aber MeMesh injiziert importierte Memo
|
|
|
318
320
|
|
|
319
321
|
## Smart Mode freischalten (optional)
|
|
320
322
|
|
|
321
|
-
MeMesh funktioniert standardmäßig offline — Recall bleibt strikt LLM-frei (95,
|
|
323
|
+
MeMesh funktioniert standardmäßig offline — Recall bleibt strikt LLM-frei (95,60 % R@5 auf LongMemEval-S, ohne LLM). Fügen Sie einen LLM API-Schlüssel nur hinzu, wenn Sie LLM-augmentierte Analyseflüsse zusätzlich nutzen möchten: intelligentere Session-Extraktion, Auto-Tagging neuer Memories, Lektionen aus Fehlern und `dream` Kompression:
|
|
322
324
|
|
|
323
325
|
```bash
|
|
324
326
|
memesh config set llm.provider anthropic
|
|
@@ -344,11 +346,11 @@ Der Embedder wird **unabhängig vom Chat-LLM** konfiguriert — `llm.provider` z
|
|
|
344
346
|
|
|
345
347
|
| | Stufe 0 (Standard) | Stufe 1 (Smart Mode) |
|
|
346
348
|
|---|---|---|
|
|
347
|
-
| **Search** | FTS5 + sqlite-vec, 95,
|
|
349
|
+
| **Search** | FTS5 + sqlite-vec, 95,60 % R@5 (~4 ms pro Recall) | unverändert — Recall ist auf jeder Stufe LLM-frei |
|
|
348
350
|
| **Auto-Capture** | Regelbasierte Muster | + LLM extrahiert Entscheidungen & Lektionen |
|
|
349
351
|
| **Auto-Tagging** | Nur manuelle Tags | + LLM generiert Tags für neue Memories |
|
|
350
352
|
| **Fehleranalyse** | Nicht verfügbar | + LLM wandelt Session-Fehler in strukturierte Lektionen um |
|
|
351
|
-
| **Kompression** | Nicht verfügbar | `
|
|
353
|
+
| **Kompression** | Nicht verfügbar | `dream` komprimieren ausschweifende Memories |
|
|
352
354
|
| **Kosten** | Kostenlos, kein API-Schlüssel | ~$0,0001 pro Analyseanfrage (Haiku) |
|
|
353
355
|
|
|
354
356
|
---
|
|
@@ -358,9 +360,8 @@ Der Embedder wird **unabhängig vom Chat-LLM** konfiguriert — `llm.provider` z
|
|
|
358
360
|
| Tool | Was es tut |
|
|
359
361
|
|------|-------------|
|
|
360
362
|
| `remember` | Wissen mit Beobachtungen, Relationen und Tags speichern |
|
|
361
|
-
| `recall` | FTS5 + sqlite-vec Suche mit Multi-Faktor-Bewertung (Relevanz, Aktualität, Häufigkeit, Konfidenz,
|
|
363
|
+
| `recall` | FTS5 + sqlite-vec Suche mit Multi-Faktor-Bewertung (Relevanz, Aktualität, Häufigkeit, Konfidenz, Abruf-Auswirkung) — kein LLM auf dem Hot Path |
|
|
362
364
|
| `forget` | Soft-Archivierung (löscht nie) oder entfernt spezifische Beobachtungen |
|
|
363
|
-
| `consolidate` | LLM-gestützte Kompression ausschweifender Memories |
|
|
364
365
|
| `export` | Memories als JSON zwischen Projekten oder Teamkollegen teilen |
|
|
365
366
|
| `import` | Memories mit Merge-Strategien importieren (Skip / Overwrite / Append) |
|
|
366
367
|
| `learn` | Strukturierte Lektionen aus Fehlern erfassen (Fehler, Grundursache, Behebung, Prävention) |
|
|
@@ -424,7 +425,7 @@ Beim Session-Start erscheint ein einzeiliges Banner (pro Version alle 24h gedros
|
|
|
424
425
|
```bash
|
|
425
426
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
426
427
|
cd memesh-llm-memory && npm install && npm run build
|
|
427
|
-
npm test
|
|
428
|
+
npm test
|
|
428
429
|
npm run test:e2e-dashboard
|
|
429
430
|
```
|
|
430
431
|
|
package/README.es.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%
|
|
12
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
14
|
</p>
|
|
15
15
|
</p>
|
|
@@ -29,13 +29,13 @@ Este paquete es la capa de memoria local de la familia de productos MeMesh. Es i
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## Prueba — 95.
|
|
32
|
+
## Prueba — 95.60% R@5 en LongMemEval-S
|
|
33
33
|
|
|
34
34
|
El motor de recuperación de MeMesh es **solo FTS5** (sin LLM, sin embeddings en la ruta caliente), medido contra el benchmark público [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 preguntas, licencia MIT):
|
|
35
35
|
|
|
36
36
|
| Sistema | R@5 | Fuente |
|
|
37
37
|
|---|---|---|
|
|
38
|
-
| **MeMesh (Modo A,
|
|
38
|
+
| **MeMesh (Modo A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
39
39
|
| MemPalace | 96.6% | Auto-reporte del proveedor |
|
|
40
40
|
| Supermemory | ~82% | Estimación del proveedor |
|
|
41
41
|
| Zep | 63.8% | Paper de LongMemEval |
|
|
@@ -200,7 +200,7 @@ memesh
|
|
|
200
200
|
| **Un desarrollador usando Claude Code** | Recuperar automáticamente decisiones del proyecto, lecciones específicas de archivos y fracasos anteriores mientras trabajas |
|
|
201
201
|
| **Un usuario avanzado de agentes de codificación** | Compartir una capa de memoria local entre herramientas compatibles con MCP |
|
|
202
202
|
| **Un equipo experimentando con flujos de trabajo de IA para codificación** | Exportar/importar conocimiento del proyecto sin introducir infraestructura alojada |
|
|
203
|
-
| **Un desarrollador de agentes** | Añadir memoria local mediante MCP, HTTP
|
|
203
|
+
| **Un desarrollador de agentes** | Añadir memoria local mediante MCP, HTTP o la CLI |
|
|
204
204
|
|
|
205
205
|
---
|
|
206
206
|
|
|
@@ -316,15 +316,17 @@ Cuando npm marca una versión instalada como deprecada (típicamente un aviso de
|
|
|
316
316
|
|
|
317
317
|
## Características Inteligentes
|
|
318
318
|
|
|
319
|
-
**🧠 Búsqueda Inteligente** — Busca "login security" y encuentra memorias sobre "OAuth PKCE". MeMesh
|
|
319
|
+
**🧠 Búsqueda Inteligente** — Busca "login security" y encuentra memorias sobre "OAuth PKCE". MeMesh usa FTS5 + sqlite-vec en la ruta caliente, sin LLM; el complemento vectorial aún alcanza términos relacionados.
|
|
320
320
|
|
|
321
|
-
|
|
321
|
+
**🌏 Búsqueda en escrituras que no separan las palabras con espacios** — El chino, el japonés, el coreano, el tailandés, el lao, el jemer y el katakana de media anchura se indexan como pares de caracteres solapados. Así, un recuerdo escrito como 「資料庫遷移前一定要先備份」 se encuentra buscando 「備份」, no solo con su texto completo exacto. El texto se normaliza (NFC) tanto al escribir como al consultar, de modo que un recuerdo tecleado en macOS o con un IME coreano o vietnamita se encuentra en cualquiera de las dos grafías.
|
|
322
|
+
|
|
323
|
+
**📊 Ranking Puntuado** — Los resultados se clasifican por relevancia (30%) + recencia (25%) + frecuencia (18%) + confianza (17%) + impacto de recuperación (10%).
|
|
322
324
|
|
|
323
325
|
**🔄 Evolución del Conocimiento** — Las decisiones cambian. `forget` archiva memorias antiguas (nunca borra). Las relaciones `supersedes` vinculan antiguas → nuevas. Tu IA siempre ve la versión más reciente.
|
|
324
326
|
|
|
325
327
|
**⚠️ Detección de Conflictos** — Si tienes dos memorias que se contradicen, MeMesh te advierte.
|
|
326
328
|
|
|
327
|
-
**🕸️ Conectividad del grafo de conocimiento** — `memesh kg backfill-relations --all-rules` vincula entidades huérfanas mediante co-ocurrencia de etiquetas, agrupación de proyectos, contexto de sesión y similitud de nombres — sin LLM.
|
|
329
|
+
**🕸️ Conectividad del grafo de conocimiento** — `memesh kg backfill-relations --all-rules` vincula entidades huérfanas mediante co-ocurrencia de etiquetas, agrupación de proyectos, contexto de sesión y similitud de nombres — sin LLM.
|
|
328
330
|
|
|
329
331
|
**📦 Compartir en Equipo** — `memesh export > team-knowledge.json` → comparte con tu equipo → `memesh import team-knowledge.json`
|
|
330
332
|
Los bundles importados permanecen buscables, pero MeMesh no inyecta automáticamente memorias importadas en hooks de Claude hasta que las revises o las guardes localmente de nuevo.
|
|
@@ -346,7 +348,7 @@ Los bundles importados permanecen buscables, pero MeMesh no inyecta automáticam
|
|
|
346
348
|
|
|
347
349
|
## Desbloquea Modo Inteligente (Opcional)
|
|
348
350
|
|
|
349
|
-
MeMesh funciona sin conexión por defecto — el recall permanece estrictamente sin LLM (95.
|
|
351
|
+
MeMesh funciona sin conexión por defecto — el recall permanece estrictamente sin LLM (95.60% R@5 en LongMemEval-S de fábrica). Añade una clave API de LLM solo si quieres flujos de análisis aumentados por LLM encima: extracción de sesión más inteligente, auto-etiquetado de nuevas memorias, generación de lecciones a partir de fallos, y compresión `dream`:
|
|
350
352
|
|
|
351
353
|
```bash
|
|
352
354
|
memesh config set llm.provider anthropic
|
|
@@ -372,11 +374,11 @@ El embedder se configura **independientemente del LLM de chat** — cambiar `llm
|
|
|
372
374
|
|
|
373
375
|
| | Nivel 0 (por defecto) | Nivel 1 (Modo Inteligente) |
|
|
374
376
|
|---|---|---|
|
|
375
|
-
| **Búsqueda** | FTS5 + sqlite-vec, 95.
|
|
377
|
+
| **Búsqueda** | FTS5 + sqlite-vec, 95.60% R@5 | sin cambios — el recall es sin LLM en cada nivel |
|
|
376
378
|
| **Auto-capture** | Patrones basados en reglas | + LLM extrae decisiones y lecciones |
|
|
377
379
|
| **Auto-etiquetado** | Solo etiquetas manuales | + LLM genera etiquetas para nuevas memorias |
|
|
378
380
|
| **Análisis de fallos** | No disponible | + LLM convierte errores de sesión en lecciones estructuradas |
|
|
379
|
-
| **Compresión** | No disponible | `
|
|
381
|
+
| **Compresión** | No disponible | `dream` comprimen memorias verbosas |
|
|
380
382
|
| **Costo** | Gratis, sin clave API | ~$0.0001 por llamada de análisis (Haiku) |
|
|
381
383
|
|
|
382
384
|
---
|
|
@@ -386,9 +388,8 @@ El embedder se configura **independientemente del LLM de chat** — cambiar `llm
|
|
|
386
388
|
| Herramienta | Qué hace |
|
|
387
389
|
|---|---|
|
|
388
390
|
| `remember` | Guardar conocimiento con observaciones, relaciones y etiquetas |
|
|
389
|
-
| `recall` | Búsqueda FTS5 + sqlite-vec con scoring multifactor (relevancia, recencia, frecuencia, confianza,
|
|
391
|
+
| `recall` | Búsqueda FTS5 + sqlite-vec con scoring multifactor (relevancia, recencia, frecuencia, confianza, impacto de recuperación) — sin LLM en la ruta caliente |
|
|
390
392
|
| `forget` | Archivo suave (nunca borra) o elimina observaciones específicas |
|
|
391
|
-
| `consolidate` | Compresión impulsada por LLM de memorias verbosas |
|
|
392
393
|
| `export` | Compartir memorias como JSON entre proyectos o miembros del equipo |
|
|
393
394
|
| `import` | Importar memorias con estrategias de fusión (skip / overwrite / append) |
|
|
394
395
|
| `learn` | Registrar lecciones estructuradas de errores (error, causa raíz, corrección, prevención) |
|
|
@@ -452,7 +453,7 @@ Al inicio de sesión aparece un banner de una línea (limitado a una vez cada 24
|
|
|
452
453
|
```bash
|
|
453
454
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
454
455
|
cd memesh-llm-memory && npm install && npm run build
|
|
455
|
-
npm test
|
|
456
|
+
npm test
|
|
456
457
|
npm run test:e2e-dashboard
|
|
457
458
|
```
|
|
458
459
|
|
package/README.fr.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%
|
|
12
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
14
|
</p>
|
|
15
15
|
</p>
|
|
@@ -29,13 +29,13 @@ Ce package constitue la couche de mémoire locale de la famille de produits MeMe
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## Preuve — 95,
|
|
32
|
+
## Preuve — 95,60 % R@5 sur LongMemEval-S
|
|
33
33
|
|
|
34
34
|
Le moteur de récupération de MeMesh utilise **FTS5 seul** (pas de LLM, pas d'embeddings sur le chemin chaud), mesuré sur le benchmark public [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 questions, licence MIT) :
|
|
35
35
|
|
|
36
36
|
| Système | R@5 | Source |
|
|
37
37
|
|---|---|---|
|
|
38
|
-
| **MeMesh (Mode A,
|
|
38
|
+
| **MeMesh (Mode A, via `recallEnhanced()`)** | **95,60 %** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
39
39
|
| MemPalace | 96,6 % | Auto-déclaration de l'éditeur |
|
|
40
40
|
| Supermemory | ~82 % | Estimation de l'éditeur |
|
|
41
41
|
| Zep | 63,8 % | Article LongMemEval |
|
|
@@ -173,7 +173,7 @@ memesh
|
|
|
173
173
|
| **Un développeur utilisant Claude Code** | Rappeler automatiquement les décisions du projet, les leçons spécifiques aux fichiers et les échecs passés au fur et à mesure du travail |
|
|
174
174
|
| **Un utilisateur avancé d'agent de codage** | Partager une couche de mémoire locale unique sur les outils compatibles MCP |
|
|
175
175
|
| **Une équipe expérimentant les workflows de codage IA** | Exporter/importer les connaissances du projet sans infrastructure hébergée |
|
|
176
|
-
| **Un développeur d'agent** | Ajouter la mémoire locale via MCP, HTTP
|
|
176
|
+
| **Un développeur d'agent** | Ajouter la mémoire locale via MCP, HTTP ou la CLI |
|
|
177
177
|
|
|
178
178
|
---
|
|
179
179
|
|
|
@@ -258,7 +258,7 @@ Toute la configuration passe par des variables d'environnement. Les valeurs par
|
|
|
258
258
|
|---|---|---|
|
|
259
259
|
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Remplace l'emplacement de la base SQLite. |
|
|
260
260
|
| `MEMESH_AUTO_CAPTURE` | `true` | Désactive entièrement les hooks d'auto-capture (`Stop`, `PreCompact`). |
|
|
261
|
-
| `MEMESH_AUTO_DETECT_LLM` | non défini (détection auto **activée**) | Mettre à `0` pour empêcher memesh d'utiliser une clé API trouvée dans l'environnement du shell. Par défaut, si `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` est définie et qu'aucun fournisseur n'est configuré dans `~/.memesh/config.json`, memesh l'utilise pour les fonctions LLM d'écriture (
|
|
261
|
+
| `MEMESH_AUTO_DETECT_LLM` | non défini (détection auto **activée**) | Mettre à `0` pour empêcher memesh d'utiliser une clé API trouvée dans l'environnement du shell. Par défaut, si `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` est définie et qu'aucun fournisseur n'est configuré dans `~/.memesh/config.json`, memesh l'utilise pour les fonctions LLM d'écriture (extraction de leçons, auto-tagging, dream). Les embeddings ne sont pas affectés — ils restent en ONNX local (384-dim) sauf si vous définissez explicitement `embedder.provider`. |
|
|
262
262
|
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | non défini | Mettre à `1` pour activer un protocole de modèle de travail expérimental (cadre CTO / Orchestrateur / Agents). Ajoute une bannière en début de session, un nudge sur les commandes Bash et la télémétrie `verify_agent_work`. L'efficacité du protocole est instrumentée mais pas encore prouvée — activez-la si vous souhaitez participer. **Désactivé par défaut** : les fonctionnalités de mémoire principales fonctionnent sans ce flag. |
|
|
263
263
|
| `MEMESH_AUTO_UPDATE` | `off` | Politique de mise à jour automatique. `off` (défaut) ne met jamais à jour automatiquement ; `patch` autorise `X.Y.Z → X.Y.Z+N` ; `minor` ajoute `X.Y.Z → X.Y+1.0` ; `major` autorise tout incrément. Quand c'est permis, un `npm install -g` détaché s'exécute en fin de session (hook Stop) pour ne jamais bloquer votre travail — les résultats arrivent dans `~/.memesh/auto-update.log`. Configurable aussi via `autoUpdate` dans `~/.memesh/config.json` (la variable d'environnement l'emporte). Quand la version installée est dépréciée par les mainteneurs (alerte de sécurité), `patch` est forcé même en `off` — les incréments minor / major restent manuels pour éviter une dérive de comportement silencieuse. |
|
|
264
264
|
| `OPENAI_API_KEY` | non défini | Votre clé OpenAI. Utilisée automatiquement pour les fonctions LLM sauf si vous mettez `MEMESH_AUTO_DETECT_LLM=0` ou configurez un fournisseur explicitement. |
|
|
@@ -291,13 +291,15 @@ Lorsque npm signale une version installée comme dépréciée (typiquement une a
|
|
|
291
291
|
|
|
292
292
|
**🧠 Recherche Intelligente** — Cherchez « sécurité login » et trouvez des mémoires sur « OAuth PKCE ». MeMesh combine FTS5 et la similarité vectorielle sqlite-vec pour trouver des mémoires sémantiquement liées sans LLM sur le chemin chaud.
|
|
293
293
|
|
|
294
|
-
|
|
294
|
+
**🌏 Recherche dans les écritures sans espaces entre les mots** — Le chinois, le japonais, le coréen, le thaï, le lao, le khmer et les katakana demi-chasse sont indexés par paires de caractères qui se chevauchent. Un souvenir écrit 「資料庫遷移前一定要先備份」 se retrouve donc en cherchant 「備份」, et pas seulement par son texte intégral exact. Le texte est normalisé (NFC) à l'écriture comme à la recherche : un souvenir saisi sur macOS ou avec une méthode de saisie coréenne ou vietnamienne se retrouve dans les deux graphies.
|
|
295
|
+
|
|
296
|
+
**📊 Classement Avec Score** — Les résultats sont classés par pertinence (30 %) + récence (25 %) + fréquence (18 %) + confiance (17 %) + impact de rappel (10 %).
|
|
295
297
|
|
|
296
298
|
**🔄 Évolution Des Connaissances** — Les décisions changent. `forget` archive les anciennes mémoires (jamais supprimer). Les relations `supersedes` relient ancien → nouveau. Votre IA voit toujours la version la plus récente.
|
|
297
299
|
|
|
298
300
|
**⚠️ Détection De Conflits** — Si vous avez deux mémoires qui se contredisent, MeMesh vous avertit.
|
|
299
301
|
|
|
300
|
-
**🕸️ Connectivité du graphe de connaissances** — `memesh kg backfill-relations --all-rules` relie les entités orphelines par cooccurrence de tags, clustering de projets, contexte de session et similarité de noms — sans LLM.
|
|
302
|
+
**🕸️ Connectivité du graphe de connaissances** — `memesh kg backfill-relations --all-rules` relie les entités orphelines par cooccurrence de tags, clustering de projets, contexte de session et similarité de noms — sans LLM.
|
|
301
303
|
|
|
302
304
|
**📦 Partage D'Équipe** — `memesh export > team-knowledge.json` → partagez avec votre équipe → `memesh import team-knowledge.json`
|
|
303
305
|
Les bundles importés restent consultables, mais MeMesh n'injecte pas automatiquement les mémoires importées dans les hooks Claude jusqu'à ce que vous les examiniez ou les rémémorisiez localement.
|
|
@@ -319,7 +321,7 @@ Les bundles importés restent consultables, mais MeMesh n'injecte pas automatiqu
|
|
|
319
321
|
|
|
320
322
|
## Déverrouiller Le Mode Smart (Optionnel)
|
|
321
323
|
|
|
322
|
-
MeMesh fonctionne hors ligne par défaut — le rappel reste strictement sans LLM (95,
|
|
324
|
+
MeMesh fonctionne hors ligne par défaut — le rappel reste strictement sans LLM (95,60 % R@5 sur LongMemEval-S dès l'installation). Ajoutez une clé API LLM uniquement si vous voulez des flux d'analyse augmentés par LLM par-dessus : extraction de session plus intelligente, auto-tagging des nouvelles mémoires, génération de leçons depuis les défaillances et compression `dream` :
|
|
323
325
|
|
|
324
326
|
```bash
|
|
325
327
|
memesh config set llm.provider anthropic
|
|
@@ -345,11 +347,11 @@ L'embedder se configure **indépendamment du LLM de chat** — changer `llm.prov
|
|
|
345
347
|
|
|
346
348
|
| | Niveau 0 (défaut) | Niveau 1 (Mode Smart) |
|
|
347
349
|
|---|---|---|
|
|
348
|
-
| **Recherche** | FTS5 + sqlite-vec, 95,
|
|
350
|
+
| **Recherche** | FTS5 + sqlite-vec, 95,60 % R@5 (~4 ms par rappel) | inchangé — le rappel est sans LLM à tous les niveaux |
|
|
349
351
|
| **Auto-capture** | Motifs basés sur les règles | + LLM extrait les décisions & leçons |
|
|
350
352
|
| **Auto-tagging** | Tags manuels uniquement | + LLM génère des tags pour les nouvelles mémoires |
|
|
351
353
|
| **Analyse de défaillance** | Indisponible | + LLM convertit les erreurs de session en leçons structurées |
|
|
352
|
-
| **Compression** | Indisponible | `
|
|
354
|
+
| **Compression** | Indisponible | `dream` compressent les mémoires verbeux |
|
|
353
355
|
| **Coût** | Gratuit, aucune clé API | ~$0,0001 par appel d'analyse (Haiku) |
|
|
354
356
|
|
|
355
357
|
---
|
|
@@ -359,9 +361,8 @@ L'embedder se configure **indépendamment du LLM de chat** — changer `llm.prov
|
|
|
359
361
|
| Outil | Ce qu'il fait |
|
|
360
362
|
|---|---|
|
|
361
363
|
| `remember` | Stocker les connaissances avec observations, relations et tags |
|
|
362
|
-
| `recall` | Recherche FTS5 + sqlite-vec avec notation multi-facteurs (pertinence, récence, fréquence, confiance,
|
|
364
|
+
| `recall` | Recherche FTS5 + sqlite-vec avec notation multi-facteurs (pertinence, récence, fréquence, confiance, impact de rappel) — pas de LLM sur le chemin chaud |
|
|
363
365
|
| `forget` | Soft-archivage (jamais supprimer) ou suppression d'observations spécifiques |
|
|
364
|
-
| `consolidate` | Compression des mémoires verbeux alimentée par LLM |
|
|
365
366
|
| `export` | Partager les mémoires au format JSON entre projets ou membres d'équipe |
|
|
366
367
|
| `import` | Importer les mémoires avec stratégies de fusion (skip / overwrite / append) |
|
|
367
368
|
| `learn` | Enregistrer les leçons structurées à partir des erreurs (erreur, cause racine, correctif, prévention) |
|
|
@@ -425,7 +426,7 @@ Au démarrage de session, une bannière sur une ligne s'affiche (limitée à une
|
|
|
425
426
|
```bash
|
|
426
427
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
427
428
|
cd memesh-llm-memory && npm install && npm run build
|
|
428
|
-
npm test
|
|
429
|
+
npm test
|
|
429
430
|
npm run test:e2e-dashboard
|
|
430
431
|
```
|
|
431
432
|
|
package/README.ja.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%
|
|
12
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
14
|
</p>
|
|
15
15
|
</p>
|
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## エビデンス — LongMemEval-S で 95.
|
|
32
|
+
## エビデンス — LongMemEval-S で 95.60% R@5
|
|
33
33
|
|
|
34
34
|
MeMesh の検索エンジンは **FTS5 のみ**(LLM もホットパスのエンベディングも使用しない)で、公開されている [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) ベンチマーク(500 問、MIT ライセンス)で測定された結果です:
|
|
35
35
|
|
|
36
36
|
| システム | R@5 | ソース |
|
|
37
37
|
|---|---|---|
|
|
38
|
-
| **MeMesh (Mode A,
|
|
38
|
+
| **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
39
39
|
| MemPalace | 96.6% | ベンダー自社申告 |
|
|
40
40
|
| Supermemory | ~82% | ベンダー推定値 |
|
|
41
41
|
| Zep | 63.8% | LongMemEval 論文 |
|
|
@@ -200,7 +200,7 @@ memesh
|
|
|
200
200
|
| **Claude Code を使う開発者** | プロジェクト判断、ファイル固有の知見、過去の失敗が自動で呼び出される |
|
|
201
201
|
| **コーディングエージェントのパワーユーザー** | 1 つのローカルメモリレイヤーを MCP 互換ツール全体で共有 |
|
|
202
202
|
| **AI コーディングワークフローを実験中のチーム** | ホステッドインフラを導入せず、プロジェクト知識をエクスポート・インポート |
|
|
203
|
-
| **エージェント開発者** | MCP、HTTP、CLI
|
|
203
|
+
| **エージェント開発者** | MCP、HTTP、CLI 経由でローカルメモリを追加 |
|
|
204
204
|
|
|
205
205
|
---
|
|
206
206
|
|
|
@@ -316,15 +316,17 @@ npm がインストール済みバージョンを非推奨としてフラグし
|
|
|
316
316
|
|
|
317
317
|
## スマート機能
|
|
318
318
|
|
|
319
|
-
**🧠 スマート検索** — 「login security」で検索すると「OAuth PKCE」についてのメモリが見つかります。MeMesh
|
|
319
|
+
**🧠 スマート検索** — 「login security」で検索すると「OAuth PKCE」についてのメモリが見つかります。MeMesh はホットパスで FTS5 + sqlite-vec を使い、LLM を使いません。ベクトル補完により関連する表現にも届きます。
|
|
320
320
|
|
|
321
|
-
|
|
321
|
+
**🌏 分かち書きしない文字体系での検索** — 中国語・日本語・韓国語・タイ語・ラオ語・クメール語・半角カタカナは隣り合う 2 文字の組として索引化されます。そのため「資料庫遷移前一定要先備份」と書いた記憶は、全文を正確に打ち込まなくても「備份」で見つかります。書き込み側と検索側の両方で NFC 正規化を行うので、macOS や韓国語・ベトナム語の IME で入力した記憶もどちらの表記でも見つかります。
|
|
322
|
+
|
|
323
|
+
**📊 スコア付きランキング** — 関連性 (30%) + 新しさ (25%) + 頻度 (18%) + 信頼度 (17%) + リコール影響度 (10%) でランク付け。
|
|
322
324
|
|
|
323
325
|
**🔄 知識の進化** — 判断は変わります。`forget` で古いメモリをアーカイブ (削除されない)。`supersedes` 関係で古い → 新しい をリンク。AI は常に最新版を参照します。
|
|
324
326
|
|
|
325
327
|
**⚠️ 矛盾検出** — 互いに矛盾するメモリが 2 つある場合、MeMesh が警告します。
|
|
326
328
|
|
|
327
|
-
**🕸️ ナレッジグラフ接続性** — `memesh kg backfill-relations --all-rules` はタグの共起・プロジェクトクラスタリング・セッションコンテキスト・名前類似度を使って孤立エンティティをリンク — LLM
|
|
329
|
+
**🕸️ ナレッジグラフ接続性** — `memesh kg backfill-relations --all-rules` はタグの共起・プロジェクトクラスタリング・セッションコンテキスト・名前類似度を使って孤立エンティティをリンク — LLM 不要。
|
|
328
330
|
|
|
329
331
|
**📦 チーム共有** — `memesh export > team-knowledge.json` → チームと共有 → `memesh import team-knowledge.json`。
|
|
330
332
|
インポートされたバンドルは検索可能ですが、MeMesh はレビュー・ローカル再保存まで Claude フックへの自動注入はしません。
|
|
@@ -346,7 +348,7 @@ npm がインストール済みバージョンを非推奨としてフラグし
|
|
|
346
348
|
|
|
347
349
|
## スマートモードをアンロック (オプション)
|
|
348
350
|
|
|
349
|
-
MeMesh はデフォルトでオフライン動作します — リコールは厳密に LLM フリーのまま(箱出し状態で LongMemEval-S 95.
|
|
351
|
+
MeMesh はデフォルトでオフライン動作します — リコールは厳密に LLM フリーのまま(箱出し状態で LongMemEval-S 95.60% R@5)。LLM API キーを追加するのは、その上に LLM 拡張の分析フローを重ねたい場合のみです: より賢いセッション抽出、新規メモリの自動タグ付け、失敗からのレッスン生成、`dream` 圧縮:
|
|
350
352
|
|
|
351
353
|
```bash
|
|
352
354
|
memesh config set llm.provider anthropic
|
|
@@ -372,11 +374,11 @@ memesh config set embedder.model text-embedding-3-small
|
|
|
372
374
|
|
|
373
375
|
| | レベル 0 (デフォルト) | レベル 1 (スマートモード) |
|
|
374
376
|
|---|---|---|
|
|
375
|
-
| **検索** | FTS5 + sqlite-vec、95.
|
|
377
|
+
| **検索** | FTS5 + sqlite-vec、95.60% R@5 | 変更なし — リコールはどのレベルでも LLM フリー |
|
|
376
378
|
| **自動キャプチャ** | ルールベースパターン | + LLM が判断・教訓を抽出 |
|
|
377
379
|
| **自動タグ付け** | 手動タグのみ | + LLM が新規メモリにタグを生成 |
|
|
378
380
|
| **失敗分析** | 利用不可 | + LLM がセッションエラーを構造化教訓に変換 |
|
|
379
|
-
| **圧縮** | 利用不可 | `
|
|
381
|
+
| **圧縮** | 利用不可 | `dream` が冗長メモリを圧縮 |
|
|
380
382
|
| **コスト** | 無料、API キー不要 | 分析呼び出しあたり ~$0.0001(Haiku) |
|
|
381
383
|
|
|
382
384
|
---
|
|
@@ -386,9 +388,8 @@ memesh config set embedder.model text-embedding-3-small
|
|
|
386
388
|
| ツール | 機能 |
|
|
387
389
|
|------|------|
|
|
388
390
|
| `remember` | 観察、関係、タグ付きで知識を保存 |
|
|
389
|
-
| `recall` | FTS5 + sqlite-vec 検索、多要素スコアリング(
|
|
391
|
+
| `recall` | FTS5 + sqlite-vec 検索、多要素スコアリング(関連性、新しさ、頻度、信頼度、リコール影響度) — ホットパスに LLM なし |
|
|
390
392
|
| `forget` | ソフトアーカイブ (削除されない) または特定の観察を削除 |
|
|
391
|
-
| `consolidate` | LLM が冗長メモリを圧縮 |
|
|
392
393
|
| `export` | メモリを JSON でシェア (プロジェクト・チーム間) |
|
|
393
394
|
| `import` | マージ戦略付きメモリインポート (スキップ / 上書き / 追記) |
|
|
394
395
|
| `learn` | ミスから構造化教訓を記録 (エラー、根本原因、修正、予防) |
|
|
@@ -452,7 +453,7 @@ bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.s
|
|
|
452
453
|
```bash
|
|
453
454
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
454
455
|
cd memesh-llm-memory && npm install && npm run build
|
|
455
|
-
npm test
|
|
456
|
+
npm test
|
|
456
457
|
npm run test:e2e-dashboard
|
|
457
458
|
```
|
|
458
459
|
|
package/README.ko.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
|
-
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%
|
|
12
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
14
|
</p>
|
|
15
15
|
</p>
|
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## 검증 — LongMemEval-S에서 R@5 95.
|
|
32
|
+
## 검증 — LongMemEval-S에서 R@5 95.60%
|
|
33
33
|
|
|
34
34
|
MeMesh의 검색 엔진은 **FTS5 단독**(핫 패스에 LLM 없음, 임베딩 없음)이며, 공개 [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) 벤치마크(500개 질문, MIT 라이선스)로 측정되었습니다:
|
|
35
35
|
|
|
36
36
|
| 시스템 | R@5 | 출처 |
|
|
37
37
|
|---|---|---|
|
|
38
|
-
| **MeMesh (Mode A,
|
|
38
|
+
| **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
39
39
|
| MemPalace | 96.6% | 벤더 자체 보고 |
|
|
40
40
|
| Supermemory | ~82% | 벤더 추정치 |
|
|
41
41
|
| Zep | 63.8% | LongMemEval 논문 |
|
|
@@ -200,7 +200,7 @@ memesh
|
|
|
200
200
|
| **Claude Code를 사용 중** | 프로젝트 결정, 파일별 교훈, 과거 실패를 작업 중에 자동으로 회상 |
|
|
201
201
|
| **코딩 에이전트 파워 유저** | MCP 호환 도구 전체에서 하나의 로컬 메모리 레이어 공유 |
|
|
202
202
|
| **팀이 AI 코딩 워크플로우 실험 중** | 호스팅 인프라 도입 없이 프로젝트 지식 내보내기/가져오기 |
|
|
203
|
-
| **에이전트 개발자** | MCP, HTTP, CLI
|
|
203
|
+
| **에이전트 개발자** | MCP, HTTP, CLI를 통해 로컬 메모리 추가 |
|
|
204
204
|
|
|
205
205
|
---
|
|
206
206
|
|
|
@@ -316,15 +316,17 @@ npm이 설치된 버전을 deprecated로 플래그하면(일반적으로 보안
|
|
|
316
316
|
|
|
317
317
|
## 스마트 기능
|
|
318
318
|
|
|
319
|
-
**🧠 스마트 검색** — FTS5 + sqlite-vec를 사용해 모든 메모리에서 즉시 검색. 핫 패스에 LLM이 없어 LongMemEval-S에서 R@5 95.
|
|
319
|
+
**🧠 스마트 검색** — FTS5 + sqlite-vec를 사용해 모든 메모리에서 즉시 검색. 핫 패스에 LLM이 없어 LongMemEval-S에서 R@5 95.60% 달성.
|
|
320
320
|
|
|
321
|
-
|
|
321
|
+
**🌏 띄어쓰기를 하지 않는 문자 검색** — 중국어, 일본어, 한국어, 태국어, 라오어, 크메르어, 반각 가타카나는 인접한 두 글자 묶음으로 색인됩니다. 따라서 「資料庫遷移前一定要先備份」으로 저장한 기억은 전체 문장을 그대로 입력하지 않아도 「備份」으로 찾을 수 있습니다. 저장할 때와 검색할 때 모두 NFC 정규화를 거치므로, macOS나 한국어·베트남어 IME로 입력한 기억도 어느 쪽 표기로든 찾을 수 있습니다.
|
|
322
|
+
|
|
323
|
+
**📊 점수 순위 매김** — 결과는 관련성(30%) + 최근성(25%) + 빈도(18%) + 신뢰도(17%) + 회상 영향(10%)으로 순위 매겨집니다.
|
|
322
324
|
|
|
323
325
|
**🔄 지식 진화** — 결정은 변합니다. `forget`으로 오래된 메모리 보관(절대 삭제 안 함). `supersedes` 관계가 구 → 신을 연결합니다. AI는 항상 최신 버전을 봅니다.
|
|
324
326
|
|
|
325
327
|
**⚠️ 충돌 감지** — 서로 모순되는 메모리 두 개가 있으면 MeMesh가 경고합니다.
|
|
326
328
|
|
|
327
|
-
**🕸️ 지식 그래프 연결성** — `memesh kg backfill-relations --all-rules`는 태그 공동 발생, 프로젝트 클러스터링, 세션 컨텍스트, 이름 유사성을 사용해 고아 엔티티를 연결 — LLM 불필요.
|
|
329
|
+
**🕸️ 지식 그래프 연결성** — `memesh kg backfill-relations --all-rules`는 태그 공동 발생, 프로젝트 클러스터링, 세션 컨텍스트, 이름 유사성을 사용해 고아 엔티티를 연결 — LLM 불필요.
|
|
328
330
|
|
|
329
331
|
**📦 팀 공유** — `memesh export > team-knowledge.json` → 팀과 공유 → `memesh import team-knowledge.json`
|
|
330
332
|
임포트된 번들은 계속 검색 가능하지만, MeMesh는 검토하거나 로컬에 다시 저장할 때까지 Claude 훅에 임포트된 메모리를 자동 주입하지 않습니다.
|
|
@@ -346,7 +348,7 @@ npm이 설치된 버전을 deprecated로 플래그하면(일반적으로 보안
|
|
|
346
348
|
|
|
347
349
|
## 스마트 모드 언락 (선택)
|
|
348
350
|
|
|
349
|
-
MeMesh는 기본적으로 오프라인에서 작동합니다 — 회상은 엄격히 LLM-free로 유지됩니다(기본 설치만으로 LongMemEval-S에서 R@5 95.
|
|
351
|
+
MeMesh는 기본적으로 오프라인에서 작동합니다 — 회상은 엄격히 LLM-free로 유지됩니다(기본 설치만으로 LongMemEval-S에서 R@5 95.60%). LLM API 키는 그 위에 LLM 증강 분석 흐름을 원할 때만 추가합니다: 더 스마트한 세션 추출, 새 메모리의 자동 태그 부여, 실패로부터의 교훈 생성, `dream` 압축:
|
|
350
352
|
|
|
351
353
|
```bash
|
|
352
354
|
memesh config set llm.provider anthropic
|
|
@@ -372,11 +374,11 @@ memesh config set embedder.model text-embedding-3-small
|
|
|
372
374
|
|
|
373
375
|
| | Level 0 (기본) | Level 1 (스마트 모드) |
|
|
374
376
|
|---|---|---|
|
|
375
|
-
| **검색** | FTS5 + sqlite-vec, R@5 95.
|
|
377
|
+
| **검색** | FTS5 + sqlite-vec, R@5 95.60% | 변경 없음 — 회상은 모든 레벨에서 LLM-free |
|
|
376
378
|
| **자동 캡처** | 규칙 기반 패턴 | + LLM이 결정과 교훈 추출 |
|
|
377
379
|
| **자동 태그 부여** | 수동 태그만 | + LLM이 새 메모리에 태그 생성 |
|
|
378
380
|
| **실패 분석** | 사용 불가 | + LLM이 세션 에러를 구조화된 교훈으로 변환 |
|
|
379
|
-
| **압축** | 사용 불가 | `
|
|
381
|
+
| **압축** | 사용 불가 | `dream`이 장황한 메모리 압축 |
|
|
380
382
|
| **비용** | 무료, API 키 불필요 | ~$0.0001 분석 호출당 (Haiku) |
|
|
381
383
|
|
|
382
384
|
---
|
|
@@ -386,9 +388,8 @@ memesh config set embedder.model text-embedding-3-small
|
|
|
386
388
|
| 도구 | 역할 |
|
|
387
389
|
|---|---|
|
|
388
390
|
| `remember` | 관찰, 관계, 태그를 포함한 지식 저장 |
|
|
389
|
-
| `recall` | 다중 요소 점수 매김(관련성, 최근성, 빈도, 신뢰도,
|
|
391
|
+
| `recall` | 다중 요소 점수 매김(관련성, 최근성, 빈도, 신뢰도, 회상 영향)이 있는 FTS5 + sqlite-vec 검색 — 핫 패스에 LLM 없음 |
|
|
390
392
|
| `forget` | 소프트 보관(절대 삭제 안 함) 또는 특정 관찰 제거 |
|
|
391
|
-
| `consolidate` | LLM 기반 장황한 메모리 압축 |
|
|
392
393
|
| `export` | 프로젝트나 팀 멤버 간 메모리 JSON 공유 |
|
|
393
394
|
| `import` | 병합 전략(스킵/덮어쓰기/추가)이 있는 메모리 임포트 |
|
|
394
395
|
| `learn` | 실수로부터 구조화된 교훈 기록(에러, 근본 원인, 수정, 예방) |
|
|
@@ -452,7 +453,7 @@ bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.s
|
|
|
452
453
|
```bash
|
|
453
454
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
454
455
|
cd memesh-llm-memory && npm install && npm run build
|
|
455
|
-
npm test
|
|
456
|
+
npm test
|
|
456
457
|
npm run test:e2e-dashboard
|
|
457
458
|
```
|
|
458
459
|
|