@pcircle/memesh 4.8.3 → 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.
Files changed (254) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +2 -1
  3. package/.codex-plugin/mcp.json +6 -4
  4. package/.codex-plugin/plugin.json +1 -1
  5. package/AGENTS.md +68 -17
  6. package/README.de.md +83 -555
  7. package/README.md +83 -581
  8. package/README.zh-TW.md +84 -572
  9. package/dashboard/dist/index.html +10 -10
  10. package/dist/cli/view-live.d.ts.map +1 -1
  11. package/dist/cli/view-live.js +154 -384
  12. package/dist/cli/view-live.js.map +1 -1
  13. package/dist/core/agent-message-inbox.d.ts +2 -1
  14. package/dist/core/agent-message-inbox.d.ts.map +1 -1
  15. package/dist/core/agent-message-inbox.js +23 -4
  16. package/dist/core/agent-message-inbox.js.map +1 -1
  17. package/dist/core/agent-messaging.d.ts.map +1 -1
  18. package/dist/core/agent-messaging.js +23 -15
  19. package/dist/core/agent-messaging.js.map +1 -1
  20. package/dist/core/agent-router.d.ts +11 -10
  21. package/dist/core/agent-router.d.ts.map +1 -1
  22. package/dist/core/agent-router.js +29 -14
  23. package/dist/core/agent-router.js.map +1 -1
  24. package/dist/core/agent-scope-id.d.ts +11 -0
  25. package/dist/core/agent-scope-id.d.ts.map +1 -0
  26. package/dist/core/agent-scope-id.js +40 -0
  27. package/dist/core/agent-scope-id.js.map +1 -0
  28. package/dist/core/analytics.d.ts.map +1 -1
  29. package/dist/core/analytics.js.map +1 -1
  30. package/dist/core/briefing.d.ts.map +1 -1
  31. package/dist/core/briefing.js +8 -2
  32. package/dist/core/briefing.js.map +1 -1
  33. package/dist/core/config.d.ts +4 -40
  34. package/dist/core/config.d.ts.map +1 -1
  35. package/dist/core/config.js +75 -141
  36. package/dist/core/config.js.map +1 -1
  37. package/dist/core/demo.d.ts.map +1 -1
  38. package/dist/core/demo.js +6 -6
  39. package/dist/core/demo.js.map +1 -1
  40. package/dist/core/doctor.d.ts +2 -6
  41. package/dist/core/doctor.d.ts.map +1 -1
  42. package/dist/core/doctor.js +120 -154
  43. package/dist/core/doctor.js.map +1 -1
  44. package/dist/core/dreamer.d.ts +32 -47
  45. package/dist/core/dreamer.d.ts.map +1 -1
  46. package/dist/core/dreamer.js +214 -704
  47. package/dist/core/dreamer.js.map +1 -1
  48. package/dist/core/install-channel.d.ts.map +1 -1
  49. package/dist/core/install-channel.js +4 -47
  50. package/dist/core/install-channel.js.map +1 -1
  51. package/dist/core/install-id.d.ts.map +1 -1
  52. package/dist/core/install-id.js.map +1 -1
  53. package/dist/core/kg-backfill.d.ts.map +1 -1
  54. package/dist/core/kg-backfill.js.map +1 -1
  55. package/dist/core/lesson-engine.d.ts +0 -5
  56. package/dist/core/lesson-engine.d.ts.map +1 -1
  57. package/dist/core/lesson-engine.js +0 -25
  58. package/dist/core/lesson-engine.js.map +1 -1
  59. package/dist/core/lifecycle.d.ts.map +1 -1
  60. package/dist/core/lifecycle.js +58 -49
  61. package/dist/core/lifecycle.js.map +1 -1
  62. package/dist/core/memory-tool.d.ts.map +1 -1
  63. package/dist/core/memory-tool.js +20 -18
  64. package/dist/core/memory-tool.js.map +1 -1
  65. package/dist/core/operations.d.ts +3 -27
  66. package/dist/core/operations.d.ts.map +1 -1
  67. package/dist/core/operations.js +10 -245
  68. package/dist/core/operations.js.map +1 -1
  69. package/dist/core/paths.d.ts +4 -1
  70. package/dist/core/paths.d.ts.map +1 -1
  71. package/dist/core/paths.js +88 -14
  72. package/dist/core/paths.js.map +1 -1
  73. package/dist/core/product-improvements.js +2 -2
  74. package/dist/core/product-improvements.js.map +1 -1
  75. package/dist/core/project-tags.d.ts +2 -0
  76. package/dist/core/project-tags.d.ts.map +1 -1
  77. package/dist/core/project-tags.js +29 -1
  78. package/dist/core/project-tags.js.map +1 -1
  79. package/dist/core/schema-export.d.ts.map +1 -1
  80. package/dist/core/schema-export.js +13 -3
  81. package/dist/core/schema-export.js.map +1 -1
  82. package/dist/core/semver.d.ts +7 -0
  83. package/dist/core/semver.d.ts.map +1 -0
  84. package/dist/core/semver.js +49 -0
  85. package/dist/core/semver.js.map +1 -0
  86. package/dist/core/serializer.d.ts.map +1 -1
  87. package/dist/core/serializer.js +69 -57
  88. package/dist/core/serializer.js.map +1 -1
  89. package/dist/core/signal-scorer.d.ts.map +1 -1
  90. package/dist/core/signal-scorer.js.map +1 -1
  91. package/dist/core/transcript-extractor.d.ts +1 -85
  92. package/dist/core/transcript-extractor.d.ts.map +1 -1
  93. package/dist/core/transcript-extractor.js +5 -364
  94. package/dist/core/transcript-extractor.js.map +1 -1
  95. package/dist/core/transcript-source.d.ts +22 -6
  96. package/dist/core/transcript-source.d.ts.map +1 -1
  97. package/dist/core/transcript-source.js +108 -69
  98. package/dist/core/transcript-source.js.map +1 -1
  99. package/dist/core/types.d.ts +1 -17
  100. package/dist/core/types.d.ts.map +1 -1
  101. package/dist/core/version-check.d.ts +1 -0
  102. package/dist/core/version-check.d.ts.map +1 -1
  103. package/dist/core/version-check.js +46 -1
  104. package/dist/core/version-check.js.map +1 -1
  105. package/dist/db.d.ts +0 -34
  106. package/dist/db.d.ts.map +1 -1
  107. package/dist/db.js +6 -287
  108. package/dist/db.js.map +1 -1
  109. package/dist/host-runtime/acp.d.ts.map +1 -1
  110. package/dist/host-runtime/acp.js +4 -3
  111. package/dist/host-runtime/acp.js.map +1 -1
  112. package/dist/host-runtime/claude.d.ts.map +1 -1
  113. package/dist/host-runtime/claude.js +11 -11
  114. package/dist/host-runtime/claude.js.map +1 -1
  115. package/dist/host-runtime/codex-session.d.ts +9 -1
  116. package/dist/host-runtime/codex-session.d.ts.map +1 -1
  117. package/dist/host-runtime/codex-session.js +474 -29
  118. package/dist/host-runtime/codex-session.js.map +1 -1
  119. package/dist/host-runtime/codex.d.ts.map +1 -1
  120. package/dist/host-runtime/codex.js +4 -3
  121. package/dist/host-runtime/codex.js.map +1 -1
  122. package/dist/host-runtime/config.d.ts +1 -0
  123. package/dist/host-runtime/config.d.ts.map +1 -1
  124. package/dist/host-runtime/config.js +4 -0
  125. package/dist/host-runtime/config.js.map +1 -1
  126. package/dist/host-runtime/entry.d.ts +5 -0
  127. package/dist/host-runtime/entry.d.ts.map +1 -0
  128. package/dist/host-runtime/entry.js +11 -0
  129. package/dist/host-runtime/entry.js.map +1 -0
  130. package/dist/host-runtime/router-client.d.ts.map +1 -1
  131. package/dist/host-runtime/router-client.js +62 -15
  132. package/dist/host-runtime/router-client.js.map +1 -1
  133. package/dist/host-runtime/router.js +2 -2
  134. package/dist/host-runtime/router.js.map +1 -1
  135. package/dist/knowledge-graph.d.ts +0 -1
  136. package/dist/knowledge-graph.d.ts.map +1 -1
  137. package/dist/knowledge-graph.js +77 -60
  138. package/dist/knowledge-graph.js.map +1 -1
  139. package/dist/mcp/THIRD_PARTY_NOTICES.txt +217 -0
  140. package/dist/mcp/server.js +30685 -38
  141. package/dist/mcp/server.js.map +6 -1
  142. package/dist/skills-manifest.json +39 -34
  143. package/dist/storage/entity-index.d.ts +3 -0
  144. package/dist/storage/entity-index.d.ts.map +1 -0
  145. package/dist/storage/entity-index.js +8 -0
  146. package/dist/storage/entity-index.js.map +1 -0
  147. package/dist/storage/fts-index.d.ts.map +1 -1
  148. package/dist/storage/fts-index.js +11 -7
  149. package/dist/storage/fts-index.js.map +1 -1
  150. package/dist/storage/graph-repairs.d.ts +7 -2
  151. package/dist/storage/graph-repairs.d.ts.map +1 -1
  152. package/dist/storage/graph-repairs.js +89 -13
  153. package/dist/storage/graph-repairs.js.map +1 -1
  154. package/dist/storage/schema.d.ts +1 -1
  155. package/dist/storage/schema.d.ts.map +1 -1
  156. package/dist/storage/schema.js +1 -2
  157. package/dist/storage/schema.js.map +1 -1
  158. package/dist/storage/sqlite.d.ts +0 -1
  159. package/dist/storage/sqlite.d.ts.map +1 -1
  160. package/dist/storage/sqlite.js.map +1 -1
  161. package/dist/transports/agent-messaging.d.ts.map +1 -1
  162. package/dist/transports/agent-messaging.js +5 -7
  163. package/dist/transports/agent-messaging.js.map +1 -1
  164. package/dist/transports/cli/cli.d.ts.map +1 -1
  165. package/dist/transports/cli/cli.js +75 -686
  166. package/dist/transports/cli/cli.js.map +1 -1
  167. package/dist/transports/http/retired-routes.js +1 -1
  168. package/dist/transports/http/retired-routes.js.map +1 -1
  169. package/dist/transports/http/server.d.ts.map +1 -1
  170. package/dist/transports/http/server.js +13 -232
  171. package/dist/transports/http/server.js.map +1 -1
  172. package/dist/transports/mcp/handlers.d.ts +130 -4
  173. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  174. package/dist/transports/mcp/handlers.js +56 -7
  175. package/dist/transports/mcp/handlers.js.map +1 -1
  176. package/dist/transports/schemas.d.ts +71 -19
  177. package/dist/transports/schemas.d.ts.map +1 -1
  178. package/dist/transports/schemas.js +57 -11
  179. package/dist/transports/schemas.js.map +1 -1
  180. package/docs/platforms/README.md +6 -5
  181. package/docs/platforms/agent-messaging.md +241 -20
  182. package/hooks/hooks.json +23 -2
  183. package/llms-install.md +62 -30
  184. package/package.json +12 -9
  185. package/scripts/hooks/_generated/agent-message-inbox.js +23 -4
  186. package/scripts/hooks/_generated/core-paths.js +88 -14
  187. package/scripts/hooks/_generated/fts-index.js +11 -7
  188. package/scripts/hooks/_generated/schema.js +1 -2
  189. package/scripts/hooks/_shared.js +65 -23
  190. package/scripts/hooks/decision-nudge.js +152 -0
  191. package/scripts/hooks/post-commit.js +11 -0
  192. package/scripts/hooks/pre-compact.js +12 -4
  193. package/scripts/hooks/session-start.js +32 -9
  194. package/scripts/hooks/session-summary.js +19 -374
  195. package/scripts/upgrade-plugin.sh +71 -2
  196. package/skills/memesh/SKILL.md +24 -15
  197. package/skills/memesh-review/SKILL.md +7 -6
  198. package/dist/core/auto-tagger.d.ts +0 -10
  199. package/dist/core/auto-tagger.d.ts.map +0 -1
  200. package/dist/core/auto-tagger.js +0 -63
  201. package/dist/core/auto-tagger.js.map +0 -1
  202. package/dist/core/conflict-candidates.d.ts +0 -20
  203. package/dist/core/conflict-candidates.d.ts.map +0 -1
  204. package/dist/core/conflict-candidates.js +0 -71
  205. package/dist/core/conflict-candidates.js.map +0 -1
  206. package/dist/core/conflict-judge.d.ts +0 -58
  207. package/dist/core/conflict-judge.d.ts.map +0 -1
  208. package/dist/core/conflict-judge.js +0 -189
  209. package/dist/core/conflict-judge.js.map +0 -1
  210. package/dist/core/digest-validator.d.ts +0 -18
  211. package/dist/core/digest-validator.d.ts.map +0 -1
  212. package/dist/core/digest-validator.js +0 -85
  213. package/dist/core/digest-validator.js.map +0 -1
  214. package/dist/core/embedder.d.ts +0 -20
  215. package/dist/core/embedder.d.ts.map +0 -1
  216. package/dist/core/embedder.js +0 -242
  217. package/dist/core/embedder.js.map +0 -1
  218. package/dist/core/failure-analyzer.d.ts +0 -19
  219. package/dist/core/failure-analyzer.d.ts.map +0 -1
  220. package/dist/core/failure-analyzer.js +0 -83
  221. package/dist/core/failure-analyzer.js.map +0 -1
  222. package/dist/core/json-utils.d.ts +0 -3
  223. package/dist/core/json-utils.d.ts.map +0 -1
  224. package/dist/core/json-utils.js +0 -46
  225. package/dist/core/json-utils.js.map +0 -1
  226. package/dist/core/llm-client.d.ts +0 -22
  227. package/dist/core/llm-client.d.ts.map +0 -1
  228. package/dist/core/llm-client.js +0 -203
  229. package/dist/core/llm-client.js.map +0 -1
  230. package/dist/core/llm-telemetry.d.ts +0 -47
  231. package/dist/core/llm-telemetry.d.ts.map +0 -1
  232. package/dist/core/llm-telemetry.js +0 -117
  233. package/dist/core/llm-telemetry.js.map +0 -1
  234. package/dist/core/llm-validator.d.ts +0 -20
  235. package/dist/core/llm-validator.d.ts.map +0 -1
  236. package/dist/core/llm-validator.js +0 -231
  237. package/dist/core/llm-validator.js.map +0 -1
  238. package/dist/core/ollama-host.d.ts +0 -6
  239. package/dist/core/ollama-host.d.ts.map +0 -1
  240. package/dist/core/ollama-host.js +0 -30
  241. package/dist/core/ollama-host.js.map +0 -1
  242. package/dist/core/output-language.d.ts +0 -6
  243. package/dist/core/output-language.d.ts.map +0 -1
  244. package/dist/core/output-language.js +0 -25
  245. package/dist/core/output-language.js.map +0 -1
  246. package/dist/core/prompt-safety.d.ts +0 -4
  247. package/dist/core/prompt-safety.d.ts.map +0 -1
  248. package/dist/core/prompt-safety.js +0 -20
  249. package/dist/core/prompt-safety.js.map +0 -1
  250. package/dist/storage/vector-index.d.ts +0 -3
  251. package/dist/storage/vector-index.d.ts.map +0 -1
  252. package/dist/storage/vector-index.js +0 -13
  253. package/dist/storage/vector-index.js.map +0 -1
  254. /package/{.mcp.json → .claude-plugin/mcp.json} +0 -0
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>Gemeinsamer Speicher und dauerhafte lokale Koordination für Coding-Agenten.</strong><br />
7
- Eine SQLite-Datei. Kein Docker. Keine Cloud erforderlich.
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,548 +16,131 @@
16
16
 
