@pcircle/memesh 4.4.0 → 4.5.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.
Files changed (85) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.de.md +31 -8
  4. package/README.es.md +9 -5
  5. package/README.fr.md +29 -6
  6. package/README.ja.md +9 -5
  7. package/README.ko.md +10 -6
  8. package/README.md +14 -7
  9. package/README.pt.md +28 -5
  10. package/README.th.md +14 -4
  11. package/README.vi.md +30 -7
  12. package/README.zh-CN.md +10 -6
  13. package/README.zh-TW.md +10 -6
  14. package/dashboard/dist/index.html +10 -10
  15. package/dist/cli/view-live.js +1 -1
  16. package/dist/core/analytics.d.ts +4 -0
  17. package/dist/core/analytics.d.ts.map +1 -1
  18. package/dist/core/analytics.js +8 -8
  19. package/dist/core/analytics.js.map +1 -1
  20. package/dist/core/auto-tagger.d.ts.map +1 -1
  21. package/dist/core/auto-tagger.js.map +1 -1
  22. package/dist/core/config.d.ts +5 -2
  23. package/dist/core/config.d.ts.map +1 -1
  24. package/dist/core/config.js +28 -13
  25. package/dist/core/config.js.map +1 -1
  26. package/dist/core/digest-validator.d.ts.map +1 -1
  27. package/dist/core/digest-validator.js +3 -1
  28. package/dist/core/digest-validator.js.map +1 -1
  29. package/dist/core/doctor.d.ts +2 -0
  30. package/dist/core/doctor.d.ts.map +1 -1
  31. package/dist/core/doctor.js +70 -60
  32. package/dist/core/doctor.js.map +1 -1
  33. package/dist/core/dreamer.d.ts +21 -1
  34. package/dist/core/dreamer.d.ts.map +1 -1
  35. package/dist/core/dreamer.js +86 -8
  36. package/dist/core/dreamer.js.map +1 -1
  37. package/dist/core/embedder.d.ts +1 -4
  38. package/dist/core/embedder.d.ts.map +1 -1
  39. package/dist/core/embedder.js +5 -95
  40. package/dist/core/embedder.js.map +1 -1
  41. package/dist/core/failure-analyzer.d.ts.map +1 -1
  42. package/dist/core/failure-analyzer.js +2 -1
  43. package/dist/core/failure-analyzer.js.map +1 -1
  44. package/dist/core/llm-client.d.ts.map +1 -1
  45. package/dist/core/llm-client.js.map +1 -1
  46. package/dist/core/llm-validator.d.ts +1 -0
  47. package/dist/core/llm-validator.d.ts.map +1 -1
  48. package/dist/core/llm-validator.js +33 -10
  49. package/dist/core/llm-validator.js.map +1 -1
  50. package/dist/core/operations.js +1 -1
  51. package/dist/core/operations.js.map +1 -1
  52. package/dist/core/output-language.d.ts +6 -0
  53. package/dist/core/output-language.d.ts.map +1 -0
  54. package/dist/core/output-language.js +25 -0
  55. package/dist/core/output-language.js.map +1 -0
  56. package/dist/core/patterns.d.ts +0 -1
  57. package/dist/core/patterns.d.ts.map +1 -1
  58. package/dist/core/patterns.js +1 -5
  59. package/dist/core/patterns.js.map +1 -1
  60. package/dist/core/transcript-extractor.d.ts +89 -0
  61. package/dist/core/transcript-extractor.d.ts.map +1 -0
  62. package/dist/core/transcript-extractor.js +437 -0
  63. package/dist/core/transcript-extractor.js.map +1 -0
  64. package/dist/core/transcript-source.d.ts +21 -0
  65. package/dist/core/transcript-source.d.ts.map +1 -0
  66. package/dist/core/transcript-source.js +142 -0
  67. package/dist/core/transcript-source.js.map +1 -0
  68. package/dist/core/types.d.ts.map +1 -1
  69. package/dist/db.d.ts.map +1 -1
  70. package/dist/db.js +10 -0
  71. package/dist/db.js.map +1 -1
  72. package/dist/skills-manifest.json +4 -4
  73. package/dist/transports/cli/cli.d.ts.map +1 -1
  74. package/dist/transports/cli/cli.js +153 -8
  75. package/dist/transports/cli/cli.js.map +1 -1
  76. package/dist/transports/http/server.d.ts +7 -0
  77. package/dist/transports/http/server.d.ts.map +1 -1
  78. package/dist/transports/http/server.js +117 -50
  79. package/dist/transports/http/server.js.map +1 -1
  80. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  81. package/dist/transports/mcp/handlers.js +2 -1
  82. package/dist/transports/mcp/handlers.js.map +1 -1
  83. package/package.json +1 -10
  84. package/skills/agentic-orchestration/SKILL.md +1 -1
  85. package/skills/memesh/SKILL.md +2 -0
@@ -8,7 +8,7 @@
8
8
  "name": "memesh",
9
9
  "source": "./",
10
10
  "description": "MeMesh — Local memory for Claude Code and MCP coding agents. One SQLite file, zero cloud required.",
11
- "version": "4.4.0",
11
+ "version": "4.5.0",
12
12
  "author": {
13
13
  "name": "PCIRCLE AI"
14
14
  },
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "PCIRCLE AI"
6
6
  },
7
- "version": "4.4.0",
7
+ "version": "4.5.0",
8
8
  "homepage": "https://pcircle.com/memesh-llm-memory",
9
9
  "repository": "https://github.com/PCIRCLE-AI/memesh-llm-memory",
10
10
  "license": "MIT",
package/README.de.md CHANGED
@@ -29,7 +29,7 @@ Dieses Paket ist die lokale Speicherschicht der MeMesh-Produktfamilie. Es ist be
29
29
 
30
30
  ---
31
31
 
32
- ## Proof — 95.60% R@5 on LongMemEval-S
32
+ ## Beleg — 95.60% R@5 auf 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
 
