@pcircle/memesh 4.8.5 → 4.9.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/.codex-plugin/mcp.json +6 -4
- package/.codex-plugin/plugin.json +1 -1
- package/AGENTS.md +60 -14
- package/README.de.md +83 -556
- package/README.md +83 -582
- package/README.zh-TW.md +84 -573
- package/dashboard/dist/index.html +10 -10
- package/dist/cli/view-live.d.ts.map +1 -1
- package/dist/cli/view-live.js +154 -384
- package/dist/cli/view-live.js.map +1 -1
- package/dist/core/agent-router.d.ts +11 -10
- package/dist/core/agent-router.d.ts.map +1 -1
- package/dist/core/agent-router.js +29 -14
- package/dist/core/agent-router.js.map +1 -1
- package/dist/core/agent-scope-id.d.ts.map +1 -1
- package/dist/core/agent-scope-id.js.map +1 -1
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/config.d.ts +4 -40
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +75 -141
- package/dist/core/config.js.map +1 -1
- package/dist/core/demo.d.ts.map +1 -1
- package/dist/core/demo.js +6 -6
- package/dist/core/demo.js.map +1 -1
- package/dist/core/doctor.d.ts +1 -6
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +55 -227
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/dreamer.d.ts +32 -47
- package/dist/core/dreamer.d.ts.map +1 -1
- package/dist/core/dreamer.js +211 -703
- package/dist/core/dreamer.js.map +1 -1
- package/dist/core/install-channel.d.ts.map +1 -1
- package/dist/core/install-channel.js +4 -47
- package/dist/core/install-channel.js.map +1 -1
- package/dist/core/install-id.d.ts.map +1 -1
- package/dist/core/install-id.js.map +1 -1
- package/dist/core/kg-backfill.d.ts.map +1 -1
- package/dist/core/kg-backfill.js.map +1 -1
- package/dist/core/lesson-engine.d.ts +0 -5
- package/dist/core/lesson-engine.d.ts.map +1 -1
- package/dist/core/lesson-engine.js +0 -25
- package/dist/core/lesson-engine.js.map +1 -1
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +54 -48
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/memory-tool.d.ts.map +1 -1
- package/dist/core/memory-tool.js +17 -17
- package/dist/core/memory-tool.js.map +1 -1
- package/dist/core/operations.d.ts +2 -26
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +9 -244
- package/dist/core/operations.js.map +1 -1
- package/dist/core/paths.d.ts +4 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +88 -14
- package/dist/core/paths.js.map +1 -1
- package/dist/core/product-improvements.js +2 -2
- package/dist/core/product-improvements.js.map +1 -1
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +10 -0
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/semver.d.ts +7 -0
- package/dist/core/semver.d.ts.map +1 -0
- package/dist/core/semver.js +49 -0
- package/dist/core/semver.js.map +1 -0
- package/dist/core/serializer.d.ts.map +1 -1
- package/dist/core/serializer.js +69 -57
- package/dist/core/serializer.js.map +1 -1
- package/dist/core/signal-scorer.d.ts.map +1 -1
- package/dist/core/signal-scorer.js.map +1 -1
- package/dist/core/transcript-extractor.d.ts +1 -85
- package/dist/core/transcript-extractor.d.ts.map +1 -1
- package/dist/core/transcript-extractor.js +5 -364
- package/dist/core/transcript-extractor.js.map +1 -1
- package/dist/core/transcript-source.d.ts +22 -6
- package/dist/core/transcript-source.d.ts.map +1 -1
- package/dist/core/transcript-source.js +108 -69
- package/dist/core/transcript-source.js.map +1 -1
- package/dist/core/types.d.ts +1 -17
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/version-check.d.ts.map +1 -1
- package/dist/core/version-check.js +11 -1
- package/dist/core/version-check.js.map +1 -1
- package/dist/db.d.ts +0 -34
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +3 -287
- package/dist/db.js.map +1 -1
- package/dist/host-runtime/acp.d.ts.map +1 -1
- package/dist/host-runtime/acp.js +2 -2
- package/dist/host-runtime/acp.js.map +1 -1
- package/dist/host-runtime/claude.d.ts.map +1 -1
- package/dist/host-runtime/claude.js +9 -7
- package/dist/host-runtime/claude.js.map +1 -1
- package/dist/host-runtime/codex-session.d.ts +9 -1
- package/dist/host-runtime/codex-session.d.ts.map +1 -1
- package/dist/host-runtime/codex-session.js +474 -29
- package/dist/host-runtime/codex-session.js.map +1 -1
- package/dist/host-runtime/codex.d.ts.map +1 -1
- package/dist/host-runtime/codex.js +2 -2
- package/dist/host-runtime/codex.js.map +1 -1
- package/dist/host-runtime/config.d.ts +1 -0
- package/dist/host-runtime/config.d.ts.map +1 -1
- package/dist/host-runtime/config.js +4 -0
- package/dist/host-runtime/config.js.map +1 -1
- package/dist/host-runtime/router-client.d.ts.map +1 -1
- package/dist/host-runtime/router-client.js +62 -15
- package/dist/host-runtime/router-client.js.map +1 -1
- package/dist/host-runtime/router.js +2 -2
- package/dist/host-runtime/router.js.map +1 -1
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +54 -45
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/mcp/THIRD_PARTY_NOTICES.txt +217 -0
- package/dist/mcp/server.js +30685 -38
- package/dist/mcp/server.js.map +6 -1
- package/dist/skills-manifest.json +22 -22
- package/dist/storage/entity-index.d.ts +0 -1
- package/dist/storage/entity-index.d.ts.map +1 -1
- package/dist/storage/entity-index.js +0 -7
- package/dist/storage/entity-index.js.map +1 -1
- package/dist/storage/fts-index.d.ts.map +1 -1
- package/dist/storage/fts-index.js +6 -7
- package/dist/storage/fts-index.js.map +1 -1
- package/dist/storage/graph-repairs.d.ts +0 -5
- package/dist/storage/graph-repairs.d.ts.map +1 -1
- package/dist/storage/graph-repairs.js +4 -91
- package/dist/storage/graph-repairs.js.map +1 -1
- package/dist/storage/schema.d.ts +1 -1
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js +1 -2
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/sqlite.d.ts +0 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/transports/agent-messaging.d.ts.map +1 -1
- package/dist/transports/agent-messaging.js +5 -7
- package/dist/transports/agent-messaging.js.map +1 -1
- package/dist/transports/cli/cli.d.ts.map +1 -1
- package/dist/transports/cli/cli.js +52 -674
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/retired-routes.js +1 -1
- package/dist/transports/http/retired-routes.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +13 -232
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +127 -1
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +53 -4
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +52 -0
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +39 -0
- package/dist/transports/schemas.js.map +1 -1
- package/docs/platforms/README.md +5 -4
- package/docs/platforms/agent-messaging.md +124 -60
- package/hooks/hooks.json +13 -2
- package/llms-install.md +62 -30
- package/package.json +4 -5
- package/scripts/hooks/_generated/core-paths.js +88 -14
- package/scripts/hooks/_generated/fts-index.js +6 -7
- package/scripts/hooks/_generated/schema.js +1 -2
- package/scripts/hooks/_shared.js +14 -20
- package/scripts/hooks/session-start.js +8 -6
- package/scripts/hooks/session-summary.js +19 -374
- package/skills/memesh/SKILL.md +19 -14
- package/skills/memesh-review/SKILL.md +7 -6
- package/dist/core/auto-tagger.d.ts +0 -10
- package/dist/core/auto-tagger.d.ts.map +0 -1
- package/dist/core/auto-tagger.js +0 -63
- package/dist/core/auto-tagger.js.map +0 -1
- package/dist/core/conflict-candidates.d.ts +0 -20
- package/dist/core/conflict-candidates.d.ts.map +0 -1
- package/dist/core/conflict-candidates.js +0 -71
- package/dist/core/conflict-candidates.js.map +0 -1
- package/dist/core/conflict-judge.d.ts +0 -58
- package/dist/core/conflict-judge.d.ts.map +0 -1
- package/dist/core/conflict-judge.js +0 -189
- package/dist/core/conflict-judge.js.map +0 -1
- package/dist/core/digest-validator.d.ts +0 -18
- package/dist/core/digest-validator.d.ts.map +0 -1
- package/dist/core/digest-validator.js +0 -85
- package/dist/core/digest-validator.js.map +0 -1
- package/dist/core/embedder.d.ts +0 -20
- package/dist/core/embedder.d.ts.map +0 -1
- package/dist/core/embedder.js +0 -245
- package/dist/core/embedder.js.map +0 -1
- package/dist/core/failure-analyzer.d.ts +0 -19
- package/dist/core/failure-analyzer.d.ts.map +0 -1
- package/dist/core/failure-analyzer.js +0 -83
- package/dist/core/failure-analyzer.js.map +0 -1
- package/dist/core/json-utils.d.ts +0 -3
- package/dist/core/json-utils.d.ts.map +0 -1
- package/dist/core/json-utils.js +0 -46
- package/dist/core/json-utils.js.map +0 -1
- package/dist/core/llm-client.d.ts +0 -22
- package/dist/core/llm-client.d.ts.map +0 -1
- package/dist/core/llm-client.js +0 -203
- package/dist/core/llm-client.js.map +0 -1
- package/dist/core/llm-telemetry.d.ts +0 -47
- package/dist/core/llm-telemetry.d.ts.map +0 -1
- package/dist/core/llm-telemetry.js +0 -117
- package/dist/core/llm-telemetry.js.map +0 -1
- package/dist/core/llm-validator.d.ts +0 -20
- package/dist/core/llm-validator.d.ts.map +0 -1
- package/dist/core/llm-validator.js +0 -231
- package/dist/core/llm-validator.js.map +0 -1
- package/dist/core/ollama-host.d.ts +0 -6
- package/dist/core/ollama-host.d.ts.map +0 -1
- package/dist/core/ollama-host.js +0 -62
- package/dist/core/ollama-host.js.map +0 -1
- package/dist/core/output-language.d.ts +0 -6
- package/dist/core/output-language.d.ts.map +0 -1
- package/dist/core/output-language.js +0 -25
- package/dist/core/output-language.js.map +0 -1
- package/dist/core/prompt-safety.d.ts +0 -4
- package/dist/core/prompt-safety.d.ts.map +0 -1
- package/dist/core/prompt-safety.js +0 -20
- package/dist/core/prompt-safety.js.map +0 -1
- package/dist/storage/vector-index.d.ts +0 -3
- package/dist/storage/vector-index.d.ts.map +0 -1
- package/dist/storage/vector-index.js +0 -13
- package/dist/storage/vector-index.js.map +0 -1
package/README.de.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<h1 align="center">MeMesh</h1>
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>
|
|
7
|
-
Eine SQLite-Datei. Kein Docker
|
|
6
|
+
<strong>Ein Gedächtnis für deinen KI-Coding-Assistenten, das von Sitzung zu Sitzung bleibt.</strong><br />
|
|
7
|
+
Eine SQLite-Datei. Kein Docker, keine Cloud.
|
|
8
8
|
</p>
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
@@ -16,549 +16,131 @@
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## Was es tut
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Mit jeder neuen Sitzung fängt dein KI-Coding-Assistent (Agent) bei null an. Er schlägt wieder den Ansatz vor, den du letzten Monat verworfen hast, scheitert wieder am selben Test und lässt sich die Architektur erklären, die er selbst mit entworfen hat.
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
- `message discover` liefert ein begrenztes, projektbezogenes Verzeichnis aktiver Agenten mit Session, Principal, Host-Art, deklariertem Model/Work (oder ausdrücklich unbekannt) und aktiven Leases; es führt keine Nachrichten- oder Receipt-Aktion aus.
|
|
25
|
-
- `improvement` verwandelt aktive Memories in evidenzverknüpfte Produktarbeits-Vorschläge; Agenten dürfen sie einreichen und ihren Status lesen, aber nur ein Mensch darf annehmen oder ablehnen.
|
|
26
|
-
|
|
27
|
-
## Installation
|
|
28
|
-
|
|
29
|
-
**In Claude Code** — diese zwei Zeilen im Chat eingeben (Hooks, Memory-Tools und der `/memesh`-Skill werden automatisch eingerichtet):
|
|
23
|
+
MeMesh merkt sich das für ihn. Claude-Code-Hooks erfassen und laden den laufenden Arbeitskontext; unterstützte Clients teilen sich über ihre dokumentierte Integration dieselbe lokale SQLite-Datenbank. Funktioniert mit Claude Code, Codex, Cursor und anderen MCP-Clients.
|
|
30
24
|
|
|
31
25
|
```
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
du arbeitest mit dem Agenten
|
|
27
|
+
|
|
|
28
|
+
v
|
|
29
|
+
+------------------+ +------------------+
|
|
30
|
+
| festhalten | | erinnern |
|
|
31
|
+
| Sitzungen, | ---> | beim Start und |
|
|
32
|
+
| Commits, Fixes | | vor jeder |
|
|
33
|
+
| (automatisch) | | Änderung |
|
|
34
|
+
+------------------+ +------------------+
|
|
35
|
+
| ^
|
|
36
|
+
v |
|
|
37
|
+
+----------------------------------------+
|
|
38
|
+
| ~/.memesh/knowledge-graph.db |
|
|
39
|
+
| Entscheidungen, Lektionen, Verweise |
|
|
40
|
+
+----------------------------------------+
|
|
34
41
|
```
|
|
35
42
|
|
|
36
|
-
Claude Code
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npm install -g @pcircle/memesh
|
|
42
|
-
memesh doctor # prüft diese Installation Ende-zu-Ende
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Die meisten Claude-Code-Nutzer installieren am Ende **beides**. Beide nutzen dieselbe Datenbank und kommen sich nicht in die Quere. Details, weitere Agenten und Upgrades stehen unten unter „In 60 Sekunden starten".
|
|
46
|
-
|
|
47
|
-
## Das Problem
|
|
48
|
-
|
|
49
|
-
Ihr Coding-Agent vergisst zwischen zwei Sessions nicht nur Fakten. Schlimmer: er **macht dieselbe Arbeit noch einmal**.
|
|
50
|
-
|
|
51
|
-
- Er schlägt wieder den Ansatz vor, den Sie letzten Monat abgelehnt haben
|
|
52
|
-
- Er stolpert erneut über denselben fehlschlagenden Test
|
|
53
|
-
- Er „entdeckt" die Einschränkung wieder, die im März die Produktion lahmgelegt hat
|
|
54
|
-
- Er bittet Sie, ihm die Architektur zu erklären, die er selbst mitentworfen hat
|
|
55
|
-
|
|
56
|
-
Das ist kein Problem des Chatverlaufs. Was zwischen Sessions überleben muss, ist nicht das Gespräch, sondern die *Arbeit*: welche Entscheidungen gefallen sind, warum, was fehlgeschlagen ist, wie es behoben wurde — und wie das alles zusammenhängt.
|
|
57
|
-
|
|
58
|
-
**Genau diese Lücke füllt MeMesh.** Es tut drei Dinge:
|
|
59
|
-
|
|
60
|
-
- **Automatisch festhalten**: Hooks erfassen, was der Agent wirklich tut — Sessions, Commits, Fehlschläge. Keine handgeschriebenen Notizen
|
|
61
|
-
- **Zurückgeben, wenn es zählt**: beim Session-Start und vor jeder Dateibearbeitung landen die passenden Memories vor dem Agenten
|
|
62
|
-
- **Nicht verrotten lassen**: neue Entscheidungen lösen alte ab, und widersprechen sich zwei Memories, beurteilt ein LLM den Konflikt und markiert ihn
|
|
63
|
-
|
|
64
|
-
Installation über npm, gespeichert wird in `~/.memesh/knowledge-graph.db`, angebunden an Claude Code oder jeden MCP-fähigen Client.
|
|
65
|
-
|
|
66
|
-
> [!IMPORTANT]
|
|
67
|
-
> **Aktiv entwickeltes Projekt** — Funktionen entwickeln sich kontinuierlich weiter und können sich zwischen Releases ändern. Bei Bugs oder Feature-Wünschen bitte [ein Issue eröffnen](https://github.com/PCIRCLE-AI/memesh/issues).
|
|
43
|
+
- **Erfassen, Erinnern, Hinweise und Schutz im richtigen Moment.** MeMesh liefert **9 Hook-Befehle** über seine Claude-Code- und Codex-Integrationen: Acht Claude-Code-Hooks laufen beim Sitzungsstart, vor Dateiänderungen, nach `git commit`, nach einem freigegebenen Plan oder einer beantworteten Frage, wenn Claude aufhört, vor dem Kürzen des Kontexts, bei „remember this“ (in 5 Sprachen, Deutsch nicht darunter) und vor einem riskanten Befehl, der eine bestätigte Lektion wiederholen würde. Die Plan-/Frage- und „remember this“-Hooks erinnern den Agenten nur an `remember`; der neunte Befehl verarbeitet sowohl Codex SessionStart als auch SessionEnd und registriert beziehungsweise beendet eine geeignete gewöhnliche Codex-CLI-Sitzung kontrolliert.
|
|
44
|
+
- **Ein Gedächtnis für alle Tools.** Was du heute in Claude Code speicherst, steht morgen auch Codex oder Cursor zur Verfügung.
|
|
45
|
+
- **Agenten können sich Nachrichten hinterlassen.** Der dauerhafte lokale Posteingang übersteht Neustarts; unter macOS oder Linux kann auch eine exakt adressierte, aktive gewöhnliche Codex-CLI-Sitzung mit MeMesh-Plugin die begrenzte Nachricht über ihre native Queue erhalten.
|
|
46
|
+
- **Ein Dashboard** zum Stöbern: 5 Tabs, 11 Sprachen, unter `http://localhost:3737/dashboard`.
|
|
68
47
|
|
|
69
48
|
---
|
|
70
49
|
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
Alle Hosts, die mit derselben lokalen MeMesh-Instanz verbunden sind, teilen dauerhaften Speicher. Das `message`-Tool ergänzt einen expliziten Nachrichtenpfad über MCP, HTTP und CLI.
|
|
74
|
-
|
|
75
|
-
Die optionale sichere Host-Native-Wakeup-Laufzeit unterstützt derzeit macOS und Linux. MeMesh-Kernspeicher, dauerhafte Nachrichtenspeicherung und MCP-Tools bleiben unter Windows verfügbar; Host-Native-Wakeup unter Windows wird noch nicht unterstützt.
|
|
76
|
-
|
|
77
|
-
- Heute verfügbar: Ein Sender über MCP, HTTP oder CLI kann einen nicht vertrauenswürdigen, JSON-kodierten Payload von höchstens 65.536 UTF-8-Bytes (64 KiB) dauerhaft an genau einen lokalen Empfänger senden. Der Empfänger kann ihn getrennt abrufen, nach einem Neustart mit einem opaken Cursor fortsetzen und Intake, Bestätigung, Workflow-Status und Host-Aktivierung getrennt protokollieren.
|
|
78
|
-
- Mit aktiviertem MeMesh-Codex-Plugin und dem owner-private Opt-in `memesh agent setup codex-session` erhält die exakt aktive Codex-Session eine vollständige Nachricht über ihre native Queue — ohne Polling oder menschliche Erinnerung und ohne zweiten Inbox-Abruf. Der vollständige native Envelope einschließlich Routing-Metadaten und Payload ist separat auf 16.384 Bytes (16 KiB) begrenzt. Ein Exact-Session-Send ist erst erfolgreich, wenn die native Queue ihn annimmt; ein zu großer Envelope meldet `native_message_too_large`, andere nicht verfügbare oder abgelehnte Sessions melden `recipient_unavailable`. Eingegrenzte Recovery-Daten bleiben erhalten, und Principal-Ziele behalten Durable Store-and-Forward bei.
|
|
79
|
-
- Eine erfolgreiche Queue-Annahme (`host_accept`) bedeutet nur, dass die lokale Codex-Queue die größenbegrenzte Nachricht annahm. Sie beweist nicht, dass ein Agent sie gelesen, bestätigt oder die Arbeit akzeptiert hat. Codex übernimmt den Text über das Prozessargument `--message`; deshalb kann eine Prozessinspektion desselben Benutzers ihn während des kurzen Queue-Aufrufs sehen. Native Nachrichten dürfen keine Secrets enthalten.
|
|
80
|
-
- Der dauerhafte Nachrichtenspeicher wird durch eine Owner-Richtlinie begrenzt, nicht still gelöscht: `memesh message storage report` zeigt logische Payload-Größe, geschützte Zeilen, wiederverwendbare SQLite-Seiten und WAL-Größe. Das begrenzte Pruning ist standardmäßig ein Dry Run und tombstoniert nur alte terminale Payloads. Ein optionales `MEMESH_AGENT_MESSAGE_STORAGE_QUOTA_BYTES` lehnt einen zu großen Send atomar ab. Siehe [begrenzte Speicherung und Audit-Aufbewahrung](docs/platforms/agent-messaging.md#bounded-storage-and-audit-retention).
|
|
81
|
-
- Eine gestoppte, fehlende oder getrennte Codex-Session wird weder geweckt noch ersetzt. Ihr dauerhafter Posteingang bleibt für Audit und Wiederherstellung erhalten; `poll` und `memesh message watch` sind Kompatibilitäts- und Diagnosepfade. Native Zustellung setzt keine beendete Modell-Session fort, führt keinen Payload aus und gilt nicht als Bestätigung.
|
|
82
|
-
- Kooperative Vertrauensgrenze: Der Empfängername ist eine logische Routing-ID, keine Anmeldung oder ACL pro Agent. Jeder Aufrufer mit Zugriff auf dieselbe lokale MeMesh-Instanz muss als vertrauenswürdiger Workspace-Teilnehmer gelten; Host-Adapter setzen weiterhin ihre eigenen Berechtigungen und menschlichen Freigaben durch.
|
|
83
|
-
- Adapter-Grenze: Der hier beschriebene native Wakeup ist nur der konfigurierte lokale Codex-Session-Pfad. Andere lokale MCP-Loops können die dauerhaften Nachrichtenoperationen nutzen, die ihr eigener Host-Loop unterstützt; dies ist keine universelle Host-Support-Aussage.
|
|
50
|
+
## Läuft mit
|
|
84
51
|
|
|
85
|
-
|
|
52
|
+
| Plattform | Anbindung | Hinweis |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| Claude Code | Plugin: Hooks, MCP-Tools, `/memesh`-Skill | Automatisches Festhalten und Erinnern |
|
|
55
|
+
| Codex CLI | Plugin oder MCP-Server (`memesh-mcp`) | Plugin ohne manuelle Konfiguration oder `codex mcp add memesh -- memesh-mcp` |
|
|
56
|
+
| Gemini CLI | MCP-Server (`memesh-mcp`) | `gemini mcp add -s user memesh memesh-mcp` |
|
|
57
|
+
| Cursor, Cline und andere MCP-Clients | MCP-Server (`memesh-mcp`) | Client auf `memesh-mcp` zeigen lassen |
|
|
58
|
+
| Hermes Agent | Natives Memory-Provider-Plugin | [docs/platforms/hermes-agent.md](docs/platforms/hermes-agent.md) |
|
|
59
|
+
| OpenClaw | Natives Memory-Plugin | Nur Quellcode; weder veröffentlicht noch live getestet: [docs/platforms/openclaw.md](docs/platforms/openclaw.md) |
|
|
60
|
+
| Eigene Skripte und Apps | HTTP-API aus `memesh serve` | [docs/platforms/universal.md](docs/platforms/universal.md) |
|
|
61
|
+
| ChatGPT, Gemini im Browser und andere gehostete Chats | HTTP-API über eine lokale Brücke, die du selbst betreibst | [docs/platforms/README.md](docs/platforms/README.md) |
|
|
86
62
|
|
|
87
|
-
|
|
63
|
+
Die acht Claude-Code-Hooks übernehmen automatisches Erfassen, Erinnern, Hinweise und Schutz. Das Codex-Plugin richtet seine SessionStart-Integration und die MCP-Tools automatisch ein. Reine MCP-Clients rufen `recall` und `briefing` selbst auf.
|
|
88
64
|
|
|
89
|
-
|
|
65
|
+
Abruf und Erfassung bleiben lokal und deterministisch: SQLite-FTS5-Suche, explizite Memory-Tools und regelbasierte Hooks. Diese Version konfiguriert oder kontaktiert keinen LLM-, Embedding- oder Vektor-Provider. Veraltete Provider-Einstellungen früherer Versionen bleiben auf der Festplatte, werden aber ignoriert; `memesh doctor` nennt nur die Namen der obersten Felder, ohne ihre Werte zu lesen oder auszugeben.
|
|
90
66
|
|
|
91
67
|
---
|
|
92
68
|
|
|
93
|
-
##
|
|
94
|
-
|
|
95
|
-
MeMesh hat **zwei Installationspfade, die nebeneinander existieren**. Die meisten Nutzer brauchen beide. Beide schreiben in die **selbe Speicher-Datenbank** (`~/.memesh/knowledge-graph.db`), so dass im Claude-Code-Chat erfasste Memories auch in deiner Shell erscheinen und umgekehrt.
|
|
96
|
-
|
|
97
|
-
```mermaid
|
|
98
|
-
flowchart TB
|
|
99
|
-
classDef client fill:#1f2937,stroke:#4b5563,color:#f9fafb,stroke-width:1px
|
|
100
|
-
classDef pathA fill:#1e3a8a,stroke:#3b82f6,color:#eff6ff,stroke-width:2px
|
|
101
|
-
classDef pathB fill:#14532d,stroke:#22c55e,color:#f0fdf4,stroke-width:2px
|
|
102
|
-
classDef db fill:#7c2d12,stroke:#f97316,color:#fff7ed,stroke-width:2px
|
|
103
|
-
|
|
104
|
-
subgraph clients["Where you use memesh from"]
|
|
105
|
-
direction LR
|
|
106
|
-
CC["Claude Code<br/>(chat + agent)"]:::client
|
|
107
|
-
TERM["Terminal / other<br/>MCP clients<br/>(Codex, Cursor...)"]:::client
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
subgraph paths["Two install paths"]
|
|
111
|
-
direction LR
|
|
112
|
-
A["<b>Path A — /plugin install</b><br/>───────────────<br/>Lives in <code>~/.claude/plugins/</code><br/><br/>• MCP tools in chat<br/>• Auto-capture hooks<br/>• <code>/memesh</code> skill<br/>• Session-start banner"]:::pathA
|
|
113
|
-
B["<b>Path B — npm install -g</b><br/>───────────────<br/>Lives in <code>$(npm prefix -g)/bin/</code><br/><br/>• <code>memesh</code> shell command<br/>• <code>memesh-mcp</code>, <code>-http</code> bins<br/>• For Cursor / Cline / other MCP"]:::pathB
|
|
114
|
-
end
|
|
69
|
+
## Installation
|
|
115
70
|
|
|
116
|
-
|
|
71
|
+
Plugin-Installationen und die npm-globale CLI nutzen dieselbe Datenbank. Claude-Code-Nutzer installieren meist Plugin und CLI; Codex kann sein eigenes Plugin oder den MCP-Server der CLI verwenden.
|
|
117
72
|
|
|
118
|
-
CC -->|uses| A
|
|
119
|
-
TERM -->|uses| B
|
|
120
|
-
A --> DB
|
|
121
|
-
B --> DB
|
|
122
73
|
```
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
132
|
-
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
### ⚠️ Das Plugin installiert NICHT das CLI
|
|
138
|
-
|
|
139
|
-
Das ist die häufigste Verwechslung. Einmal lesen, spart dir später Zeit:
|
|
140
|
-
|
|
141
|
-
- `/plugin install memesh@pcircle-memesh` aus Claude Code → installiert **nur Path A**. Du erhältst MCP-Tools, Hooks, das `/memesh` skill. `memesh` landet **nicht** auf deinem Shell-`PATH`.
|
|
142
|
-
- `memesh reindex` / `memesh update` / `memesh doctor` im Terminal → braucht **Path B** (npm-global). Sonst: `zsh: command not found: memesh`.
|
|
143
|
-
- **Empfohlenes Setup für Claude-Code-Nutzer**: **beide installieren**. Koexistieren, teilen sich dieselbe DB, kein Konflikt.
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
# Nach /plugin install ..., auch das ausführen:
|
|
147
|
-
npm install -g @pcircle/memesh
|
|
74
|
+
Claude-Code-Chat Terminal, Codex, Cursor
|
|
75
|
+
| |
|
|
76
|
+
v v
|
|
77
|
+
+-----------------+ +------------------+
|
|
78
|
+
| A: Plugin | | B: npm global |
|
|
79
|
+
| /plugin install | | npm install -g |
|
|
80
|
+
| Hooks + Tools | | memesh-Befehl |
|
|
81
|
+
| + /memesh-Skill | | + memesh-mcp |
|
|
82
|
+
+-----------------+ +------------------+
|
|
83
|
+
| |
|
|
84
|
+
+---------------+------------------+
|
|
85
|
+
v
|
|
86
|
+
~/.memesh/knowledge-graph.db
|
|
87
|
+
(eine Datei, beide Wege)
|
|
148
88
|
```
|
|
149
89
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## In 60 Sekunden starten
|
|
155
|
-
|
|
156
|
-
### Option A — Claude-Code-Plugin (Installation in einer Zeile)
|
|
157
|
-
|
|
158
|
-
Wenn Sie Claude Code nutzen, installieren Sie MeMesh als Plugin direkt in der CLI:
|
|
90
|
+
**A. Direkt in Claude Code** (Hooks, Tools und der `/memesh`-Skill werden automatisch eingerichtet):
|
|
159
91
|
|
|
160
92
|
```
|
|
161
93
|
/plugin marketplace add PCIRCLE-AI/memesh
|
|
162
94
|
/plugin install memesh@pcircle-memesh
|
|
163
95
|
```
|
|
164
96
|
|
|
165
|
-
Claude Code
|
|
166
|
-
|
|
167
|
-
**Prüfen:** Claude Code neu starten und eine beliebige Session beginnen. Eine Statuszeile wie `◉ MeMesh ready · no memories for "your-project" yet` erscheint oben — sie bestätigt direkt die Statusausgabe des SessionStart-Hooks. Sie allein beweist nicht, dass spätere Capture- oder Recall-Vorgänge funktionieren. (Mit vorhandenen Memories zeigt sie stattdessen Zähler.)
|
|
168
|
-
|
|
169
|
-
### Option B — npm global (optionale Optimierung)
|
|
97
|
+
Claude Code neu starten. Beim nächsten Start steht `◉ MeMesh` ganz oben.
|
|
170
98
|
|
|
171
|
-
|
|
99
|
+
**B. Im Terminal** (braucht [Node 22.13 oder neuer](https://nodejs.org)):
|
|
172
100
|
|
|
173
101
|
```bash
|
|
174
102
|
npm install -g @pcircle/memesh
|
|
103
|
+
memesh doctor # prüft den lokalen Installationszustand und nennt Korrekturen
|
|
104
|
+
memesh install-hooks # nur ohne A nötig: richtet Claude Code ein, deine eigenen Hooks bleiben
|
|
175
105
|
```
|
|
176
106
|
|
|
177
|
-
|
|
107
|
+
Codex ohne manuelle Konfiguration: `codex plugin marketplace add PCIRCLE-AI/memesh` und `codex plugin add memesh@pcircle-memesh`. Die manuelle Alternative ist `codex mcp add memesh -- memesh-mcp`. Für Cursor `{ "mcpServers": { "memesh": { "command": "memesh-mcp" } } }` in `~/.cursor/mcp.json` eintragen.
|
|
178
108
|
|
|
179
|
-
|
|
109
|
+
> **Das Plugin bringt keinen `memesh`-Befehl mit.** Nach `/plugin install` meldet das Terminal bei `memesh` noch `command not found`, bis du auch `npm install -g @pcircle/memesh` ausführst. Wer MeMesh nur im Claude-Code-Chat nutzt, kommt mit A aus.
|
|
180
110
|
|
|
181
|
-
|
|
182
|
-
memesh setup # prüft die lokale Host-Verdrahtung und meldet den Befund
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
Oder die Einzelschritte von Hand:
|
|
186
|
-
|
|
187
|
-
```bash
|
|
188
|
-
memesh install-hooks # fügt memesh-Hooks zu ~/.claude/settings.json hinzu
|
|
189
|
-
memesh setup --check # Prüfung auf Maschinenebene: liest die Host-Configs, ändert nichts
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
Die Hooks existieren neben Ihren bestehenden Custom-Hooks unter `~/.claude/hooks/` — `install-hooks` schreibt additiv und überschreibt nie Ihre Einträge. Zum Entfernen: `memesh uninstall-hooks`.
|
|
193
|
-
|
|
194
|
-
### Dieselben Memories aus Codex CLI, Cursor und anderen MCP-Clients
|
|
195
|
-
|
|
196
|
-
`memesh-mcp` ist ein gewöhnlicher stdio-MCP-Server — jeder MCP-fähige Host kann ihn nutzen, nicht nur Claude Code. Mit installierter Option B (`memesh-mcp` im `PATH`) einmal pro Host registrieren:
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
# OpenAI Codex CLI — schreibt [mcp_servers.memesh] in ~/.codex/config.toml
|
|
200
|
-
codex mcp add memesh -- memesh-mcp
|
|
201
|
-
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
Für Cursor fügen Sie denselben stdio-Server in `~/.cursor/mcp.json` (global)
|
|
205
|
-
oder in `.cursor/mcp.json` (projektspezifisch) ein:
|
|
206
|
-
|
|
207
|
-
```json
|
|
208
|
-
{
|
|
209
|
-
"mcpServers": {
|
|
210
|
-
"memesh": { "command": "memesh-mcp" }
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
Jeder konfigurierte lokale Host liest und schreibt dieselbe `~/.memesh/knowledge-graph.db` — eine in einem Agenten gespeicherte Memory ist aus Codex, Cursor oder einem anderen MCP-Client abrufbar. Prüfen:
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
codex mcp list # memesh sollte als enabled gelistet sein
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
> **Als konfigurierten Befehl `memesh-mcp` verwenden, NICHT `npx -p @pcircle/memesh`.** `npx -p` löst zum *lokalen* Paket auf, sobald das Arbeitsverzeichnis des Hosts in einem Checkout dieses Repositories liegt — und führt dann stillschweigend dessen aktuellen Stand statt des installierten Release aus.
|
|
222
|
-
|
|
223
|
-
### Native Integration: Hermes Agent
|
|
224
|
-
|
|
225
|
-
**Hermes Agent** (NousResearch) verfügt über ein erstklassiges `MemoryProvider`-Pluginsystem — MeMesh integriert sich auf derselben Ebene wie Hermes' eigene eingebaute Memory-Backends (honcho, mem0, hindsight), nicht als HTTP-Bridge. Anders als im MCP-Modus, wo Sie Tools manuell aufrufen, führt Hermes' Provider-System `recall`/`remember` bei jedem Turn automatisch aus.
|
|
226
|
-
|
|
227
|
-
Die Integration mappt Hermes' `prefetch()`- und `sync_turn()`-Hooks direkt auf MeMesh' HTTP-API. Vollständiger Leitfaden mit Provider-Codestruktur, Konfiguration und vier echten Fallstricken aus einem Live-Deployment: **[docs/platforms/hermes-agent.md](docs/platforms/hermes-agent.md)**
|
|
228
|
-
|
|
229
|
-
### Native Integration: OpenClaw
|
|
230
|
-
|
|
231
|
-
**OpenClaw** verfügt über ein erstklassiges Memory-Capability-Pluginsystem — MeMesh integriert sich auf derselben Ebene wie OpenClaw's eigene eingebaute Backends (LanceDB), nicht als HTTP-Bridge. Das Plugin registriert sich über `api.registerMemoryCapability()` und stellt `memory_recall`/`memory_store`/`memory_forget`-Tools sowie automatisches Recall beim `before_prompt_build`-Hook bereit.
|
|
232
|
-
|
|
233
|
-
**Hauptunterschied zu Hermes**: OpenClaw's Auto-Capture ist schwellenwertgesteuert (max. 3 Memories/Turn bei Trigger), nicht bei jedem Turn. Die Integration mappt auf MeMesh' HTTP-API (`/v1/recall`, `/v1/remember`, `/v1/forget`). Vollständiger TypeScript-Plugin-Vertrag, Konfigurationsform und Fallstricke: **[docs/platforms/openclaw.md](docs/platforms/openclaw.md)**
|
|
234
|
-
|
|
235
|
-
### Schritt 2: Entscheidung speichern
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
memesh remember "Use OAuth 2.0 with PKCE for the new auth"
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
Oder nutzen Sie die explizite Form, wenn Sie einen stabilen Namen und Typ zum späteren Filtern möchten:
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Schritt 3: Später abrufen
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
memesh recall "login security"
|
|
251
|
-
# → Findet "OAuth 2.0 with PKCE" auch mit anderen Suchbegriffen
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
**Das ist alles.** MeMesh merkt sich jetzt Informationen über Sessions hinweg.
|
|
255
|
-
|
|
256
|
-
Um Installation und lokale Integration End-to-End zu überprüfen:
|
|
257
|
-
|
|
258
|
-
```bash
|
|
259
|
-
memesh doctor
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
Dashboard öffnen, um den Speicher zu erkunden:
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
memesh serve
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
<p align="center">
|
|
269
|
-
<img src="docs/images/dashboard-search.png" alt="MeMesh — find any memory instantly" width="100%" />
|
|
270
|
-
</p>
|
|
271
|
-
|
|
272
|
-
<p align="center">
|
|
273
|
-
<img src="docs/images/dashboard-analytics.png" alt="MeMesh analytics — health score, timeline, patterns, knowledge coverage" width="100%" />
|
|
274
|
-
</p>
|
|
275
|
-
|
|
276
|
-
<p align="center">
|
|
277
|
-
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — interactive knowledge graph with type filters and ego mode" width="100%" />
|
|
278
|
-
</p>
|
|
279
|
-
|
|
280
|
-
### Sehen, was es sich gemerkt hat
|
|
281
|
-
|
|
282
|
-
Ein Befehl zeigt jederzeit, was Ihr Agent über das aktuelle Projekt weiß — wo die Arbeit stand, Entscheidungen, Lektionen, jüngste Aktivität (verpackt als Referenzdaten):
|
|
283
|
-
|
|
284
|
-
```bash
|
|
285
|
-
memesh briefing
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
```text
|
|
289
|
-
Where "your-project" was left off (today):
|
|
290
|
-
- Goal: Ship the payment retry logic
|
|
291
|
-
- Next: Open the PR once CI is green
|
|
292
|
-
|
|
293
|
-
Decisions and direction for "your-project":
|
|
294
|
-
- [decision] Use FTS5 as the retrieval baseline
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
Denselben Block erhält Claude Code automatisch beim Session-Start, und jeder andere MCP-Client über das `briefing`-Tool — der Agent startet orientiert, statt das Repository neu zu lesen, und Sie erklären letzte Woche nicht noch einmal. Das Dashboard (`memesh serve`) ist die vollständige visuelle Ansicht. Ein allgemeiner `briefing`-Aufruf oder SessionStart-Kontext hat keine Empfängeridentität und meldet daher keine ungelesenen Nachrichten. Zum Prüfen eines Postfachs geben Sie den exakten `project` und `recipient` an; MeMesh meldet nur dessen noch nicht abgerufene Zustellungen und verweist zuerst auf Polling, dann auf Fetch.
|
|
298
|
-
|
|
299
|
-
### Ihre Daten
|
|
300
|
-
|
|
301
|
-
- **Eine lokale Datei.** Alles liegt in `~/.memesh/knowledge-graph.db` — SQLite, auf Ihrer Festplatte. Kein Cloud-Konto; nichts verlässt Ihren Rechner, außer Sie konfigurieren selbst einen Cloud-Embedder oder ein LLM.
|
|
302
|
-
- **Backup = diese eine Datei kopieren.** Wiederherstellen = zurückkopieren.
|
|
303
|
-
- **Aufzeichnung jederzeit pausieren**: `export MEMESH_AUTO_CAPTURE=false`.
|
|
304
|
-
- **Alles löschen**: `~/.memesh/` entfernen.
|
|
111
|
+
**Aktualisieren:** Claude-Code-Plugin: `memesh upgrade-plugin` (ohne CLI: `npx @pcircle/memesh upgrade-plugin`). Codex-Plugin: `codex plugin marketplace upgrade pcircle-memesh && codex plugin add memesh@pcircle-memesh`. Globale npm-CLI: `memesh update`. **Soll eine KI die Installation übernehmen?** Gib ihr [llms-install.md](llms-install.md).
|
|
305
112
|
|
|
306
113
|
---
|
|
307
114
|
|
|
308
|
-
##
|
|
309
|
-
|
|
310
|
-
| Wenn Sie... | hilft Ihnen MeMesh... |
|
|
311
|
-
|---------------|---------------------|
|
|
312
|
-
| **Claude Code verwenden** | Projektentscheidungen, dateispezifische Erkenntnisse und vergangene Fehler während der Arbeit automatisch abrufen |
|
|
313
|
-
| **Power-User von Coding-Agenten** | Eine lokale Speicherschicht über MCP-kompatible Tools verteilen |
|
|
314
|
-
| **Codex, Cursor, Claude Code oder einen anderen MCP-Client einzeln nutzt** | Eine lokale Speicherschicht über Agenten und Sessions hinweg verwenden |
|
|
315
|
-
| **einen Agenten integrieren** | Lokalen Speicher via MCP, HTTP oder CLI hinzufügen |
|
|
316
|
-
|
|
317
|
-
---
|
|
115
|
+
## Loslegen
|
|
318
116
|
|
|
319
|
-
## Speziell für Coding-Agenten entwickelt
|
|
320
|
-
|
|
321
|
-
<table>
|
|
322
|
-
<tr>
|
|
323
|
-
<td width="33%" align="center">
|
|
324
|
-
|
|
325
|
-
**Claude Code / Desktop**
|
|
326
117
|
```bash
|
|
327
|
-
memesh
|
|
328
|
-
|
|
329
|
-
|
|
118
|
+
memesh remember "Login verwendet OAuth 2.0 mit PKCE"
|
|
119
|
+
memesh recall "Login"
|
|
120
|
+
# -> findet die PKCE-Entscheidung
|
|
330
121
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
**Beliebige HTTP-Clients**
|
|
335
|
-
```bash
|
|
336
|
-
curl localhost:3737/v1/recall \
|
|
337
|
-
-H "Content-Type: application/json" \
|
|
338
|
-
-d '{"query":"auth"}'
|
|
339
|
-
```
|
|
340
|
-
`memesh serve` (REST API)
|
|
341
|
-
|
|
342
|
-
</td>
|
|
343
|
-
<td width="33%" align="center">
|
|
344
|
-
|
|
345
|
-
**Jedes LLM (OpenAI-Format)**
|
|
346
|
-
```bash
|
|
347
|
-
memesh export-schema \
|
|
348
|
-
--format openai
|
|
349
|
-
```
|
|
350
|
-
Tools in beliebige API-Aufrufe einfügen
|
|
351
|
-
|
|
352
|
-
</td>
|
|
353
|
-
</tr>
|
|
354
|
-
</table>
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
## Warum nicht OpenMemory, Cursor Memories, Mem0 oder Zep?
|
|
359
|
-
|
|
360
|
-
| | **MeMesh** | OpenMemory | Cursor Memories | Mem0 | Zep / Graphiti |
|
|
361
|
-
|---|---|---|---|---|---|
|
|
362
|
-
| **Beste Eignung** | Lokaler Speicher für Coding-Agenten | Lokaler/MCP-basierter Cross-Client-Speicher | Cursor-natives Projektgedächtnis | Verwalteter App-/Agent-Speicher | Temporale Wissensgraphen |
|
|
363
|
-
| **Installationsform** | `npm install -g @pcircle/memesh` | Lokale App/Server-Flow | In Cursor eingebaut | Cloud API / SDK / MCP | Service/Framework-Setup |
|
|
364
|
-
| **Speicherung** | Eine lokale SQLite-Datei | Lokaler Memory-Stack | Cursor-verwaltete Regeln/Memories | Gehostet oder selbstgehostet | Graphdatenbank |
|
|
365
|
-
| **Cloud erforderlich** | Nein | Nein im lokalen Modus | Abhängig von Cursor-Konto/-Einstellungen | Ja für Plattform | Meist ja/selbstgehostet |
|
|
366
|
-
| **Claude Code Hooks** | Erste Klasse | MCP-Tools | Nein | MCP-Tools | Nicht Claude Code-spezifisch |
|
|
367
|
-
| **Dashboard** | Eingebaut | Eingebaut | Cursor-Einstellungen | Plattform-Dashboard | Plattform/Graph-Tools |
|
|
368
|
-
| **Tradeoff** | Einfache lokale Lösung, nicht Enterprise-skaliert | Größerer lokaler App-Footprint | An Cursor gebunden | Starke verwaltete Plattform, weniger lokal | Starkes Graph-Modell, aufwendigere Einrichtung |
|
|
369
|
-
|
|
370
|
-
**MeMesh tauscht Enterprise-skalierte verwaltete Infrastruktur gegen sofortige lokale Einrichtung, inspektierbaren Speicher und Coding-Agent-Workflow-Hooks.**
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
## Benchmarks — 95.60% R@5 auf LongMemEval-S
|
|
375
|
-
|
|
376
|
-
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):
|
|
377
|
-
|
|
378
|
-
| System | R@5 | Quelle |
|
|
379
|
-
|---|---|---|
|
|
380
|
-
| **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
381
|
-
| MemPalace | 96.6% | Eigenangabe des Anbieters |
|
|
382
|
-
| Supermemory | ~82% | Schätzung des Anbieters |
|
|
383
|
-
| Zep | 63.8% | LongMemEval-Paper |
|
|
384
|
-
| Mem0 | 49.0% | LongMemEval-Paper |
|
|
385
|
-
|
|
386
|
-
Reproduktionsbefehle, Datensatz-SHA256, rohe Ergebnisse pro Frage und Analyse bekannter Fehlschläge finden sich vollständig in [`benchmarks/longmemeval/`](benchmarks/longmemeval/). In ~10 Sekunden reproduzierbar.
|
|
387
|
-
|
|
388
|
-
---
|
|
389
|
-
|
|
390
|
-
## Was läuft in Claude Code automatisch ab
|
|
391
|
-
|
|
392
|
-
Sie müssen nicht manuell alles speichern. MeMesh verfügt über **9 Hooks**, die Wissen während der Arbeit erfassen und injizieren:
|
|
393
|
-
|
|
394
|
-
| Wenn | Was MeMesh tut |
|
|
395
|
-
|------|------------------|
|
|
396
|
-
| **Am Anfang jeder Session** | Lädt Ihre relevantesten Memories + proaktive Warnungen aus früheren Lektionen + Agentur-Orchestrierungs-Banner |
|
|
397
|
-
| **Vor Dateibearbeitungen** | Ruft Memories ab, die an die Datei oder das Projekt gebunden sind, bevor Claude Code schreibt |
|
|
398
|
-
| **Wenn Sie etwas zu merken bitten** | Erkennt „remember this“-/„guardar en memesh“-/„sauvegarder dans memesh“-/„記下來“-Absicht und erinnert an MeMesh |
|
|
399
|
-
| **Nach jedem `git commit`** | Erfasst Ihre Änderungen mit Diff-Statistiken |
|
|
400
|
-
| **Nachdem ein Plan genehmigt oder eine Frage beantwortet wurde** | Erinnert Claude daran, die Entscheidung mit `remember` zu speichern, falls sie es wert ist — höchstens einmal pro Tool und Session |
|
|
401
|
-
| **Wenn Claude stoppt** | Erfasst bearbeitete Dateien und behobene Fehler; generiert automatisch strukturierte Lektionen aus Fehlern |
|
|
402
|
-
| **Vor Context-Verdichtung** | Speichert Wissen, bevor es durch Context-Limits verloren geht |
|
|
403
|
-
| **Vor riskanten Befehlen und Edits** | Löst die von Ihnen akzeptierten Lektions-Guards aus — eine Warnung genau in dem Moment, in dem sich ein erfasster Fehler wiederholen würde |
|
|
404
|
-
| **Wenn eine optierte Codex-Session startet oder fortgesetzt wird** | Registriert genau diesen aktiven Thread für die native Zustellung größenbegrenzter vollständiger Nachrichten; andere Workspaces und gestoppte Sessions werden nicht angehängt |
|
|
405
|
-
|
|
406
|
-
> **Jederzeit abschalten:** `export MEMESH_AUTO_CAPTURE=false`
|
|
407
|
-
|
|
408
|
-
---
|
|
409
|
-
|
|
410
|
-
## Konfiguration
|
|
411
|
-
|
|
412
|
-
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.
|
|
413
|
-
|
|
414
|
-
| Variable | Standard | Was sie bewirkt |
|
|
415
|
-
|---|---|---|
|
|
416
|
-
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Überschreibt den Speicherort der SQLite-Datenbank. |
|
|
417
|
-
| `MEMESH_AUTO_CAPTURE` | `true` | Deaktiviert die Auto-Capture-Hooks (`Stop`, `PreCompact`) vollständig. |
|
|
418
|
-
| `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`. |
|
|
419
|
-
| `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). Eine Maintainer-Deprecation-Warnung überschreibt `off` niemals: Aktualisieren Sie manuell oder wählen Sie eine Richtlinie, die den Bump erlaubt. |
|
|
420
|
-
| `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. |
|
|
421
|
-
| `OLLAMA_HOST` | `http://localhost:11434` | Überschreibt den Ollama-Endpoint, wenn ein lokaler Ollama-Provider verwendet wird. |
|
|
422
|
-
|
|
423
|
-
`memesh doctor` gibt die aufgelöste Konfiguration aus, sodass Sie sehen, was aktiv ist.
|
|
424
|
-
|
|
425
|
-
**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.
|
|
426
|
-
|
|
427
|
-
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.
|
|
428
|
-
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
## Dashboard
|
|
432
|
-
|
|
433
|
-
5 Reiter, 11 Sprachen, keine externen Abhängigkeiten. Zugang unter `http://localhost:3737/dashboard` wenn der Server läuft.
|
|
434
|
-
|
|
435
|
-
| Reiter | Was Sie sehen |
|
|
436
|
-
|--------|-------------|
|
|
437
|
-
| **Home** | Was memesh für Sie getan hat — Dreamer-Insights zuerst: wöchentliche Zusammenfassungen und Mustervorschläge mit Ein-Klick-Akzeptieren/Ablehnen; die komplette Analyse (Memory Health Score, 30-Tage-Timeline, PM-Velocity + KG-Konnektivität, Arbeitsmuster) liegt in einem bei Bedarf ausklappbaren Bereich |
|
|
438
|
-
| **Memories** | Die ganze Bibliothek hinter einer Oberfläche — Sofortfilter plus Enter für server-gerankte Suche (Volltext + Vektor), Scope-Chips für die Arbeitsebene (Ziele/Entscheidungen/Lektionen/Pläne) vs. Belege vs. alle vs. archiviert, ein Cluster-Kompositionsbalken, aufklappbare Details pro Zeile (Lektionen behalten ihre strukturierte Fehler/Grundursache/Behebung/Prävention-Ansicht), Archivieren/Wiederherstellen inline |
|
|
439
|
-
| **Project** | Die Geschichte eines Projekts — die Roadmap-Ansicht (Phasen, Meilensteine, Schlüssellektionen) hinter einem Projektwähler |
|
|
440
|
-
| **Graph** | Interaktiver kraft-gerichteter Wissensgraph mit Typfiltern, Suche, Ego-Modus, Aktualitäts-Heatmap |
|
|
441
|
-
| **Settings** | LLM-Provider-Konfiguration, sofortiger Sprachwahlschalter |
|
|
442
|
-
|
|
443
|
-
---
|
|
444
|
-
|
|
445
|
-
## Intelligente Features
|
|
446
|
-
|
|
447
|
-
**🧠 Intelligente Suche** — Suche nach „Login Security" und finde Memories über „OAuth PKCE". MeMesh nutzt auf dem heißen Pfad FTS5 + sqlite-vec, ohne LLM; die Vektor-Ergänzung erreicht dennoch verwandte Formulierungen.
|
|
448
|
-
|
|
449
|
-
**🌏 Suche in Schriften ohne Wortzwischenräume** — Chinesisch, Japanisch, Koreanisch, Thai, Laotisch, Khmer und halbbreites Katakana werden als überlappende Zeichenpaare indiziert. Eine als 「資料庫遷移前一定要先備份」 gespeicherte Erinnerung findet man deshalb mit 「備份」 — und nicht nur über den exakten Volltext. Der Text wird beim Schreiben wie beim Suchen normalisiert (NFC), sodass unter macOS oder mit einer koreanischen bzw. vietnamesischen Eingabemethode getippte Erinnerungen in beiden Schreibweisen gefunden werden.
|
|
450
|
-
|
|
451
|
-
**📊 Bewertetes Ranking** — Ergebnisse geordnet nach Relevanz (30%) + Aktualität (25%) + Häufigkeit (18%) + Konfidenz (17%) + Abruf-Auswirkung (10%).
|
|
452
|
-
|
|
453
|
-
**🔄 Wissensentwicklung** — Entscheidungen ändern sich. `forget` archiviert alte Memories (löscht nie). `supersedes`-Relationen verbinden alt → neu. Ihr KI sieht immer die aktuelle Version.
|
|
454
|
-
|
|
455
|
-
**⚠️ Konflikterkennung** — `memesh dream conflicts` lässt das LLM Ihre semantisch nächstliegenden Memory-Paare auf Widerspruch, Supersession oder Duplikat prüfen und legt die Treffer als Vorschläge ab. Nichts wird von selbst übernommen: Sie prüfen mit `dream list` / `dream show`, und erst ein akzeptierter Vorschlag erstellt die Relation — danach trägt jedes `recall`, das eine der beiden Memories betrifft, die Warnung. Kausalität wird nie aus Zeitstempeln abgeleitet; die Urteile beruhen darauf, was die Memories tatsächlich aussagen.
|
|
456
|
-
|
|
457
|
-
**🕸️ Wissensgraph-Konnektivität** — `memesh kg backfill-relations --all-rules` verknüpft verwaiste Entitäten über Tag-Kookurrenz, Projekt-Clustering, Sitzungskontext und Namensähnlichkeit — ohne LLM.
|
|
458
|
-
|
|
459
|
-
**📦 Persönliches Backup und Migration** — `memesh export > memesh-backup.json` → auf einen anderen Rechner kopieren → `memesh import memesh-backup.json`
|
|
460
|
-
Importierte Bundles bleiben durchsuchbar, aber MeMesh injiziert importierte Memories nicht automatisch in den Host-Kontext, bis Sie sie überprüfen oder lokal neu speichern.
|
|
461
|
-
|
|
462
|
-
---
|
|
463
|
-
|
|
464
|
-
## Beispiele aus der Praxis
|
|
465
|
-
|
|
466
|
-
> "MeMesh hat sich daran erinnert, dass wir vor drei Wochen PKCE gegenüber Implicit Flow gewählt haben. Als ich Claude erneut nach Auth fragte, wusste es bereits Bescheid — keine Wiederholungen nötig."
|
|
467
|
-
> — **Einzelentwickler, baut eine SaaS**
|
|
468
|
-
|
|
469
|
-
> "Eine in Claude Code gespeicherte Entscheidung war am nächsten Tag aus Codex abrufbar. Dieselbe lokale Memory folgt meiner Arbeit statt einem einzelnen Agenten."
|
|
470
|
-
> — **Einzelentwickler mit mehreren Coding-Agenten**
|
|
471
|
-
|
|
472
|
-
> "Das Dashboard zeigte mir, dass 90 % meiner Memories automatisch generierte Session-Logs waren. Ich begann, `remember` bewusst für Architekturentscheidungen zu nutzen. Ein Spielwechsel."
|
|
473
|
-
> — **Entwickler, der das Analytics-Panel entdeckte**
|
|
474
|
-
|
|
475
|
-
---
|
|
476
|
-
|
|
477
|
-
## Rezepte
|
|
478
|
-
|
|
479
|
-
### Einen Widerspruch erkennen, bevor er zum Problem wird
|
|
480
|
-
|
|
481
|
-
Zwei Entscheidungen, Wochen auseinander getroffen, die nicht beide wahr sein können — genau das Fehlerbild, das eine Memory-Schicht abfangen soll:
|
|
482
|
-
|
|
483
|
-
```bash
|
|
484
|
-
memesh remember --name retry-policy --type decision \
|
|
485
|
-
--obs "Alle HTTP-Clients wiederholen fehlgeschlagene Requests bis zu 5-mal mit exponentiellem Backoff."
|
|
486
|
-
# ...Wochen später entscheidet jemand das Gegenteil...
|
|
487
|
-
memesh remember --name retry-policy-v2 --type decision \
|
|
488
|
-
--obs "HTTP-Clients dürfen niemals automatisch wiederholen — sofort fehlschlagen und den Fehler melden."
|
|
489
|
-
|
|
490
|
-
memesh dream conflicts # markiert das Paar, mit Begründung
|
|
491
|
-
memesh dream show 1 # Urteil, Auszüge und Folgen der Annahme lesen
|
|
492
|
-
memesh dream accept 1 # SIE entscheiden — nichts wird je automatisch verknüpft
|
|
493
|
-
memesh recall "retry policy" # → Warnung: Konflikte erkannt
|
|
494
|
-
```
|
|
495
|
-
|
|
496
|
-
Ab dann wird jedem Assistenten, der eine der beiden Entscheidungen abruft, gesagt, dass sie im Widerspruch stehen — statt selbstbewusst die zuerst gefundene zu zitieren.
|
|
497
|
-
|
|
498
|
-
### Eine Erinnerung, drei Assistenten
|
|
499
|
-
|
|
500
|
-
MeMesh ist ein MCP-Server, daher bedient dieselbe SQLite-Datei jeden MCP-Client auf der Maschine. Einmal pro Tool registrieren (die genauen Befehle stehen oben unter „In 60 Sekunden starten") — und eine in Claude Code gespeicherte Entscheidung wird mitten in der Session von Codex oder einem anderen konfigurierten lokalen MCP-Client abgerufen: kein erneutes Erklären, kein Kontext zwischen Anbietern hin- und herkopieren.
|
|
501
|
-
|
|
502
|
-
### Entscheidungen so festhalten, dass sie auffindbar bleiben
|
|
503
|
-
|
|
504
|
-
Auto-Capture hält die Session-Historie fest, aber die Erinnerungen, die sich wirklich auszahlen, sind die bewusst gespeicherten:
|
|
505
|
-
|
|
506
|
-
```bash
|
|
507
|
-
memesh remember --name auth-approach --type decision \
|
|
508
|
-
--obs "JWT mit RS256; PKCE statt Implicit Flow, weil der Client öffentlich ist." \
|
|
509
|
-
--tags "project:myapp" "topic:auth"
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
Verknüpfen Sie dann Folgen mit ihren Ursachen, sobald sie eintreten — von jedem MCP-Client aus, in normalen Worten: „diesen Vorfall als Lektion speichern, beeinflusst von auth-approach". Das `remember`-Tool nimmt frei formulierte Relationen entgegen, und `caused` / `influenced` sind das dokumentierte Kausal-Vokabular (Ursache → Wirkung, explizit angegeben — MeMesh leitet Kausalität nie aus Zeitstempeln ab). Wochen später liefert `memesh recall "warum haben wir uns für PKCE entschieden"` die Entscheidung samt der aufgezeichneten Folgen — nachvollziehbare Begründung, nicht nur zufällig passender Text.
|
|
513
|
-
|
|
514
|
-
---
|
|
515
|
-
|
|
516
|
-
## Smart Mode freischalten (optional)
|
|
517
|
-
|
|
518
|
-
MeMesh funktioniert standardmäßig offline — Recall bleibt strikt LLM-frei (95,60 % R@5 auf LongMemEval-S, ohne LLM). Fügen Sie einen LLM API-Schlüssel nur hinzu, wenn Sie LLM-augmentierte Analyseflüsse zusätzlich nutzen möchten: intelligentere Session-Extraktion, Auto-Tagging neuer Memories, Lektionen aus Fehlern und `dream` Kompression:
|
|
519
|
-
|
|
520
|
-
```bash
|
|
521
|
-
memesh config set llm.provider anthropic
|
|
522
|
-
memesh config set llm.api-key sk-ant-...
|
|
122
|
+
memesh briefing # was der Agent über dieses Projekt weiß und wo du aufgehört hast
|
|
123
|
+
memesh serve # startet den lokalen Server und gibt die Dashboard-URL aus
|
|
523
124
|
```
|
|
524
125
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
```bash
|
|
528
|
-
memesh serve # öffnet Dashboard → Settings-Reiter
|
|
529
|
-
```
|
|
126
|
+
Lass `memesh serve` laufen und öffne die ausgegebene URL. Für die Memory-Tools brauchst du in Claude Code nicht einmal das Terminal: Sag im Chat „remember this“, und das Briefing kommt bei jedem Sitzungsstart von selbst.
|
|
530
127
|
|
|
531
|
-
|
|
128
|
+
Zwei Dinge, die du kennen solltest, sobald Erinnerungen da sind:
|
|
532
129
|
|
|
533
|
-
|
|
130
|
+
- `forget` archiviert eine Erinnerung, statt sie zu löschen. Eine neuere Erinnerung kann eine ältere ablösen.
|
|
131
|
+
- Ein laufender Agent kann mit `work_package` einen Kalender-Digest oder begrenzte sichtbare Züge aus dem neuesten geeigneten aktuellen Claude-Code-Transkript vorbereiten. Der Transkriptmodus erfordert genau einen passenden MCP-Datei-Root des Clients; fehlende oder mehrdeutige Roots und begrenzte Scanfehler scheitern geschlossen. Die Einreichung bewahrt redigierte Quellzüge auf und stellt nur einen Vorschlag zur menschlichen Prüfung bereit; Agenten können ihn nicht anwenden oder ablehnen, und MeMesh kontaktiert keinen Provider. Die exakten Suchgrenzen stehen in der [API-Referenz](docs/api/API_REFERENCE.md#work_package).
|
|
534
132
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
```bash
|
|
538
|
-
memesh config set embedder.provider openai # or: ollama
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
Der Embedder wird **unabhängig vom Chat-LLM** konfiguriert — `llm.provider` zu ändern ändert nie stillschweigend deine Embeddings. Jeder Anbieter legt sein Modell und seine Dimension selbst fest (`ollama` → nomic-embed-text mit 768, `openai` → text-embedding-3-small mit 1536); das Modell ist nicht separat wählbar, weil ein Vektorindex auf eine Dimension festgelegt ist und ein zweites Modell Vektoren aus einem anderen Embedding-Raum hineinschreiben würde.
|
|
542
|
-
|
|
543
|
-
Wechselst du zu einer anderen Dimension (z. B. 768 → 1536), wird **nichts gelöscht**. MeMesh behält den bestehenden Index und weist beim Öffnen darauf hin, `memesh reindex` auszuführen: der neue Index wird neben dem alten aufgebaut und erst übernommen, wenn jede Erinnerung einen Vektor hat — ein abgebrochener Neuaufbau kostet dich also nichts und wird an der Abbruchstelle fortgesetzt. In diesem Zeitraum ist die semantische Suche aus und das Recall läuft nur über die Keyword-Suche; `recall` meldet das als `degraded`, statt eine Suche vorzugeben. Unterstützte `embedder.provider`-Werte: `ollama` (lokal), `openai` (gehostet). Ohne Einstellung bleibt das Recall bei der Keyword-Suche.
|
|
544
|
-
|
|
545
|
-
| | Stufe 0 (Standard) | Stufe 1 (Smart Mode) |
|
|
546
|
-
|---|---|---|
|
|
547
|
-
| **Suche** | FTS5 + sqlite-vec, 95,60 % R@5 | unverändert — Recall ist auf jeder Stufe LLM-frei |
|
|
548
|
-
| **Auto-Capture** | Regelbasierte Muster | + LLM extrahiert Entscheidungen & Lektionen |
|
|
549
|
-
| **Auto-Tagging** | Nur manuelle Tags | + LLM generiert Tags für neue Memories |
|
|
550
|
-
| **Fehleranalyse** | Nicht verfügbar | + LLM wandelt Session-Fehler in strukturierte Lektionen um |
|
|
551
|
-
| **Kompression** | Nicht verfügbar | `dream` komprimieren ausschweifende Memories |
|
|
552
|
-
| **Kosten** | Kostenlos, kein API-Schlüssel | ~$0,0001 pro Analyseanfrage (Haiku) |
|
|
133
|
+
Alle Befehle und Tools: [docs/api/API_REFERENCE.md](docs/api/API_REFERENCE.md). Aufbau: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). Mitmachen: [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
553
134
|
|
|
554
135
|
---
|
|
555
136
|
|
|
556
|
-
## Alle
|
|
137
|
+
## Alle 12 Memory- und Koordinations-Tools
|
|
557
138
|
|
|
558
139
|
| Tool | Was es tut |
|
|
559
140
|
|------|-------------|
|
|
141
|
+
| `work_package` | Einen begrenzten, nicht vertrauenswürdigen Kalender-Digest oder ein Claude-Code-Transkript-Paket unter einem passenden MCP-Workspace-Root vorbereiten; genau ein striktes Ergebnis zur menschlichen Prüfung einreichen oder ohne dauerhafte Änderung zurückstellen. Die Transkript-Einreichung bewahrt begrenzte redigierte Quellzüge auf; Dateipfad, verborgenes Denken, Provider-, Embedding- oder Vektordaten werden nicht offengelegt. |
|
|
560
142
|
| `remember` | Wissen mit Beobachtungen, Relationen und Tags speichern |
|
|
561
|
-
| `recall` | FTS5
|
|
143
|
+
| `recall` | Lokale FTS5-Suche mit Multi-Faktor-Bewertung (Relevanz, Aktualität, Häufigkeit, Konfidenz, Abruf-Auswirkung) |
|
|
562
144
|
| `forget` | Soft-Archivierung (löscht nie) oder entfernt spezifische Beobachtungen |
|
|
563
145
|
| `export` | Memories als JSON sichern, migrieren oder zwischen kompatiblen Agenten übertragen |
|
|
564
146
|
| `import` | Memories mit Merge-Strategien importieren (Skip / Overwrite / Append) |
|
|
@@ -571,72 +153,17 @@ Wechselst du zu einer anderen Dimension (z. B. 768 → 1536), wird **nichts gel
|
|
|
571
153
|
|
|
572
154
|
---
|
|
573
155
|
|
|
574
|
-
##
|
|
156
|
+
## Das Kleingedruckte
|
|
575
157
|
|
|
576
|
-
|
|
577
|
-
┌─────────────────┐
|
|
578
|
-
│ Core Engine │
|
|
579
|
-
│ (7 operations) │
|
|
580
|
-
└────────┬────────┘
|
|
581
|
-
┌─────────────────┼─────────────────┐
|
|
582
|
-
│ │ │
|
|
583
|
-
CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
|
|
584
|
-
│ │ │
|
|
585
|
-
└─────────────────┼─────────────────┘
|
|
586
|
-
│
|
|
587
|
-
SQLite + FTS5 + sqlite-vec
|
|
588
|
-
(~/.memesh/knowledge-graph.db)
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
Der Kern ist Framework-agnostisch. Dieselbe Logik läuft vom Terminal, HTTP oder MCP.
|
|
592
|
-
|
|
593
|
-
---
|
|
594
|
-
|
|
595
|
-
## Aktualisieren
|
|
596
|
-
|
|
597
|
-
Der Plugin-Marketplace von Claude Code fixiert Versionen zum Installationszeitpunkt und aktualisiert **nicht** automatisch. So holst du dir ein neues Release:
|
|
598
|
-
|
|
599
|
-
**Option A — `/plugin` UI**: `memesh@pcircle-memesh` deinstallieren, dann neu installieren. Claude Code holt die neueste Marketplace-Version.
|
|
158
|
+
**Bewertete Reihenfolge** — Ergebnisse sortiert nach Relevanz (30%) + Aktualität (25%) + Häufigkeit (18%) + Konfidenz (17%) + Abruf-Wirkung (10%).
|
|
600
159
|
|
|
601
|
-
**
|
|
602
|
-
|
|
603
|
-
```bash
|
|
604
|
-
memesh upgrade-plugin
|
|
605
|
-
```
|
|
606
|
-
|
|
607
|
-
Der Befehl findet die installierte Plugin-Version, prüft die Voraussetzungen und führt das mitgelieferte Upgrade-Skript aus. Voraussetzungen: `node`, `npm` und `rsync` im PATH (macOS bringt rsync mit; Debian/Ubuntu: `sudo apt install rsync`).
|
|
608
|
-
|
|
609
|
-
Nur-Plugin-Nutzer ohne npm-CLI können das Skript weiter von Hand starten — die installierte Version in den Pfad einsetzen:
|
|
610
|
-
|
|
611
|
-
```bash
|
|
612
|
-
bash ~/.claude/plugins/cache/pcircle-memesh/memesh/<current-version>/scripts/upgrade-plugin.sh
|
|
160
|
+
**Agenten-Nachrichten, die genauen Regeln** (ausführlich: [docs/platforms/agent-messaging.md](docs/platforms/agent-messaging.md)):
|
|
613
161
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
Das Skript fast-forwarded den Marketplace-Cache, legt die neue Version unter `~/.claude/plugins/cache/` ab, installiert Runtime-Dependencies und zeigt `installed_plugins.json` neu. Starte danach Claude Code neu, damit der MCP-Server sich neu verbindet.
|
|
620
|
-
|
|
621
|
-
**npm-global-Installationen** (`npm install -g @pcircle/memesh`) können sich via `memesh update` selbst aktualisieren. Source-Checkouts: `git pull && npm install && npm run build`.
|
|
622
|
-
|
|
623
|
-
Beim Session-Start erscheint ein einzeiliges Banner (pro Version alle 24h gedrosselt), wenn ein neueres Release verfügbar ist, und `memesh doctor` meldet das Upgrade-Ziel mit kanalspezifischem Befehl.
|
|
624
|
-
|
|
625
|
-
---
|
|
626
|
-
|
|
627
|
-
## Beitragen
|
|
628
|
-
|
|
629
|
-
```bash
|
|
630
|
-
git clone https://github.com/PCIRCLE-AI/memesh
|
|
631
|
-
cd memesh && npm install && npm run build
|
|
632
|
-
npm test
|
|
633
|
-
npm run test:e2e-dashboard
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
Dashboard: `cd dashboard && npm install && npm run dev`
|
|
162
|
+
- Heute verfügbar: Ein Sender über MCP, HTTP oder CLI kann einen nicht vertrauenswürdigen, JSON-kodierten Payload von höchstens 65.536 UTF-8-Bytes (64 KiB) dauerhaft an genau einen lokalen Empfänger senden. Der Empfänger kann ihn getrennt abrufen, nach einem Neustart mit einem opaken Cursor fortsetzen und Intake, Bestätigung, Workflow-Status und Host-Aktivierung getrennt protokollieren.
|
|
163
|
+
- Mit aktiviertem MeMesh-Codex-Plugin registriert sich jeder gestartete oder fortgesetzte gewöhnliche Codex-CLI-Thread mit gültiger Thread-Identität und vorhandenem Arbeitsverzeichnis automatisch mit einer threadbezogenen Identität; ein manuelles `agent setup` ist nicht erforderlich. SessionStart startet einen benutzereigenen, abgekoppelten Companion, weil Codex beim Beenden des CLI-Prozesses ein asynchrones Hook-Kind beendet. SessionEnd lässt ein begrenztes 45-Sekunden-Fenster für die inaktive Queue offen; Resume ersetzt die vorherige exakte Generation, und nach Ablauf wird die Registrierung entfernt. Eine in diesem Fenster angenommene Nachricht wird beim Fortsetzen desselben Threads für das Modell sichtbar; dies ist keine Behauptung, dass eine gestoppte Oberfläche geweckt wurde. `memesh agent setup codex-session` bleibt optional, wenn ein Workspace einen stabil benannten Principal benötigt. Der vollständige native Envelope einschließlich Routing-Metadaten und Payload ist separat auf 16.384 Bytes (16 KiB) begrenzt. Ein Exact-Session-Send ist erst erfolgreich, wenn die native Queue ihn annimmt; ein zu großer Envelope meldet `native_message_too_large`, andere nicht verfügbare oder abgelehnte Sessions melden `recipient_unavailable`. Eingegrenzte Recovery-Daten bleiben erhalten, und Principal-Ziele behalten Durable Store-and-Forward bei. Native Annahme bedeutet weder Bestätigung noch Workflow-Status; native Nachrichten dürfen keine Secrets enthalten.
|
|
164
|
+
- Eine gestoppte, fehlende oder getrennte Codex-Session wird weder geweckt noch ersetzt; eine fehlgeschlagene native Exact-Session-Zustellung wird nicht automatisch wiederholt, der Absender muss bewusst erneut senden. Eingegrenzte Recovery-Daten bleiben verfügbar; `memesh message storage report` zeigt, was gespeichert ist. Native Zustellung gibt es nur unter macOS und Linux.
|
|
165
|
+
- Dieser dokumentierte native Pfad gilt für die gewöhnliche Codex CLI. Nimm bei Codex Desktop oder einem nicht angehängten Task keine Registrierung an, solange die exakte laufende Session nicht in `message discover` erscheint; das ist eine Evidenzgrenze, keine pauschale Inkompatibilitätsaussage.
|
|
637
166
|
|
|
638
167
|
---
|
|
639
168
|
|
|
640
|
-
<p align="center">
|
|
641
|
-
<strong>MIT</strong> — Erstellt von <a href="https://pcircle.com">PCIRCLE AI</a>
|
|
642
|
-
</p>
|
|
169
|
+
<p align="center"><strong>MIT-Lizenz</strong></p>
|