17
17
  ---
18
18
 
19
- **MeMesh** ist die **Open-Source-Kollaborationsschicht** für lokale KI-Coding-Agenten: gemeinsamer Speicher, dauerhafte Nachrichten an einen bestimmten Empfänger und kontrollierte Memory-to-Product-Vorschläge für Claude Code, Codex, Cursor, eigene oder Ollama-basierte Agenten und kompatible lokale MCP-Clients. Alles liegt in einer SQLite-Datei. Kein Docker und keine Cloud erforderlich.
19
+ ## Was es tut
20
20
 
21
- ### Neue Kollaborationsflächen
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
- - `message` gibt lokalen Agenten einen dauerhaften Exact-Recipient-Posteingang mit Cursor-Recovery und expliziten Receipts über MCP, HTTP und CLI.
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
- /plugin marketplace add PCIRCLE-AI/memesh
33
- /plugin install memesh@pcircle-memesh
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 neu starten. Eine `◉ MeMesh`-Statuszeile am Anfang der nächsten Session bestätigt, dass der SessionStart-Hook seine Statusausgabe erzeugt hat.
37
-
38
- **Im Terminal** die `memesh`-CLI, das Dashboard und der `memesh-mcp`-Server für Codex / Cursor und kompatible lokale MCP-Clients (braucht [Node 22.13+](https://nodejs.org)):
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
- ## Lokale Agenten-Zusammenarbeit — mit klaren Grenzen
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
- Der Leitfaden [Local Agent Messaging](docs/platforms/agent-messaging.md) beschreibt Lifecycle, Support-Matrix und Grenzen im Detail.
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
- ### Agenten-Erfahrung in geprüfte Produktarbeit überführen
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
- Das `improvement`-Tool wandelt aktive Memories und Lessons in einen evidenzverknüpften Verbesserungsvorschlag um. Agenten dürfen Vorschläge einreichen und ihren Status lesen, aber nicht selbst akzeptieren oder ablehnen. Nach menschlicher Freigabe bleiben alle Quellen erhalten, der neue Arbeitseintrag wird mit ihnen verknüpft und erscheint in späteren Projekt-Briefings.
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
- ## Installationspfade auf einen Blick
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
- DB[("Shared memory DB<br/><code>~/.memesh/knowledge-graph.db</code><br/>Same data, both paths see it")]:::db
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
- **Welchen brauchst du?**
125
-
126
- | Was du willst | Installationspfad |
127
- |---|---|
128
- | `/memesh` skill im Claude-Code-Chat verwenden | Path A (Plugin) |
129
- | Auto-Capture in Claude Code (Session → Lessons → nächste Recall) | Path A (Plugin) |
130
- | `memesh remember` / `memesh recall` / `memesh doctor` im Terminal | Path B (npm-global) |
131
- | `memesh serve` direkt zum Öffnen des Dashboards (ohne `npx`-Startverzögerung) | Path B (npm-global) |
132
- | `memesh-mcp` an Cursor, Cline oder andere MCP-Clients anbinden | Path B (npm-global) |
133
- | Alles oben | **Beide installieren** — kein Konflikt |
134
-
135
- > **Häufiges Missverständnis**: Das Claude-Code-Plugin legt `memesh` **nicht** auf deinen Shell-`PATH`. Wenn du nur `/plugin install` läufst und dann im Terminal `memesh reindex` tippst, siehst du `command not found`. Das ist normal — für den Shell-Befehl brauchst du zusätzlich `npm install -g @pcircle/memesh`.
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
- Wenn du memesh nur im Claude-Code-Chat verwendest (nie `memesh` im Terminal tippst), reicht Path A. Alle anderen: beide installieren.
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 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.
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
- 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:
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
- ### Schritt 1.5: MeMesh in Claude Code einbinden (empfohlen, einmalig)
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
- `npm install -g` legt die CLI in den PATH aber nichts ist damit in Claude Code eingebunden: Das npm-Paket führt bewusst keine Install-Skripte aus; MCP-Server und Hooks in Claude Code registriert das Plugin (Option A). Was der npm-Pfad selbst verdrahten kann, sind die Session-Hooks. Ohne diese Hooks können Sie `memesh remember` / `recall` manuell verwenden, aber die **Auto-Capture-Schleife** (Session Lektionen proaktive Erinnerung in der nächsten Session) bleibt stumm.
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
- ```bash
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
- ## Für wen ist das gedacht?
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-mcp
328
- ```
329
- MCP-Tools + Claude Code Hooks
118
+ memesh remember "Login verwendet OAuth 2.0 mit PKCE"
119
+ memesh recall "Login"
120
+ # -> findet die PKCE-Entscheidung
330
121
 
331
- </td>
332
- <td width="33%" align="center">
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 **8 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
- | **Wenn Claude stoppt** | Erfasst bearbeitete Dateien und behobene Fehler; generiert automatisch strukturierte Lektionen aus Fehlern |
401
- | **Vor Context-Verdichtung** | Speichert Wissen, bevor es durch Context-Limits verloren geht |
402
- | **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 |
403
- | **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 |
404
-
405
- > **Jederzeit abschalten:** `export MEMESH_AUTO_CAPTURE=false`
406
-
407
- ---
408
-
409
- ## Konfiguration
410
-
411
- 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.
412
-
413
- | Variable | Standard | Was sie bewirkt |
414
- |---|---|---|
415
- | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Überschreibt den Speicherort der SQLite-Datenbank. |
416
- | `MEMESH_AUTO_CAPTURE` | `true` | Deaktiviert die Auto-Capture-Hooks (`Stop`, `PreCompact`) vollständig. |
417
- | `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`. |
418
- | `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. |
419
- | `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. |
420
- | `OLLAMA_HOST` | `http://localhost:11434` | Überschreibt den Ollama-Endpoint, wenn ein lokaler Ollama-Provider verwendet wird. |
421
-
422
- `memesh doctor` gibt die aufgelöste Konfiguration aus, sodass Sie sehen, was aktiv ist.
423
-
424
- **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.
425
-
426
- 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.
427
-
428
- ---
429
-
430
- ## Dashboard
431
-
432
- 5 Reiter, 11 Sprachen, keine externen Abhängigkeiten. Zugang unter `http://localhost:3737/dashboard` wenn der Server läuft.
433
-
434
- | Reiter | Was Sie sehen |
435
- |--------|-------------|
436
- | **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 |
437
- | **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 |
438
- | **Project** | Die Geschichte eines Projekts — die Roadmap-Ansicht (Phasen, Meilensteine, Schlüssellektionen) hinter einem Projektwähler |
439
- | **Graph** | Interaktiver kraft-gerichteter Wissensgraph mit Typfiltern, Suche, Ego-Modus, Aktualitäts-Heatmap |
440
- | **Settings** | LLM-Provider-Konfiguration, sofortiger Sprachwahlschalter |
441
-
442
- ---
443
-
444
- ## Intelligente Features
445
-
446
- **🧠 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.
447
-
448
- **🌏 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.
449
-
450
- **📊 Bewertetes Ranking** — Ergebnisse geordnet nach Relevanz (30%) + Aktualität (25%) + Häufigkeit (18%) + Konfidenz (17%) + Abruf-Auswirkung (10%).
451
-
452
- **🔄 Wissensentwicklung** — Entscheidungen ändern sich. `forget` archiviert alte Memories (löscht nie). `supersedes`-Relationen verbinden alt → neu. Ihr KI sieht immer die aktuelle Version.
453
-
454
- **⚠️ 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.
455
-
456
- **🕸️ 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.
457
-
458
- **📦 Persönliches Backup und Migration** — `memesh export > memesh-backup.json` → auf einen anderen Rechner kopieren → `memesh import memesh-backup.json`
459
- Importierte Bundles bleiben durchsuchbar, aber MeMesh injiziert importierte Memories nicht automatisch in den Host-Kontext, bis Sie sie überprüfen oder lokal neu speichern.
460
-
461
- ---
462
-
463
- ## Beispiele aus der Praxis
464
-
465
- > "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."
466
- > — **Einzelentwickler, baut eine SaaS**
467
-
468
- > "Eine in Claude Code gespeicherte Entscheidung war am nächsten Tag aus Codex abrufbar. Dieselbe lokale Memory folgt meiner Arbeit statt einem einzelnen Agenten."
469
- > — **Einzelentwickler mit mehreren Coding-Agenten**
470
-
471
- > "Das Dashboard zeigte mir, dass 90 % meiner Memories automatisch generierte Session-Logs waren. Ich begann, `remember` bewusst für Architekturentscheidungen zu nutzen. Ein Spielwechsel."
472
- > — **Entwickler, der das Analytics-Panel entdeckte**
473
-
474
- ---
475
-
476
- ## Rezepte
477
-
478
- ### Einen Widerspruch erkennen, bevor er zum Problem wird
479
-
480
- Zwei Entscheidungen, Wochen auseinander getroffen, die nicht beide wahr sein können — genau das Fehlerbild, das eine Memory-Schicht abfangen soll:
481
-
482
- ```bash
483
- memesh remember --name retry-policy --type decision \
484
- --obs "Alle HTTP-Clients wiederholen fehlgeschlagene Requests bis zu 5-mal mit exponentiellem Backoff."
485
- # ...Wochen später entscheidet jemand das Gegenteil...
486
- memesh remember --name retry-policy-v2 --type decision \
487
- --obs "HTTP-Clients dürfen niemals automatisch wiederholen — sofort fehlschlagen und den Fehler melden."
488
-
489
- memesh dream conflicts # markiert das Paar, mit Begründung
490
- memesh dream show 1 # Urteil, Auszüge und Folgen der Annahme lesen
491
- memesh dream accept 1 # SIE entscheiden — nichts wird je automatisch verknüpft
492
- memesh recall "retry policy" # → Warnung: Konflikte erkannt
493
- ```
494
-
495
- Ab dann wird jedem Assistenten, der eine der beiden Entscheidungen abruft, gesagt, dass sie im Widerspruch stehen — statt selbstbewusst die zuerst gefundene zu zitieren.
496
-
497
- ### Eine Erinnerung, drei Assistenten
498
-
499
- 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.
500
-
501
- ### Entscheidungen so festhalten, dass sie auffindbar bleiben
502
-
503
- Auto-Capture hält die Session-Historie fest, aber die Erinnerungen, die sich wirklich auszahlen, sind die bewusst gespeicherten:
504
-
505
- ```bash
506
- memesh remember --name auth-approach --type decision \
507
- --obs "JWT mit RS256; PKCE statt Implicit Flow, weil der Client öffentlich ist." \
508
- --tags "project:myapp" "topic:auth"
509
- ```
510
-
511
- 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.
512
-
513
- ---
514
-
515
- ## Smart Mode freischalten (optional)
516
-
517
- 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:
518
-
519
- ```bash
520
- memesh config set llm.provider anthropic
521
- 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
522
124
  ```
523
125
 
524
- Oder nutzen Sie den Dashboard-Settings-Reiter (visuelles Setup):
525
-
526
- ```bash
527
- memesh serve # öffnet Dashboard → Settings-Reiter
528
- ```
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.
529
127
 
530
- **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.
128
+ Zwei Dinge, die du kennen solltest, sobald Erinnerungen da sind:
531
129
 
532
- ### Eigene Embeddings verwenden (optional)
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).
533
132
 
534
- 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:
535
-
536
- ```bash
537
- memesh config set embedder.provider openai # or: ollama
538
- ```
539
-
540
- 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.
541
-
542
- 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.
543
-
544
- | | Stufe 0 (Standard) | Stufe 1 (Smart Mode) |
545
- |---|---|---|
546
- | **Suche** | FTS5 + sqlite-vec, 95,60 % R@5 | unverändert — Recall ist auf jeder Stufe LLM-frei |
547
- | **Auto-Capture** | Regelbasierte Muster | + LLM extrahiert Entscheidungen & Lektionen |
548
- | **Auto-Tagging** | Nur manuelle Tags | + LLM generiert Tags für neue Memories |
549
- | **Fehleranalyse** | Nicht verfügbar | + LLM wandelt Session-Fehler in strukturierte Lektionen um |
550
- | **Kompression** | Nicht verfügbar | `dream` komprimieren ausschweifende Memories |
551
- | **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).
552
134
 