@@ -108,7 +108,20 @@ Wenn du memesh nur im Claude-Code-Chat verwendest (nie `memesh` im Terminal tipp
108
108
 
109
109
  ## In 60 Sekunden starten
110
110
 
111
- ### Schritt 1: Installation
111
+ ### Option A — Claude-Code-Plugin (Installation in einer Zeile)
112
+
113
+ Wenn Sie Claude Code nutzen, installieren Sie MeMesh als Plugin direkt in der CLI:
114
+
115
+ ```
116
+ /plugin marketplace add PCIRCLE-AI/memesh-llm-memory
117
+ /plugin install memesh@pcircle-memesh
118
+ ```
119
+
120
+ Claude Code verdrahtet Hooks, Skills und den MCP-Server automatisch. Sie erhalten Auto-Capture in der Session, proaktives Recall, den `/memesh`-Skill in der Unterhaltung und `remember` / `recall` / `forget` / `learn` als MCP-Tools für den Agenten.
121
+
122
+ ### Option B — npm global (optionale Optimierung)
123
+
124
+ Wenn Sie das Binary direkt im `PATH` möchten (damit `memesh` in jedem Terminal ohne `npx`-Verzögerung läuft) oder `memesh-mcp` als stdio-Befehl mit festem Pfad für MCP-Clients außerhalb von Claude Code (Cursor, Cline) bereitstellen wollen:
112
125
 
113
126
  ```bash
114
127
  npm install -g @pcircle/memesh
@@ -127,6 +140,12 @@ Die Hooks existieren neben Ihren bestehenden Custom-Hooks unter `~/.claude/hooks
127
140
 
128
141
  ### Schritt 2: Entscheidung speichern
129
142
 
143
+ ```bash
144
+ memesh remember "Use OAuth 2.0 with PKCE for the new auth"
145
+ ```
146
+
147
+ Oder nutzen Sie die explizite Form, wenn Sie einen stabilen Namen und Typ zum späteren Filtern möchten:
148
+
130
149
  ```bash
131
150
  memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
132
151
  ```
@@ -249,7 +268,7 @@ Sie müssen nicht manuell alles speichern. MeMesh verfügt über **6 Hooks**, di
249
268
 
250
269
  ---
251
270
 
252
- ## Configuration
271
+ ## Konfiguration
253
272
 
254
273
  Die gesamte Konfiguration erfolgt über Umgebungsvariablen. Die Standardwerte sind rein lokal und ohne Netzwerk — Sie müssen nichts setzen, um ein funktionierendes System zu erhalten.
255
274
 
@@ -257,7 +276,7 @@ Die gesamte Konfiguration erfolgt über Umgebungsvariablen. Die Standardwerte si
257
276
  |---|---|---|
258
277
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Überschreibt den Speicherort der SQLite-Datenbank. |
259
278
  | `MEMESH_AUTO_CAPTURE` | `true` | Deaktiviert die Auto-Capture-Hooks (`Stop`, `PreCompact`) vollständig. |
260
- | `MEMESH_AUTO_DETECT_LLM` | nicht gesetzt (Auto-Erkennung **an**) | Auf `0` setzen, damit memesh einen im Shell-Environment gefundenen API-Schlüssel NICHT verwendet. Standardmäßig nutzt memesh einen gesetzten `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` für schreibseitige LLM-Funktionen (Konsolidierung, Lesson-Extraktion, Auto-Tagging, Dream), sofern in `~/.memesh/config.json` kein Provider konfiguriert ist. Embeddings sind nicht betroffen — sie bleiben lokal ONNX (384-dim), außer du setzt `embedder.provider` explizit. |
279
+ | `MEMESH_AUTO_DETECT_LLM` | nicht gesetzt (Auto-Erkennung **an**) | Auf `0` setzen, damit memesh einen im Shell-Environment gefundenen API-Schlüssel NICHT verwendet. Standardmäßig nutzt memesh einen gesetzten `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` für schreibseitige LLM-Funktionen (Konsolidierung, Lesson-Extraktion, Auto-Tagging, Dream), sofern in `~/.memesh/config.json` kein Provider konfiguriert ist. Embeddings sind nicht betroffen — sie bleiben Keyword-only (FTS5), außer du setzt `embedder.provider` explizit auf `ollama` oder `openai`. |
261
280
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | nicht gesetzt | Auf `1` setzen, um ein experimentelles Working-Model-Protokoll zu aktivieren (CTO / Orchestrator / Agents-Framing). Fügt ein Session-Start-Banner, einen Bash-Befehls-Nudge und `verify_agent_work`-Telemetrie hinzu. Die Wirksamkeit des Protokolls wird derzeit instrumentiert, ist aber noch nicht erwiesen — Opt-in, falls Sie teilnehmen möchten. **Standard ist OFF**: Die Kern-Memory-Funktionen arbeiten ohne dieses Flag. |
262
281
  | `MEMESH_AUTO_UPDATE` | `off` | Auto-Update-Richtlinie. `off` (Standard) aktualisiert nie automatisch; `patch` erlaubt `X.Y.Z → X.Y.Z+N`; `minor` ergänzt `X.Y.Z → X.Y+1.0`; `major` erlaubt jedes Bump. Wenn zugelassen, läuft am Session-Ende (Stop-Hook) ein abgekoppeltes `npm install -g`, sodass es Ihre Arbeit nie blockiert — Ergebnisse landen in `~/.memesh/auto-update.log`. Ebenfalls als `autoUpdate` in `~/.memesh/config.json` setzbar (Env hat Vorrang). Wenn die installierte Version von den Maintainern als veraltet markiert wird (Sicherheitswarnung), wird `patch` auch bei `off` erzwungen erlaubt — Minor- / Major-Bumps bleiben manuell, um stille Verhaltensänderungen zu vermeiden. |
263
282
  | `OPENAI_API_KEY` | nicht gesetzt | Dein OpenAI-Schlüssel. Wird automatisch für LLM-Funktionen genutzt, außer du setzt `MEMESH_AUTO_DETECT_LLM=0` oder konfigurierst einen Provider explizit. |
@@ -265,6 +284,8 @@ Die gesamte Konfiguration erfolgt über Umgebungsvariablen. Die Standardwerte si
265
284
 
266
285
  `memesh doctor` gibt die aufgelöste Konfiguration aus, sodass Sie sehen, was aktiv ist.
267
286
 
287
+ **Fallback-LLM-Anbieter (Smart Mode).** Im Dashboard unter **Settings → „Fallback providers“** legen Sie eine geordnete Failover-Kette fest — memesh probiert die Anbieter der Reihe nach, wenn Ihr primärer ausfällt. Fügen Sie einen lokalen [Ollama](https://ollama.com)-Fallback hinzu oder einen Cloud-Anbieter (OpenAI / Anthropic, mit API-Key). Datenschutz-Kompromiss: Wird ein Cloud-Fallback genutzt, wird Speicher-Text — der privat sein kann — an diesen Anbieter gesendet; das ist wichtig, wenn Sie aus Datenschutzgründen nur lokal arbeiten.
288
+
268
289
  Wenn npm eine installierte Version als veraltet kennzeichnet (typischerweise eine Sicherheitswarnung), stellt der nächste Session-Start ein deutliches `⚠️ MeMesh <ver> is DEPRECATED`-Banner voran und `memesh update-status` zeigt dieselbe Zeile, bis Sie aktualisiert haben. Die Prüfung wird unter `~/.memesh/update-check.<version>.json` zwischengespeichert, sodass ein vorübergehender Netzwerkfehler die Warnung nicht abschwächen kann.
269
290
 
270
291
  ---
@@ -333,20 +354,22 @@ Oder nutzen Sie den Dashboard-Settings-Reiter (visuelles Setup):
333
354
  memesh serve # öffnet Dashboard → Settings-Reiter
334
355
  ```
335
356
 
357
+ **Frühere Sitzungen zu Speicher machen.** `memesh dream run --from-transcripts` liest die Claude-Code-Sitzungsprotokolle dieses Projekts, fragt das LLM nach den in der Unterhaltung verborgenen Entscheidungen und Lektionen und legt sie als Vorschläge ab — nichts landet automatisch in Ihrem Graphen. Prüfen Sie jeden mit `memesh dream show <id>` und akzeptieren Sie die, die es wert sind.
358
+
336
359
  ### Eigene Embeddings verwenden (optional)
337
360
 
338
- Embeddings nutzen standardmäßig ein lokales ONNX-Modell (`Xenova/all-MiniLM-L6-v2`, 384-dim) — kein API-Schlüssel, nichts verlässt deinen Rechner, und der Standard-FTS5-Recall braucht sie gar nicht. Um stattdessen einen gehosteten oder lokalen Embedder zu nutzen:
361
+ Standardmäßig macht MeMesh reines Keyword-Recall (FTS5) — kein API-Schlüssel, kein Modell-Download, nichts verlässt deinen Rechner. Semantische (bedeutungsbasierte) Suche ist optional und braucht einen Embedder. Richte einen ein:
339
362
 
340
363
  ```bash
341
364
  memesh config set embedder.provider openai # or: ollama
342
365
  memesh config set embedder.model text-embedding-3-small
343
366
  ```
344
367
 
345
- Der Embedder wird **unabhängig vom Chat-LLM** konfiguriert — `llm.provider` zu ändern ändert nie stillschweigend deine Embeddings. Wechselst du zu einer anderen Dimension (z. B. 384 → 1536), baut MeMesh den Vektorindex beim nächsten Schreibvorgang automatisch neu auf. Unterstützte `embedder.provider`-Werte: `onnx` (Standard, lokal), `openai`, `ollama`.
368
+ Der Embedder wird **unabhängig vom Chat-LLM** konfiguriert — `llm.provider` zu ändern ändert nie stillschweigend deine Embeddings. Wechselst du zu einer anderen Dimension (z. B. 768 → 1536), baut MeMesh den Vektorindex beim nächsten Schreibvorgang automatisch neu auf. Unterstützte `embedder.provider`-Werte: `ollama` (lokal), `openai` (gehostet). Ohne Einstellung bleibt das Recall bei der Keyword-Suche.
346
369
 
347
370
  | | Stufe 0 (Standard) | Stufe 1 (Smart Mode) |
348
371
  |---|---|---|
349
- | **Search** | FTS5 + sqlite-vec, 95,60 % R@5 (~4 ms pro Recall) | unverändert — Recall ist auf jeder Stufe LLM-frei |
372
+ | **Suche** | FTS5 + sqlite-vec, 95,60 % R@5 | unverändert — Recall ist auf jeder Stufe LLM-frei |
350
373
  | **Auto-Capture** | Regelbasierte Muster | + LLM extrahiert Entscheidungen & Lektionen |
351
374
  | **Auto-Tagging** | Nur manuelle Tags | + LLM generiert Tags für neue Memories |
352
375
  | **Fehleranalyse** | Nicht verfügbar | + LLM wandelt Session-Fehler in strukturierte Lektionen um |
@@ -355,7 +378,7 @@ Der Embedder wird **unabhängig vom Chat-LLM** konfiguriert — `llm.provider` z
355
378
 
356
379
  ---
357
380
 
358
- ## Alle 9 Memory-Tools
381
+ ## Alle 8 Memory-Tools
359
382
 
360
383
  | Tool | Was es tut |
361
384
  |------|-------------|
package/README.es.md CHANGED
@@ -129,7 +129,7 @@ npm install -g @pcircle/memesh
129
129
 
130
130
  > **Notas de primera instalación (única vez):**
131
131
  > - **Módulos nativos** — `better-sqlite3` y `sqlite-vec` se instalan mediante binarios precompilados en macOS (arm64/x64), Linux (x64/arm64) y Windows x64. En plataformas poco comunes o cuando los precompilados fallan, necesitarás un toolchain C/C++ funcional.
132
- > - **Modelo de embedding** — la primera llamada que activa un embedding local (p. ej. `recall` con modo semántico) descarga `Xenova/all-MiniLM-L6-v2` (~80 MB) en `~/.memesh/models/`. Las llamadas subsiguientes son instantáneas. La ruta de recuperación por defecto (FTS5) no requiere esta descarga.
132
+ > - **La búsqueda semántica es opcional** — la ruta de recuperación por defecto es la búsqueda por palabras clave (FTS5), que no necesita modelo ni descarga. La búsqueda por significado necesita un embedder: ejecuta [Ollama](https://ollama.com) en local, o configura un embedder en la nube (ver "Embeddings" más abajo). Sin uno, memesh usa solo búsqueda por palabras clave.
133
133
 
134
134
  ### Paso 1.5: Conecta MeMesh a Claude Code (solo ruta npm)
135
135
 
@@ -285,7 +285,7 @@ Toda la configuración se realiza mediante variables de entorno. Los valores por
285
285
  |---|---|---|
286
286
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Sobrescribe la ubicación de la base de datos SQLite. |
287
287
  | `MEMESH_AUTO_CAPTURE` | `true` | Desactiva por completo los hooks de auto-captura (`Stop`, `PreCompact`). |
288
- | `MEMESH_AUTO_DETECT_LLM` | sin definir (autodetección **activada**) | Ponlo en `0` para que memesh NO use una clave de API encontrada en el entorno del shell. Por defecto, si `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` está definida y no has configurado un proveedor en `~/.memesh/config.json`, memesh la usa para las funciones LLM de escritura (consolidación, extracción de lecciones, autoetiquetado, dream). Los embeddings no se ven afectados — siguen siendo ONNX local (384-dim) salvo que definas `embedder.provider` explícitamente. |
288
+ | `MEMESH_AUTO_DETECT_LLM` | sin definir (autodetección **activada**) | Ponlo en `0` para que memesh NO use una clave de API encontrada en el entorno del shell. Por defecto, si `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` está definida y no has configurado un proveedor en `~/.memesh/config.json`, memesh la usa para las funciones LLM de escritura (consolidación, extracción de lecciones, autoetiquetado, dream). Los embeddings no se ven afectados — siguen siendo solo por palabras clave (FTS5) salvo que definas `embedder.provider` como `ollama` u `openai`. |
289
289
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | sin definir | Establece a `1` para activar un protocolo experimental de modelo de trabajo (encuadre CTO / Orquestador / Agentes). Añade un banner al inicio de sesión, un nudge de comando Bash y telemetría `verify_agent_work`. La efectividad del protocolo se está instrumentando, aún no probada — opta por activarlo si quieres participar. **Por defecto está OFF**: las características de memoria centrales funcionan sin esta flag. |
290
290
  | `MEMESH_AUTO_UPDATE` | `off` | Política de auto-actualización. `off` (por defecto) nunca auto-actualiza; `patch` permite `X.Y.Z → X.Y.Z+N`; `minor` añade `X.Y.Z → X.Y+1.0`; `major` permite cualquier bump. Cuando se permite, un `npm install -g` independiente se dispara al final de la sesión (hook Stop) por lo que nunca bloquea tu trabajo — los resultados aterrizan en `~/.memesh/auto-update.log`. También configurable como `autoUpdate` en `~/.memesh/config.json` (env gana). Cuando los mantenedores deprecan la versión instalada (aviso de seguridad), `patch` se fuerza a permitir incluso en `off` — los bumps minor / major siguen siendo manuales para evitar deriva silenciosa de comportamiento. |
291
291
  | `OPENAI_API_KEY` | sin definir | Tu clave de OpenAI. Se usa automáticamente para las funciones LLM salvo que definas `MEMESH_AUTO_DETECT_LLM=0` o configures un proveedor explícitamente. |
@@ -293,6 +293,8 @@ Toda la configuración se realiza mediante variables de entorno. Los valores por
293
293
 
294
294
  `memesh doctor` imprime la configuración resuelta para que puedas ver qué está activo.
295
295
 
296
+ **Proveedores LLM de respaldo (Smart Mode).** En el dashboard, en **Settings → «Fallback providers»**, puedes definir una cadena de failover ordenada — memesh prueba cada proveedor por turno cuando el principal está caído. Añade un respaldo local [Ollama](https://ollama.com), o uno en la nube (OpenAI / Anthropic, con una API key). Compensación de privacidad: cuando se usa un respaldo en la nube, el texto de memoria — que puede ser privado — se envía a ese proveedor, así que importa si trabajas solo en local por privacidad.
297
+
296
298
  Cuando npm marca una versión instalada como deprecada (típicamente un aviso de seguridad), el siguiente inicio de sesión antepone un fuerte banner `⚠️ MeMesh <ver> is DEPRECATED` y `memesh update-status` muestra la misma línea hasta que actualices. La verificación se cachea en `~/.memesh/update-check.<version>.json` para que un fallo de red transitorio no atenúe la advertencia.
297
299
 
298
300
  ---
@@ -361,16 +363,18 @@ O usa la pestaña Configuración del dashboard (configuración visual):
361
363
  memesh serve # abre dashboard → pestaña Settings
362
364
  ```
363
365
 
366
+ **Extrae memoria de tus sesiones pasadas.** `memesh dream run --from-transcripts` lee las transcripciones de sesión de Claude Code de este proyecto, le pide al LLM las decisiones y lecciones ocultas en la conversación, y las prepara como propuestas — nada entra en tu grafo automáticamente. Revisa cada una con `memesh dream show <id>` y acepta las que valgan la pena.
367
+
364
368
  ### Usa tus propios embeddings (opcional)
365
369
 
366
- Los embeddings usan por defecto un modelo ONNX local (`Xenova/all-MiniLM-L6-v2`, 384-dim) — sin clave de API, nada sale de tu máquina, y el recall FTS5 por defecto ni los necesita. Para usar un embedder alojado o de servidor local:
370
+ Por defecto MeMesh hace recall **solo por palabras clave** (FTS5) — sin clave de API, sin descarga de modelo, nada sale de tu máquina. La búsqueda semántica (por significado) es opcional y necesita un embedder. Configura uno:
367
371
 
368
372
  ```bash
369
373
  memesh config set embedder.provider openai # or: ollama
370
374
  memesh config set embedder.model text-embedding-3-small
371
375
  ```
372
376
 
373
- El embedder se configura **independientemente del LLM de chat** — cambiar `llm.provider` nunca cambia tus embeddings en silencio. Si cambias a una dimensión distinta (p. ej. 384 → 1536), MeMesh reconstruye el índice vectorial automáticamente en la siguiente escritura. Valores de `embedder.provider` soportados: `onnx` (por defecto, local), `openai`, `ollama`.
377
+ El embedder se configura **independientemente del LLM de chat** — cambiar `llm.provider` nunca cambia tus embeddings en silencio. Si cambias a una dimensión distinta (p. ej. 768 → 1536), MeMesh reconstruye el índice vectorial automáticamente en la siguiente escritura. Valores de `embedder.provider` soportados: `ollama` (local), `openai` (en la nube). Sin ninguno, el recall se queda en búsqueda por palabras clave.
374
378
 
375
379
  | | Nivel 0 (por defecto) | Nivel 1 (Modo Inteligente) |
376
380
  |---|---|---|
@@ -383,7 +387,7 @@ El embedder se configura **independientemente del LLM de chat** — cambiar `llm
383
387
 
384
388
  ---
385
389
 
386
- ## Las 9 Herramientas de Memoria
390
+ ## Las 8 Herramientas de Memoria
387
391
 
388
392
  | Herramienta | Qué hace |
389
393
  |---|---|
package/README.fr.md CHANGED
@@ -108,7 +108,20 @@ Si vous utilisez memesh uniquement via le chat Claude Code (jamais `memesh` dans
108
108
 
109
109
  ## Démarrer en 60 Secondes
110
110
 
111
- ### Étape 1 : Installer
111
+ ### Option A Plugin Claude Code (installation en une ligne)
112
+
113
+ Si vous utilisez Claude Code, installez MeMesh comme plugin depuis la CLI :
114
+
115
+ ```
116
+ /plugin marketplace add PCIRCLE-AI/memesh-llm-memory
117
+ /plugin install memesh@pcircle-memesh
118
+ ```
119
+
120
+ Claude Code connecte automatiquement les hooks, les skills et le serveur MCP. Vous obtenez l'auto-capture en session, le rappel proactif, le skill `/memesh` dans la conversation, et `remember` / `recall` / `forget` / `learn` comme outils MCP pour l'agent.
121
+
122
+ ### Option B — npm global (optimisation facultative)
123
+
124
+ Si vous voulez le binaire directement sur votre `PATH` (pour que `memesh` fonctionne dans n'importe quel terminal sans le délai `npx`), ou exposer `memesh-mcp` comme commande stdio à chemin fixe pour des clients MCP hors Claude Code (Cursor, Cline) :
112
125
 
113
126
  ```bash
114
127
  npm install -g @pcircle/memesh
@@ -127,6 +140,12 @@ Ces hooks coexistent avec vos hooks personnalisés dans `~/.claude/hooks/` — `
127
140
 
128
141
  ### Étape 2 : Mémoriser une décision
129
142
 
143
+ ```bash
144
+ memesh remember "Use OAuth 2.0 with PKCE for the new auth"
145
+ ```
146
+
147
+ Ou utilisez la forme explicite quand vous voulez un nom et un type stables pour filtrer plus tard :
148
+
130
149
  ```bash
131
150
  memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
132
151
  ```
@@ -258,7 +277,7 @@ Toute la configuration passe par des variables d'environnement. Les valeurs par
258
277
  |---|---|---|
259
278
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Remplace l'emplacement de la base SQLite. |
260
279
  | `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 (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`. |
280
+ | `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 recherche par mots-clés uniquement (FTS5) sauf si vous définissez `embedder.provider` sur `ollama` ou `openai`. |
262
281
  | `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
282
  | `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
283
  | `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. |
@@ -266,6 +285,8 @@ Toute la configuration passe par des variables d'environnement. Les valeurs par
266
285
 
267
286
  `memesh doctor` affiche la configuration résolue pour que vous puissiez voir ce qui est actif.
268
287
 
288
+ **Fournisseurs LLM de repli (Smart Mode).** Dans le dashboard, sous **Settings → « Fallback providers »**, vous pouvez définir une chaîne de bascule ordonnée — memesh essaie chaque fournisseur à tour de rôle quand votre principal est en panne. Ajoutez un repli local [Ollama](https://ollama.com), ou un repli cloud (OpenAI / Anthropic, avec une clé API). Compromis de confidentialité : quand un repli cloud est utilisé, le texte mémoire — qui peut être privé — est envoyé à ce fournisseur ; cela compte si vous travaillez en local uniquement pour la confidentialité.
289
+
269
290
  Lorsque npm signale une version installée comme dépréciée (typiquement une alerte de sécurité), le prochain démarrage de session ajoute en tête une bannière forte `⚠️ MeMesh <ver> is DEPRECATED` et `memesh update-status` affiche la même ligne jusqu'à la mise à jour. La vérification est mise en cache dans `~/.memesh/update-check.<version>.json` pour qu'une panne réseau transitoire ne puisse pas atténuer l'avertissement.
270
291
 
271
292
  ---
@@ -334,20 +355,22 @@ Ou utilisez l'onglet Settings du tableau de bord (configuration visuelle) :
334
355
  memesh serve # ouvre le tableau de bord → onglet Settings
335
356
  ```
336
357
 
358
+ **Extrayez de la mémoire de vos sessions passées.** `memesh dream run --from-transcripts` lit les transcriptions de session Claude Code de ce projet, demande au LLM les décisions et leçons enfouies dans la conversation, et les met en attente sous forme de propositions — rien n'entre automatiquement dans votre graphe. Examinez chacune avec `memesh dream show <id>` et acceptez celles qui en valent la peine.
359
+
337
360
  ### Utilisez vos propres embeddings (optionnel)
338
361
 
339
- Les embeddings utilisent par défaut un modèle ONNX local (`Xenova/all-MiniLM-L6-v2`, 384-dim) — aucune clé API, rien ne quitte votre machine, et le recall FTS5 par défaut n'en a pas besoin. Pour utiliser un embedder hébergé ou de serveur local :
362
+ Par défaut, MeMesh fait un recall **par mots-clés uniquement** (FTS5) — aucune clé API, aucun téléchargement de modèle, rien ne quitte votre machine. La recherche sémantique (par sens) est optionnelle et nécessite un embedder. Configurez-en un :
340
363
 
341
364
  ```bash
342
365
  memesh config set embedder.provider openai # or: ollama
343
366
  memesh config set embedder.model text-embedding-3-small
344
367
  ```
345
368
 
346
- L'embedder se configure **indépendamment du LLM de chat** — changer `llm.provider` ne change jamais silencieusement vos embeddings. Si vous passez à une dimension différente (p. ex. 384 → 1536), MeMesh reconstruit l'index vectoriel automatiquement à la prochaine écriture. Valeurs `embedder.provider` prises en charge : `onnx` (par défaut, local), `openai`, `ollama`.
369
+ L'embedder se configure **indépendamment du LLM de chat** — changer `llm.provider` ne change jamais silencieusement vos embeddings. Si vous passez à une dimension différente (p. ex. 768 → 1536), MeMesh reconstruit l'index vectoriel automatiquement à la prochaine écriture. Valeurs `embedder.provider` prises en charge : `ollama` (local), `openai` (hébergé). Sans aucun, le recall reste en recherche par mots-clés.
347
370
 
348
371
  | | Niveau 0 (défaut) | Niveau 1 (Mode Smart) |
349
372
  |---|---|---|
350
- | **Recherche** | FTS5 + sqlite-vec, 95,60 % R@5 (~4 ms par rappel) | inchangé — le rappel est sans LLM à tous les niveaux |
373
+ | **Recherche** | FTS5 + sqlite-vec, 95,60 % R@5 | inchangé — le rappel est sans LLM à tous les niveaux |
351
374
  | **Auto-capture** | Motifs basés sur les règles | + LLM extrait les décisions & leçons |
352
375
  | **Auto-tagging** | Tags manuels uniquement | + LLM génère des tags pour les nouvelles mémoires |
353
376
  | **Analyse de défaillance** | Indisponible | + LLM convertit les erreurs de session en leçons structurées |
@@ -356,7 +379,7 @@ L'embedder se configure **indépendamment du LLM de chat** — changer `llm.prov
356
379
 
357
380
  ---
358
381
 
359
- ## Les 9 Outils De Mémoire
382
+ ## Les 8 Outils De Mémoire
360
383
 
361
384
  | Outil | Ce qu'il fait |
362
385
  |---|---|
package/README.ja.md CHANGED
@@ -129,7 +129,7 @@ npm install -g @pcircle/memesh
129
129
 
130
130
  > **初回インストールに関する注意(一度きり):**
131
131
  > - **ネイティブモジュール** — `better-sqlite3` と `sqlite-vec` は macOS (arm64/x64)、Linux (x64/arm64)、Windows x64 でビルド済みバイナリ経由でインストールされます。珍しいプラットフォームやビルド済みバイナリが失敗した場合は、動作する C/C++ ツールチェインが必要です。
132
- > - **エンベディングモデル**ローカルエンベディングをトリガーする最初の呼び出し(例: セマンティックモードでの `recall`) `Xenova/all-MiniLM-L6-v2`(~80 MB) `~/.memesh/models/` にダウンロードされます。以降の呼び出しは即時です。デフォルトの検索パス(FTS5)はこのダウンロードを必要としません。
132
+ > - **セマンティック検索は任意**デフォルトの検索パスはキーワード検索(FTS5)で、モデルもダウンロードも不要です。意味ベースの検索にはエンベダーが必要です: ローカルで [Ollama](https://ollama.com) を動かすか、クラウドのエンベダーを設定してください(下の「エンベディング」参照)。設定がなければ memesh はキーワード検索のみを使います。
133
133
 
134
134
  ### ステップ 1.5: MeMesh を Claude Code に接続(npm パスのみ)
135
135
 
@@ -285,7 +285,7 @@ memesh export-schema \
285
285
  |---|---|---|
286
286
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | SQLite データベースの保存場所を上書き。 |
287
287
  | `MEMESH_AUTO_CAPTURE` | `true` | 自動キャプチャフック(`Stop`、`PreCompact`)を完全に無効化。 |
288
- | `MEMESH_AUTO_DETECT_LLM` | 未設定(自動検出**オン**) | `0` に設定すると、シェル環境で見つかった API キーを memesh が使用しなくなります。デフォルトでは、`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` が設定されていて `~/.memesh/config.json` にプロバイダを構成していない場合、memesh は書き込み側の LLM 機能(統合、レッスン抽出、自動タグ付け、dream)にそれを使用します。エンベディングは影響を受けません — `embedder.provider` を明示的に設定しない限りローカル ONNX(384 次元)のままです。 |
288
+ | `MEMESH_AUTO_DETECT_LLM` | 未設定(自動検出**オン**) | `0` に設定すると、シェル環境で見つかった API キーを memesh が使用しなくなります。デフォルトでは、`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` が設定されていて `~/.memesh/config.json` にプロバイダを構成していない場合、memesh は書き込み側の LLM 機能(統合、レッスン抽出、自動タグ付け、dream)にそれを使用します。エンベディングは影響を受けません — `embedder.provider` `ollama` または `openai` に明示設定しない限りキーワードのみ(FTS5)のままです。 |
289
289
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | 未設定 | `1` に設定すると、実験的なワーキングモデルプロトコル(CTO / Orchestrator / Agents のフレーミング)が有効になります。セッション開始バナー、Bash コマンドの促し、`verify_agent_work` テレメトリが追加されます。プロトコルの有効性は計測中であり、まだ証明されていません — 参加したい場合のみオプトイン。**デフォルトは OFF**: コアメモリ機能はこのフラグなしで動作します。 |
290
290
  | `MEMESH_AUTO_UPDATE` | `off` | 自動更新ポリシー。`off`(デフォルト)は自動更新を行いません。`patch` は `X.Y.Z → X.Y.Z+N` を許可、`minor` は `X.Y.Z → X.Y+1.0` を追加、`major` は任意のバンプを許可。許可されている場合、デタッチ実行された `npm install -g` がセッション終了時(Stop フック)に発火するため作業をブロックしません — 結果は `~/.memesh/auto-update.log` に記録されます。`~/.memesh/config.json` の `autoUpdate` でも設定可能(env が優先)。インストール済みバージョンがメンテナーによって非推奨化された場合(セキュリティアドバイザリ)、`off` でも `patch` は強制的に許可されます — minor / major バンプはサイレントな挙動変化を避けるため手動のままです。 |
291
291
  | `OPENAI_API_KEY` | 未設定 | OpenAI のキー。`MEMESH_AUTO_DETECT_LLM=0` を設定するか、明示的にプロバイダを設定しない限り、LLM 機能で自動的に使用されます。 |
@@ -293,6 +293,8 @@ memesh export-schema \
293
293
 
294
294
  `memesh doctor` は解決された設定を表示するため、何が有効かを確認できます。
295
295
 
296
+ **フォールバック LLM プロバイダー(Smart Mode)。** dashboard の **Settings → 「Fallback providers」** で、順序付きのフェイルオーバーチェーンを設定できます——プライマリのプロバイダーがダウンしたとき、memesh はリストの次のものを順に試します。ローカルの [Ollama](https://ollama.com) フォールバックや、クラウド(OpenAI / Anthropic、API キーが必要)を追加できます。プライバシーのトレードオフ:クラウドのフォールバックが使われると、メモリのテキスト(プライベートなこともあります)がそのプロバイダーに送られます。プライバシーのためにローカルのみで運用している場合は注意してください。
297
+
296
298
  npm がインストール済みバージョンを非推奨としてフラグした場合(典型的にはセキュリティアドバイザリ)、次のセッション開始時に強い `⚠️ MeMesh <ver> is DEPRECATED` バナーが先頭に表示され、`memesh update-status` がアップグレードまで同じ行を表示し続けます。チェックは `~/.memesh/update-check.<version>.json` にキャッシュされ、一時的なネットワーク障害で警告が薄まらないようになっています。
297
299
 
298
300
  ---
@@ -361,16 +363,18 @@ memesh config set llm.api-key sk-ant-...
361
363
  memesh serve # ダッシュボード → Settings タブを開く
362
364
  ```
363
365
 
366
+ **過去のセッションをメモリに掘り起こす。** `memesh dream run --from-transcripts` はこのプロジェクトの Claude Code セッション記録を読み、会話に埋もれた決定や教訓を LLM に尋ね、提案としてステージングします——知識グラフには自動的には入りません。`memesh dream show <id>` で一つずつ確認し、残す価値のあるものを accept してください。
367
+
364
368
  ### 独自のエンベディングを使う(任意)
365
369
 
366
- エンベディングはデフォルトでローカル ONNX モデル(`Xenova/all-MiniLM-L6-v2`、384 次元)を使用します — API キー不要、データは端末外に出ず、デフォルトの FTS5 リコールはそもそも不要です。ホスト型またはローカルサーバーのエンベダーを使うには:
370
+ デフォルトで MeMesh は**キーワードのみ**のリコール(FTS5)を行います — API キー不要、モデルのダウンロード不要、データは端末外に出ません。セマンティック(意味ベース)検索は任意で、エンベダーが必要です。次のいずれかを設定してください:
367
371
 
368
372
  ```bash
369
373
  memesh config set embedder.provider openai # or: ollama
370
374
  memesh config set embedder.model text-embedding-3-small
371
375
  ```
372
376
 
373
- エンベダーは**チャット LLM とは独立して**構成されます — `llm.provider` を変更してもエンベディングが黙って変わることはありません。異なる次元(例: 384 → 1536)に切り替えると、MeMesh は次回の書き込み時にベクトルインデックスを自動的に再構築します。対応する `embedder.provider`: `onnx`(デフォルト、ローカル)、`openai`、`ollama`。
377
+ エンベダーは**チャット LLM とは独立して**構成されます — `llm.provider` を変更してもエンベディングが黙って変わることはありません。異なる次元(例: 768 → 1536)に切り替えると、MeMesh は次回の書き込み時にベクトルインデックスを自動的に再構築します。対応する `embedder.provider`: `ollama`(ローカル)、`openai`(ホスト型)。どちらも未設定ならリコールはキーワード検索のままです。
374
378
 
375
379
  | | レベル 0 (デフォルト) | レベル 1 (スマートモード) |
376
380
  |---|---|---|
@@ -383,7 +387,7 @@ memesh config set embedder.model text-embedding-3-small
383
387
 
384
388
  ---
385
389
 
386
- ## 9 つのメモリツール全覧
390
+ ## 8 つのメモリツール全覧
387
391
 
388
392
  | ツール | 機能 |
389
393
  |------|------|
package/README.ko.md CHANGED
@@ -129,7 +129,7 @@ npm install -g @pcircle/memesh
129
129
 
130
130
  > **첫 설치 안내(일회성):**
131
131
  > - **네이티브 모듈** — `better-sqlite3`와 `sqlite-vec`는 macOS(arm64/x64), Linux(x64/arm64), Windows x64에서 사전 빌드 바이너리로 설치됩니다. 흔치 않은 플랫폼이거나 사전 빌드가 실패하는 경우 작동하는 C/C++ 툴체인이 필요합니다.
132
- > - **임베딩 모델**로컬 임베딩을 트리거하는 호출(예: 시맨틱 모드의 `recall`)이 `Xenova/all-MiniLM-L6-v2`(~80 MB)를 `~/.memesh/models/`에 다운로드합니다. 이후 호출은 즉시 실행됩니다. 기본 검색 경로(FTS5)는 다운로드가 필요하지 않습니다.
132
+ > - **시맨틱 검색은 선택 사항** 기본 검색 경로는 키워드 검색(FTS5)으로, 모델도 다운로드도 필요 없습니다. 의미 기반 검색에는 임베더가 필요합니다: 로컬에서 [Ollama](https://ollama.com)를 실행하거나 클라우드 임베더를 구성하세요(아래 "임베딩" 참조). 없으면 memesh키워드 검색만 사용합니다.
133
133
 
134
134
  ### 1.5단계: MeMesh를 Claude Code에 연결 (npm 경로만)
135
135
 
@@ -285,7 +285,7 @@ memesh export-schema \
285
285
  |---|---|---|
286
286
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | SQLite 데이터베이스 위치를 재정의합니다. |
287
287
  | `MEMESH_AUTO_CAPTURE` | `true` | 자동 캡처 훅(`Stop`, `PreCompact`)을 완전히 비활성화합니다. |
288
- | `MEMESH_AUTO_DETECT_LLM` | 미설정(자동 감지 **켜짐**) | `0`으로 설정하면 memesh가 셸 환경에서 발견한 API 키를 사용하지 않습니다. 기본적으로 `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST`가 설정되어 있고 `~/.memesh/config.json`에 프로바이더를 구성하지 않았다면, memesh는 쓰기 측 LLM 기능(통합, 교훈 추출, 자동 태깅, dream)에 이를 사용합니다. 임베딩은 영향을 받지 않습니다 — `embedder.provider`를 명시적으로 설정하지 않는 한 로컬 ONNX(384차원) 유지됩니다. |
288
+ | `MEMESH_AUTO_DETECT_LLM` | 미설정(자동 감지 **켜짐**) | `0`으로 설정하면 memesh가 셸 환경에서 발견한 API 키를 사용하지 않습니다. 기본적으로 `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST`가 설정되어 있고 `~/.memesh/config.json`에 프로바이더를 구성하지 않았다면, memesh는 쓰기 측 LLM 기능(통합, 교훈 추출, 자동 태깅, dream)에 이를 사용합니다. 임베딩은 영향을 받지 않습니다 — `embedder.provider`를 `ollama` 또는 `openai`로 명시하지 않는 한 키워드 전용(FTS5)으로 유지됩니다. |
289
289
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | unset | `1`로 설정하면 실험적 작업 모델 프로토콜(CTO / Orchestrator / Agents 프레이밍)을 활성화합니다. 세션 시작 배너, Bash 명령 nudge, `verify_agent_work` 텔레메트리를 추가합니다. 이 프로토콜의 효과는 측정 중이며 아직 입증되지 않았습니다 — 참여하려면 옵트인하세요. **기본값은 OFF**: 코어 메모리 기능은 이 플래그 없이도 작동합니다. |
290
290
  | `MEMESH_AUTO_UPDATE` | `off` | 자동 업데이트 정책. `off`(기본값)는 자동 업데이트하지 않습니다; `patch`는 `X.Y.Z → X.Y.Z+N`을 허용합니다; `minor`는 `X.Y.Z → X.Y+1.0`을 추가합니다; `major`는 모든 bump를 허용합니다. 허용된 경우, 분리된 `npm install -g`가 세션 종료 시(Stop 훅) 실행되어 작업을 차단하지 않습니다 — 결과는 `~/.memesh/auto-update.log`에 기록됩니다. `~/.memesh/config.json`에서도 `autoUpdate`로 설정 가능합니다(env가 우선). 설치된 버전이 메인테이너에 의해 deprecated된 경우(보안 권고), `off`에서도 `patch`가 강제 허용됩니다 — minor / major bump는 조용한 동작 변화를 피하기 위해 수동으로 유지됩니다. |
291
291
  | `OPENAI_API_KEY` | 미설정 | OpenAI 키. `MEMESH_AUTO_DETECT_LLM=0`을 설정하거나 프로바이더를 명시적으로 구성하지 않는 한 LLM 기능에 자동으로 사용됩니다. |
@@ -295,6 +295,8 @@ memesh export-schema \
295
295
 
296
296
  npm이 설치된 버전을 deprecated로 플래그하면(일반적으로 보안 권고), 다음 세션 시작 시 강력한 `⚠️ MeMesh <ver> is DEPRECATED` 배너가 앞에 추가되고, 업그레이드할 때까지 `memesh update-status`가 동일한 라인을 표시합니다. 일시적인 네트워크 실패가 경고를 흐리지 않도록 검사가 `~/.memesh/update-check.<version>.json`에 캐시됩니다.
297
297
 
298
+ **폴백 LLM 제공자(Smart Mode).** dashboard의 **Settings → “Fallback providers”**에서 순서가 있는 페일오버 체인을 설정할 수 있습니다 — 기본 제공자가 다운되면 memesh가 목록의 다음 것을 차례로 시도합니다. 로컬 [Ollama](https://ollama.com) 폴백이나 클라우드(OpenAI / Anthropic, API 키 필요)를 추가하세요. 프라이버시 트레이드오프: 클라우드 폴백이 사용되면 메모리 텍스트(비공개일 수 있음)가 해당 제공자로 전송되므로, 프라이버시를 위해 로컬 전용으로 운영한다면 유의하세요.
299
+
298
300
  ---
299
301
 
300
302
  ## 대시보드
@@ -316,7 +318,7 @@ npm이 설치된 버전을 deprecated로 플래그하면(일반적으로 보안
316
318
 
317
319
  ## 스마트 기능
318
320
 
319
- **🧠 스마트 검색** — FTS5 + sqlite-vec사용해 모든 메모리에서 즉시 검색.패스에 LLM이 없어 LongMemEval-S에서 R@5 95.60% 달성.
321
+ **🧠 스마트 검색** — "login security"검색하면 "OAuth PKCE"에 대한 메모리를 찾습니다. MeMesh는 패스에서 FTS5 + sqlite-vec를 사용하며(LLM-free), 벡터 보완이 관련된 표현까지 도달합니다.
320
322
 
321
323
  **🌏 띄어쓰기를 하지 않는 문자 검색** — 중국어, 일본어, 한국어, 태국어, 라오어, 크메르어, 반각 가타카나는 인접한 두 글자 묶음으로 색인됩니다. 따라서 「資料庫遷移前一定要先備份」으로 저장한 기억은 전체 문장을 그대로 입력하지 않아도 「備份」으로 찾을 수 있습니다. 저장할 때와 검색할 때 모두 NFC 정규화를 거치므로, macOS나 한국어·베트남어 IME로 입력한 기억도 어느 쪽 표기로든 찾을 수 있습니다.
322
324
 
@@ -361,16 +363,18 @@ memesh config set llm.api-key sk-ant-...
361
363
  memesh serve # 대시보드 열기 → Settings 탭
362
364
  ```
363
365
 
366
+ **과거 세션을 메모리로 캐내기.** `memesh dream run --from-transcripts`는 이 프로젝트의 Claude Code 세션 기록을 읽고, 대화에 묻힌 결정과 교훈을 LLM에게 물어 제안으로 스테이징합니다 — 지식 그래프에는 자동으로 들어가지 않습니다. `memesh dream show <id>`로 하나씩 검토하고 남길 가치가 있는 것을 accept하세요.
367
+
364
368
  ### 자체 임베딩 사용 (선택)
365
369
 
366
- 임베딩은 기본적으로 로컬 ONNX 모델(`Xenova/all-MiniLM-L6-v2`, 384차원)을 사용합니다 — API 키 불필요, 데이터가 기기를 벗어나지 않으며, 기본 FTS5 리콜은 아예 필요하지 않습니다. 호스팅형 또는 로컬 서버 임베더를 쓰려면:
370
+ 기본적으로 MeMesh는 **키워드 전용** 리콜(FTS5)을 수행합니다 — API 키 불필요, 모델 다운로드 불필요, 데이터가 기기를 벗어나지 않습니다. 시맨틱(의미 기반) 검색은 선택 사항이며 임베더가 필요합니다. 하나를 구성하세요:
367
371
 
368
372
  ```bash
369
373
  memesh config set embedder.provider openai # or: ollama
370
374
  memesh config set embedder.model text-embedding-3-small
371
375
  ```
372
376
 
373
- 임베더는 **채팅 LLM과 독립적으로** 구성됩니다 — `llm.provider`를 바꿔도 임베딩이 조용히 바뀌지 않습니다. 다른 차원(예: 384 → 1536)으로 전환하면 MeMesh가 다음 쓰기 시 벡터 인덱스를 자동으로 재구축합니다. 지원되는 `embedder.provider`: `onnx`(기본, 로컬), `openai`, `ollama`.
377
+ 임베더는 **채팅 LLM과 독립적으로** 구성됩니다 — `llm.provider`를 바꿔도 임베딩이 조용히 바뀌지 않습니다. 다른 차원(예: 768 → 1536)으로 전환하면 MeMesh가 다음 쓰기 시 벡터 인덱스를 자동으로 재구축합니다. 지원되는 `embedder.provider`: `ollama`(로컬), `openai`(호스팅형). 둘 다 없으면 리콜은 키워드 검색으로 유지됩니다.
374
378
 
375
379
  | | Level 0 (기본) | Level 1 (스마트 모드) |
376
380
  |---|---|---|
@@ -383,7 +387,7 @@ memesh config set embedder.model text-embedding-3-small
383
387
 
384
388
  ---
385
389
 
386
- ## 9가지 메모리 도구 전체
390
+ ## 8가지 메모리 도구 전체
387
391
 
388
392
  | 도구 | 역할 |
389
393
  |---|---|
package/README.md CHANGED
@@ -131,7 +131,7 @@ npm install -g @pcircle/memesh
131
131
 
132
132
  > **First-install notes (one-time):**
133
133
  > - **Native modules** — `better-sqlite3` and `sqlite-vec` install via prebuilt binaries on macOS (arm64/x64), Linux (x64/arm64), and Windows x64. On uncommon platforms or when prebuilds fail, you'll need a working C/C++ toolchain.
134
- > - **Embedding model** — the first call that triggers a local embedding (e.g. `recall` with semantic mode) downloads `Xenova/all-MiniLM-L6-v2` (~80 MB) into `~/.memesh/models/`. Subsequent calls are instant. The default retrieval path (FTS5) does not require this download.
134
+ > - **Semantic (meaning-based) search is optional** — the default recall path is FTS5 keyword search, which needs no model and no download. Meaning-based search needs an embedder: run [Ollama](https://ollama.com) locally, or configure a cloud embedder (see "Bring-your-own embeddings" below). Without one, memesh uses keyword search only.
135
135
 
136
136
  ### Step 1.5: Wire MeMesh into Claude Code (npm path only)
137
137
 
@@ -287,7 +287,7 @@ All configuration is via environment variables. Defaults are local-only and zero
287
287
  |---|---|---|
288
288
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Override the SQLite database location. |
289
289
  | `MEMESH_AUTO_CAPTURE` | `true` | Disable the auto-capture hooks (`Stop`, `PreCompact`) entirely. |
290
- | `MEMESH_AUTO_DETECT_LLM` | unset (auto-detect **on**) | Set to `0` to stop memesh using an API key it finds in your shell env. By default, if `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` is set and you have not configured a provider in `~/.memesh/config.json`, memesh uses it for write-side LLM features (lesson extraction, auto-tagging, dream). Embeddings are unaffected — they stay local ONNX (384-dim) unless you explicitly set `embedder.provider`. |
290
+ | `MEMESH_AUTO_DETECT_LLM` | unset (auto-detect **on**) | Set to `0` to stop memesh using an API key it finds in your shell env. By default, if `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` is set and you have not configured a provider in `~/.memesh/config.json`, memesh uses it for write-side LLM features (lesson extraction, auto-tagging, dream). Embeddings are unaffected — they stay keyword-only (FTS5) unless you explicitly set `embedder.provider` to `ollama` or `openai`. |
291
291
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | unset | Set to `1` to enable an experimental working-model protocol (CTO / Orchestrator / Agents framing). Adds a session-start banner, a Bash command nudge, and `verify_agent_work` telemetry. The protocol's effectiveness is being instrumented, not yet proven — opt in if you want to participate. **Default is OFF**: the core memory features work without this flag. |
292
292
  | `MEMESH_AUTO_UPDATE` | `off` | Auto-update policy. `off` (default) never auto-updates; `patch` allows `X.Y.Z → X.Y.Z+N`; `minor` adds `X.Y.Z → X.Y+1.0`; `major` allows any bump. When permitted, a detached `npm install -g` fires at session end (Stop hook) so it never blocks your work — outcomes land in `~/.memesh/auto-update.log`. Also settable as `autoUpdate` in `~/.memesh/config.json` (env wins). When the installed version is deprecated by maintainers (security advisory), `patch` is force-allowed even on `off` — minor / major bumps still stay manual to avoid silent behaviour drift. |
293
293
  | `OPENAI_API_KEY` | unset | Your OpenAI key. Used automatically for LLM features unless you set `MEMESH_AUTO_DETECT_LLM=0` or configure a provider explicitly. |
@@ -295,6 +295,8 @@ All configuration is via environment variables. Defaults are local-only and zero
295
295
 
296
296
  `memesh doctor` prints the resolved configuration so you can see what's active.
297
297
 
298
+ **Fallback LLM providers (Smart Mode).** In the dashboard **Settings → "Fallback providers"** you can set an ordered failover chain — memesh tries each provider in turn when your primary is down. Add a local [Ollama](https://ollama.com) fallback, or a cloud one (OpenAI / Anthropic, with an API key). Privacy tradeoff: when a cloud fallback is used, memory text — which can be private — is sent to that provider, so it matters if you run local-only for privacy.
299
+
298
300
  When npm flags an installed version as deprecated (typically a security advisory), the next session-start prepends a strong `⚠️ MeMesh <ver> is DEPRECATED` banner and `memesh update-status` surfaces the same line until you upgrade. The check is cached at `~/.memesh/update-check.<version>.json` so a transient network failure can't dim the warning.
299
301
 
300
302
  ---
@@ -363,16 +365,21 @@ Or use the dashboard Settings tab (visual setup):
363
365
  memesh serve # opens dashboard → Settings tab
364
366
  ```
365
367
 
366
- ### Bring-your-own embeddings (optional)
368
+ **Mine your past sessions into memory.** `memesh dream run --from-transcripts` reads this project's Claude Code session transcripts, asks the LLM for the decisions and lessons buried in the conversation, and stages them as proposals — nothing enters your graph automatically. Review each with `memesh dream show <id>` and accept the ones worth keeping. To run it on a schedule, enable `memesh config set transcriptMining true` and point a cron/launchd entry at `memesh dream run --from-transcripts --if-due` — it self-throttles (default once every 24h per project) and stays staging-only. See [API_REFERENCE](docs/api/API_REFERENCE.md#memesh-dream).
369
+
370
+ ### Semantic search / embeddings (optional)
367
371
 
368
- Embeddings default to a local ONNX model (`Xenova/all-MiniLM-L6-v2`, 384-dim) — no API key, nothing leaves your machine, and the default FTS5 recall path doesn't need them at all. To use a hosted or local-server embedder instead:
372
+ By default MeMesh does **keyword-only** recall (FTS5) — no API key, no model download, nothing leaves your machine. Semantic (meaning-based) search is opt-in and needs an embedder. Point one of these at it:
369
373
 
370
374
  ```bash
371
- memesh config set embedder.provider openai # or: ollama
375
+ memesh config set embedder.provider ollama # local, needs `ollama serve`
376
+ memesh config set embedder.model nomic-embed-text
377
+ # or, for a hosted embedder:
378
+ memesh config set embedder.provider openai
372
379
  memesh config set embedder.model text-embedding-3-small
373
380
  ```
374
381
 
375
- The embedder is configured **independently of the chat LLM** — changing `llm.provider` never silently changes your embeddings. If you switch to an embedder with a different dimension (e.g. 384 → 1536), MeMesh rebuilds the vector index automatically on the next write. Supported `embedder.provider` values: `onnx` (default, local), `openai`, `ollama`.
382
+ The embedder is configured **independently of the chat LLM** — changing `llm.provider` never silently changes your embeddings. If you switch to an embedder with a different dimension (e.g. 768 → 1536), MeMesh rebuilds the vector index automatically on the next write. Supported `embedder.provider` values: `ollama` (local), `openai` (hosted). With none set, recall stays on keyword search.
376
383
 
377
384
  | | Level 0 (default) | Level 1 (Smart Mode) |
378
385
  |---|---|---|
@@ -385,7 +392,7 @@ The embedder is configured **independently of the chat LLM** — changing `llm.p
385
392
 
386
393
  ---
387
394
 
388
- ## All 9 Memory Tools
395
+ ## All 8 Memory Tools
389
396
 
390
397
  | Tool | What it does |
391
398
  |------|-------------|
package/README.pt.md CHANGED
@@ -108,7 +108,20 @@ Se você só usa memesh pelo chat do Claude Code (nunca digita `memesh` num term
108
108
 
109
109
  ## Comece em 60 Segundos
110
110
 
111
- ### Passo 1: Instale
111
+ ### Opção A — Plugin do Claude Code (instalação em uma linha)
112
+
113
+ Se você usa o Claude Code, instale o MeMesh como plugin de dentro da CLI:
114
+
115
+ ```
116
+ /plugin marketplace add PCIRCLE-AI/memesh-llm-memory
117
+ /plugin install memesh@pcircle-memesh
118
+ ```
119
+
120
+ O Claude Code conecta hooks, skills e o servidor MCP automaticamente. Você ganha auto-captura em sessão, recall proativo, o skill `/memesh` na conversa e `remember` / `recall` / `forget` / `learn` como ferramentas MCP para o agente.
121
+
122
+ ### Opção B — npm global (otimização opcional)
123
+
124
+ Se quiser o binário direto no seu `PATH` (para que `memesh` funcione em qualquer terminal sem o atraso do `npx`), ou expor `memesh-mcp` como comando stdio de caminho fixo para clientes MCP fora do Claude Code (Cursor, Cline):
112
125
 
113
126
  ```bash
114
127
  npm install -g @pcircle/memesh
@@ -127,6 +140,12 @@ Os hooks coexistem com qualquer hook customizado em `~/.claude/hooks/` — `inst
127
140
 
128
141
  ### Passo 2: Armazene uma decisão
129
142
 
143
+ ```bash
144
+ memesh remember "Use OAuth 2.0 with PKCE for the new auth"
145
+ ```
146
+
147
+ Ou use a forma explícita quando quiser um nome e um tipo estáveis para filtrar depois:
148
+
130
149
  ```bash
131
150
  memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
132
151
  ```
@@ -258,7 +277,7 @@ Toda a configuração é feita por variáveis de ambiente. Os padrões são loca
258
277
  |---|---|---|
259
278
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Sobrescreve a localização do banco SQLite. |
260
279
  | `MEMESH_AUTO_CAPTURE` | `true` | Desativa completamente os hooks de auto-captura (`Stop`, `PreCompact`). |
261
- | `MEMESH_AUTO_DETECT_LLM` | não definido (autodetecção **ligada**) | Defina como `0` para que o memesh NÃO use uma chave de API encontrada no ambiente do shell. Por padrão, se `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` estiver definida e você não tiver configurado um provedor em `~/.memesh/config.json`, o memesh a usa para as funções LLM de escrita (consolidação, extração de lições, autotagging, dream). Os embeddings não são afetados — permanecem em ONNX local (384-dim) a menos que você defina `embedder.provider` explicitamente. |
280
+ | `MEMESH_AUTO_DETECT_LLM` | não definido (autodetecção **ligada**) | Defina como `0` para que o memesh NÃO use uma chave de API encontrada no ambiente do shell. Por padrão, se `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` estiver definida e você não tiver configurado um provedor em `~/.memesh/config.json`, o memesh a usa para as funções LLM de escrita (consolidação, extração de lições, autotagging, dream). Os embeddings não são afetados — permanecem apenas por palavras-chave (FTS5) a menos que você defina `embedder.provider` como `ollama` ou `openai`. |
262
281
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | unset | Defina como `1` para habilitar um protocolo experimental de modelo de trabalho (enquadramento CTO / Orchestrator / Agents). Adiciona um banner de início de sessão, um nudge para comandos Bash e telemetria `verify_agent_work`. A eficácia do protocolo está sendo instrumentada, ainda não comprovada — opte se quiser participar. **Padrão é OFF**: as funcionalidades de memória core funcionam sem essa flag. |
263
282
  | `MEMESH_AUTO_UPDATE` | `off` | Política de auto-update. `off` (padrão) nunca faz auto-update; `patch` permite `X.Y.Z → X.Y.Z+N`; `minor` adiciona `X.Y.Z → X.Y+1.0`; `major` permite qualquer bump. Quando permitido, um `npm install -g` desanexado dispara no fim da sessão (hook Stop) para nunca bloquear seu trabalho — os resultados aparecem em `~/.memesh/auto-update.log`. Também configurável como `autoUpdate` em `~/.memesh/config.json` (env vence). Quando a versão instalada é depreciada pelos mantenedores (advisory de segurança), `patch` é forçado mesmo em `off` — bumps minor / major continuam manuais para evitar drift silencioso de comportamento. |
264
283
  | `OPENAI_API_KEY` | não definido | Sua chave da OpenAI. Usada automaticamente para as funções LLM a menos que você defina `MEMESH_AUTO_DETECT_LLM=0` ou configure um provedor explicitamente. |
@@ -266,6 +285,8 @@ Toda a configuração é feita por variáveis de ambiente. Os padrões são loca
266
285
 
267
286
  `memesh doctor` imprime a configuração resolvida para você ver o que está ativo.
268
287
 
288
+ **Provedores LLM de fallback (Smart Mode).** No dashboard, em **Settings → “Fallback providers”**, você pode definir uma cadeia de failover ordenada — o memesh tenta cada provedor por vez quando o principal está fora do ar. Adicione um fallback local [Ollama](https://ollama.com), ou um na nuvem (OpenAI / Anthropic, com uma API key). Compromisso de privacidade: quando um fallback na nuvem é usado, o texto da memória — que pode ser privado — é enviado a esse provedor, o que importa se você roda só local por privacidade.
289
+
269
290
  Quando o npm sinaliza uma versão instalada como depreciada (tipicamente um advisory de segurança), o próximo início de sessão antepõe um banner forte `⚠️ MeMesh <ver> is DEPRECATED` e `memesh update-status` mostra a mesma linha até você atualizar. A verificação fica em cache em `~/.memesh/update-check.<version>.json` para que uma falha de rede transitória não atenue o aviso.
270
291
 
271
292
  ---
@@ -334,16 +355,18 @@ Ou use a aba Settings do dashboard (setup visual):
334
355
  memesh serve # abre dashboard → aba Settings
335
356
  ```
336
357
 
358
+ **Minere memória das suas sessões passadas.** `memesh dream run --from-transcripts` lê as transcrições de sessão do Claude Code deste projeto, pede ao LLM as decisões e lições escondidas na conversa e as prepara como propostas — nada entra no seu grafo automaticamente. Revise cada uma com `memesh dream show <id>` e aceite as que valerem a pena.
359
+
337
360
  ### Use seus próprios embeddings (opcional)
338
361
 
339
- Os embeddings usam por padrão um modelo ONNX local (`Xenova/all-MiniLM-L6-v2`, 384-dim) — sem chave de API, nada sai da sua máquina, e o recall FTS5 padrão nem precisa deles. Para usar um embedder hospedado ou de servidor local:
362
+ Por padrão o MeMesh faz recall **apenas por palavras-chave** (FTS5) — sem chave de API, sem download de modelo, nada sai da sua máquina. A busca semântica (por significado) é opcional e precisa de um embedder. Configure um:
340
363
 
341
364
  ```bash
342
365
  memesh config set embedder.provider openai # or: ollama
343
366
  memesh config set embedder.model text-embedding-3-small
344
367
  ```
345
368
 
346
- O embedder é configurado **independentemente do LLM de chat** — mudar `llm.provider` nunca muda seus embeddings silenciosamente. Se você trocar para uma dimensão diferente (ex.: 384 → 1536), o MeMesh reconstrói o índice vetorial automaticamente na próxima escrita. Valores de `embedder.provider` suportados: `onnx` (padrão, local), `openai`, `ollama`.
369
+ O embedder é configurado **independentemente do LLM de chat** — mudar `llm.provider` nunca muda seus embeddings silenciosamente. Se você trocar para uma dimensão diferente (ex.: 768 → 1536), o MeMesh reconstrói o índice vetorial automaticamente na próxima escrita. Valores de `embedder.provider` suportados: `ollama` (local), `openai` (hospedado). Sem nenhum, o recall permanece na busca por palavras-chave.
347
370
 
348
371
  | | Level 0 (padrão) | Level 1 (Smart Mode) |
349
372
  |---|---|---|
@@ -356,7 +379,7 @@ O embedder é configurado **independentemente do LLM de chat** — mudar `llm.pr
356
379
 
357
380
  ---
358
381
 
359
- ## Todas as 9 Ferramentas de Memória
382
+ ## Todas as 8 Ferramentas de Memória
360
383
 
361
384
  | Ferramenta | O que faz |
362
385
  |------|-------------|