@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.de.md +31 -8
- package/README.es.md +9 -5
- package/README.fr.md +29 -6
- package/README.ja.md +9 -5
- package/README.ko.md +10 -6
- package/README.md +14 -7
- package/README.pt.md +28 -5
- package/README.th.md +14 -4
- package/README.vi.md +30 -7
- package/README.zh-CN.md +10 -6
- package/README.zh-TW.md +10 -6
- package/dashboard/dist/index.html +10 -10
- package/dist/cli/view-live.js +1 -1
- package/dist/core/analytics.d.ts +4 -0
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js +8 -8
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/auto-tagger.d.ts.map +1 -1
- package/dist/core/auto-tagger.js.map +1 -1
- package/dist/core/config.d.ts +5 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +28 -13
- package/dist/core/config.js.map +1 -1
- package/dist/core/digest-validator.d.ts.map +1 -1
- package/dist/core/digest-validator.js +3 -1
- package/dist/core/digest-validator.js.map +1 -1
- package/dist/core/doctor.d.ts +2 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +70 -60
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/dreamer.d.ts +21 -1
- package/dist/core/dreamer.d.ts.map +1 -1
- package/dist/core/dreamer.js +86 -8
- package/dist/core/dreamer.js.map +1 -1
- package/dist/core/embedder.d.ts +1 -4
- package/dist/core/embedder.d.ts.map +1 -1
- package/dist/core/embedder.js +5 -95
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/failure-analyzer.d.ts.map +1 -1
- package/dist/core/failure-analyzer.js +2 -1
- package/dist/core/failure-analyzer.js.map +1 -1
- package/dist/core/llm-client.d.ts.map +1 -1
- package/dist/core/llm-client.js.map +1 -1
- package/dist/core/llm-validator.d.ts +1 -0
- package/dist/core/llm-validator.d.ts.map +1 -1
- package/dist/core/llm-validator.js +33 -10
- package/dist/core/llm-validator.js.map +1 -1
- package/dist/core/operations.js +1 -1
- package/dist/core/operations.js.map +1 -1
- package/dist/core/output-language.d.ts +6 -0
- package/dist/core/output-language.d.ts.map +1 -0
- package/dist/core/output-language.js +25 -0
- package/dist/core/output-language.js.map +1 -0
- package/dist/core/patterns.d.ts +0 -1
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +1 -5
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/transcript-extractor.d.ts +89 -0
- package/dist/core/transcript-extractor.d.ts.map +1 -0
- package/dist/core/transcript-extractor.js +437 -0
- package/dist/core/transcript-extractor.js.map +1 -0
- package/dist/core/transcript-source.d.ts +21 -0
- package/dist/core/transcript-source.d.ts.map +1 -0
- package/dist/core/transcript-source.js +142 -0
- package/dist/core/transcript-source.js.map +1 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +10 -0
- package/dist/db.js.map +1 -1
- package/dist/skills-manifest.json +4 -4
- package/dist/transports/cli/cli.d.ts.map +1 -1
- package/dist/transports/cli/cli.js +153 -8
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/server.d.ts +7 -0
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +117 -50
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +2 -1
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/package.json +1 -10
- package/skills/agentic-orchestration/SKILL.md +1 -1
- package/skills/memesh/SKILL.md +2 -0
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
|
-
##
|
|
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
|
-
###
|
|
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
|
-
##
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
-
| **
|
|
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
|
|
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
|
-
> - **
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
-
###
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
|
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
|
-
> -
|
|
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`
|
|
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
|
-
|
|
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` を変更してもエンベディングが黙って変わることはありません。異なる次元(例:
|
|
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
|
-
##
|
|
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
|
-
> -
|
|
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`를
|
|
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
|
-
**🧠 스마트 검색** —
|
|
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
|
-
|
|
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`를 바꿔도 임베딩이 조용히 바뀌지 않습니다. 다른 차원(예:
|
|
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
|
-
##
|
|
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
|
-
> - **
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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
|
|
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
|
-
###
|
|
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
|
|
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
|
-
|
|
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.:
|
|
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
|
|
382
|
+
## Todas as 8 Ferramentas de Memória
|
|
360
383
|
|
|
361
384
|
| Ferramenta | O que faz |
|
|
362
385
|
|------|-------------|
|