553
135
  ---
554
136
 
555
- ## Alle 11 Memory- und Koordinations-Tools
137
+ ## Alle 12 Memory- und Koordinations-Tools
556
138
 
557
139
  | Tool | Was es tut |
558
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. |
559
142
  | `remember` | Wissen mit Beobachtungen, Relationen und Tags speichern |
560
- | `recall` | FTS5 + sqlite-vec Suche mit Multi-Faktor-Bewertung (Relevanz, Aktualität, Häufigkeit, Konfidenz, Abruf-Auswirkung) — kein LLM auf dem Hot Path |
143
+ | `recall` | Lokale FTS5-Suche mit Multi-Faktor-Bewertung (Relevanz, Aktualität, Häufigkeit, Konfidenz, Abruf-Auswirkung) |
561
144
  | `forget` | Soft-Archivierung (löscht nie) oder entfernt spezifische Beobachtungen |
562
145
  | `export` | Memories als JSON sichern, migrieren oder zwischen kompatiblen Agenten übertragen |
563
146
  | `import` | Memories mit Merge-Strategien importieren (Skip / Overwrite / Append) |
@@ -570,72 +153,17 @@ Wechselst du zu einer anderen Dimension (z. B. 768 → 1536), wird **nichts gel
570
153
 
571
154
  ---
572
155
 
573
- ## Architektur
156
+ ## Das Kleingedruckte
574
157
 
575
- ```
576
- ┌─────────────────┐
577
- │ Core Engine │
578
- │ (7 operations) │
579
- └────────┬────────┘
580
- ┌─────────────────┼─────────────────┐
581
- │ │ │
582
- CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
583
- │ │ │
584
- └─────────────────┼─────────────────┘
585
-
586
- SQLite + FTS5 + sqlite-vec
587
- (~/.memesh/knowledge-graph.db)
588
- ```
589
-
590
- Der Kern ist Framework-agnostisch. Dieselbe Logik läuft vom Terminal, HTTP oder MCP.
591
-
592
- ---
593
-
594
- ## Aktualisieren
595
-
596
- Der Plugin-Marketplace von Claude Code fixiert Versionen zum Installationszeitpunkt und aktualisiert **nicht** automatisch. So holst du dir ein neues Release:
597
-
598
- **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%).
599
159
 
600
- **Option B — ein Befehl** (kein UI-Klicken, idempotent; braucht die npm-CLI, `npm install -g @pcircle/memesh`):
601
-
602
- ```bash
603
- memesh upgrade-plugin
604
- ```
605
-
606
- 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`).
607
-
608
- Nur-Plugin-Nutzer ohne npm-CLI können das Skript weiter von Hand starten — die installierte Version in den Pfad einsetzen:
609
-
610
- ```bash
611
- 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)):
612
161
 
613
- # Installationen vor v4.2.5 enthalten das Skript noch nicht; nutze
614
- # stattdessen die npm-global-Kopie (siehe oben „Installationspfade auf einen Blick"):
615
- bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.sh"
616
- ```
617
-
618
- 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.
619
-
620
- **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`.
621
-
622
- 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.
623
-
624
- ---
625
-
626
- ## Beitragen
627
-
628
- ```bash
629
- git clone https://github.com/PCIRCLE-AI/memesh
630
- cd memesh && npm install && npm run build
631
- npm test
632
- npm run test:e2e-dashboard
633
- ```
634
-
635
- 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.
636
166
 
637
167
  ---
638
168
 
639
- <p align="center">
640
- <strong>MIT</strong> — Erstellt von <a href="https://pcircle.com">PCIRCLE AI</a>
641
- </p>
169
+ <p align="center"><strong>MIT-Lizenz</strong></p>