@pcircle/memesh 4.5.1 โ†’ 4.6.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 (169) hide show
  1. package/.claude-plugin/marketplace.json +5 -3
  2. package/.claude-plugin/plugin.json +6 -4
  3. package/AGENTS.md +95 -0
  4. package/README.de.md +129 -35
  5. package/README.md +161 -34
  6. package/README.zh-TW.md +130 -35
  7. package/dashboard/dist/index.html +10 -10
  8. package/dist/cli/view-live.js +3 -3
  9. package/dist/core/auto-tagger.d.ts.map +1 -1
  10. package/dist/core/auto-tagger.js +4 -9
  11. package/dist/core/auto-tagger.js.map +1 -1
  12. package/dist/core/briefing.d.ts +8 -0
  13. package/dist/core/briefing.d.ts.map +1 -0
  14. package/dist/core/briefing.js +91 -0
  15. package/dist/core/briefing.js.map +1 -0
  16. package/dist/core/capture-flag.d.ts +5 -0
  17. package/dist/core/capture-flag.d.ts.map +1 -0
  18. package/dist/core/capture-flag.js +10 -0
  19. package/dist/core/capture-flag.js.map +1 -0
  20. package/dist/core/conflict-candidates.d.ts +20 -0
  21. package/dist/core/conflict-candidates.d.ts.map +1 -0
  22. package/dist/core/conflict-candidates.js +79 -0
  23. package/dist/core/conflict-candidates.js.map +1 -0
  24. package/dist/core/conflict-judge.d.ts +47 -0
  25. package/dist/core/conflict-judge.d.ts.map +1 -0
  26. package/dist/core/conflict-judge.js +189 -0
  27. package/dist/core/conflict-judge.js.map +1 -0
  28. package/dist/core/digest-validator.d.ts.map +1 -1
  29. package/dist/core/digest-validator.js +3 -5
  30. package/dist/core/digest-validator.js.map +1 -1
  31. package/dist/core/doctor.d.ts +2 -0
  32. package/dist/core/doctor.d.ts.map +1 -1
  33. package/dist/core/doctor.js +34 -56
  34. package/dist/core/doctor.js.map +1 -1
  35. package/dist/core/dreamer.d.ts +5 -2
  36. package/dist/core/dreamer.d.ts.map +1 -1
  37. package/dist/core/dreamer.js +108 -25
  38. package/dist/core/dreamer.js.map +1 -1
  39. package/dist/core/embedder.d.ts +5 -4
  40. package/dist/core/embedder.d.ts.map +1 -1
  41. package/dist/core/embedder.js +16 -8
  42. package/dist/core/embedder.js.map +1 -1
  43. package/dist/core/failure-analyzer.d.ts.map +1 -1
  44. package/dist/core/failure-analyzer.js +7 -12
  45. package/dist/core/failure-analyzer.js.map +1 -1
  46. package/dist/core/install-channel.d.ts +1 -1
  47. package/dist/core/install-channel.d.ts.map +1 -1
  48. package/dist/core/install-channel.js +16 -5
  49. package/dist/core/install-channel.js.map +1 -1
  50. package/dist/core/install-hooks.d.ts +5 -0
  51. package/dist/core/install-hooks.d.ts.map +1 -1
  52. package/dist/core/install-hooks.js +0 -0
  53. package/dist/core/install-hooks.js.map +1 -1
  54. package/dist/core/json-utils.d.ts +1 -0
  55. package/dist/core/json-utils.d.ts.map +1 -1
  56. package/dist/core/json-utils.js +19 -10
  57. package/dist/core/json-utils.js.map +1 -1
  58. package/dist/core/kg-backfill.d.ts +0 -1
  59. package/dist/core/kg-backfill.d.ts.map +1 -1
  60. package/dist/core/kg-backfill.js +0 -3
  61. package/dist/core/kg-backfill.js.map +1 -1
  62. package/dist/core/lifecycle.d.ts.map +1 -1
  63. package/dist/core/lifecycle.js +14 -21
  64. package/dist/core/lifecycle.js.map +1 -1
  65. package/dist/core/memory-tool.d.ts.map +1 -1
  66. package/dist/core/memory-tool.js +4 -4
  67. package/dist/core/memory-tool.js.map +1 -1
  68. package/dist/core/operations.d.ts.map +1 -1
  69. package/dist/core/operations.js +22 -13
  70. package/dist/core/operations.js.map +1 -1
  71. package/dist/core/prompt-safety.d.ts +1 -0
  72. package/dist/core/prompt-safety.d.ts.map +1 -1
  73. package/dist/core/prompt-safety.js +7 -0
  74. package/dist/core/prompt-safety.js.map +1 -1
  75. package/dist/core/schema-export.d.ts.map +1 -1
  76. package/dist/core/schema-export.js +31 -0
  77. package/dist/core/schema-export.js.map +1 -1
  78. package/dist/core/setup.d.ts +29 -0
  79. package/dist/core/setup.d.ts.map +1 -0
  80. package/dist/core/setup.js +127 -0
  81. package/dist/core/setup.js.map +1 -0
  82. package/dist/core/task-state-store.d.ts +17 -0
  83. package/dist/core/task-state-store.d.ts.map +1 -0
  84. package/dist/core/task-state-store.js +45 -0
  85. package/dist/core/task-state-store.js.map +1 -0
  86. package/dist/core/task-state.d.ts +19 -0
  87. package/dist/core/task-state.d.ts.map +1 -0
  88. package/dist/core/task-state.js +91 -0
  89. package/dist/core/task-state.js.map +1 -0
  90. package/dist/core/time-utils.d.ts +2 -0
  91. package/dist/core/time-utils.d.ts.map +1 -0
  92. package/dist/core/time-utils.js +14 -0
  93. package/dist/core/time-utils.js.map +1 -0
  94. package/dist/core/title.d.ts +5 -0
  95. package/dist/core/title.d.ts.map +1 -0
  96. package/dist/core/title.js +14 -0
  97. package/dist/core/title.js.map +1 -0
  98. package/dist/core/transcript-source.d.ts.map +1 -1
  99. package/dist/core/transcript-source.js +2 -3
  100. package/dist/core/transcript-source.js.map +1 -1
  101. package/dist/core/types.d.ts +4 -0
  102. package/dist/core/types.d.ts.map +1 -1
  103. package/dist/core/work-topology.d.ts +33 -0
  104. package/dist/core/work-topology.d.ts.map +1 -0
  105. package/dist/core/work-topology.js +183 -0
  106. package/dist/core/work-topology.js.map +1 -0
  107. package/dist/db.d.ts +2 -7
  108. package/dist/db.d.ts.map +1 -1
  109. package/dist/db.js +144 -284
  110. package/dist/db.js.map +1 -1
  111. package/dist/knowledge-graph.d.ts +1 -0
  112. package/dist/knowledge-graph.d.ts.map +1 -1
  113. package/dist/knowledge-graph.js +50 -40
  114. package/dist/knowledge-graph.js.map +1 -1
  115. package/dist/skills-manifest.json +48 -18
  116. package/dist/storage/conflicts.d.ts.map +1 -1
  117. package/dist/storage/conflicts.js +2 -7
  118. package/dist/storage/conflicts.js.map +1 -1
  119. package/dist/storage/fts-index.d.ts +4 -2
  120. package/dist/storage/fts-index.d.ts.map +1 -1
  121. package/dist/storage/fts-index.js +16 -4
  122. package/dist/storage/fts-index.js.map +1 -1
  123. package/dist/storage/schema.d.ts +20 -0
  124. package/dist/storage/schema.d.ts.map +1 -0
  125. package/dist/storage/schema.js +274 -0
  126. package/dist/storage/schema.js.map +1 -0
  127. package/dist/transports/cli/cli.d.ts +1 -4
  128. package/dist/transports/cli/cli.d.ts.map +1 -1
  129. package/dist/transports/cli/cli.js +382 -6
  130. package/dist/transports/cli/cli.js.map +1 -1
  131. package/dist/transports/http/server.d.ts.map +1 -1
  132. package/dist/transports/http/server.js +208 -307
  133. package/dist/transports/http/server.js.map +1 -1
  134. package/dist/transports/mcp/handlers.d.ts +46 -0
  135. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  136. package/dist/transports/mcp/handlers.js +57 -2
  137. package/dist/transports/mcp/handlers.js.map +1 -1
  138. package/dist/transports/schemas.d.ts +21 -10
  139. package/dist/transports/schemas.d.ts.map +1 -1
  140. package/dist/transports/schemas.js +26 -8
  141. package/dist/transports/schemas.js.map +1 -1
  142. package/llms-install.md +138 -0
  143. package/package.json +14 -9
  144. package/scripts/hooks/_generated/capture-flag.js +17 -0
  145. package/scripts/hooks/_generated/fts-index.js +16 -4
  146. package/scripts/hooks/_generated/schema.js +281 -0
  147. package/scripts/hooks/_generated/task-state.js +98 -0
  148. package/scripts/hooks/_generated/time-utils.js +21 -0
  149. package/scripts/hooks/_generated/title.js +21 -0
  150. package/scripts/hooks/_generated/work-topology.js +190 -0
  151. package/scripts/hooks/_shared.js +122 -478
  152. package/scripts/hooks/post-commit.js +4 -1
  153. package/scripts/hooks/pre-compact.js +13 -1
  154. package/scripts/hooks/pre-edit-recall.js +5 -3
  155. package/scripts/hooks/session-start.js +135 -59
  156. package/scripts/hooks/session-summary.js +59 -24
  157. package/skills/memesh/SKILL.md +97 -76
  158. package/README.es.md +0 -467
  159. package/README.fr.md +0 -459
  160. package/README.ja.md +0 -467
  161. package/README.ko.md +0 -467
  162. package/README.pt.md +0 -459
  163. package/README.th.md +0 -460
  164. package/README.vi.md +0 -459
  165. package/README.zh-CN.md +0 -466
  166. package/dist/cli/view.d.ts +0 -3
  167. package/dist/cli/view.d.ts.map +0 -1
  168. package/dist/cli/view.js +0 -523
  169. package/dist/cli/view.js.map +0 -1
package/README.ko.md DELETED
@@ -1,467 +0,0 @@
1
- ๐ŸŒ [English](README.md) | [็น้ซ”ไธญๆ–‡](README.zh-TW.md) | [็ฎ€ไฝ“ไธญๆ–‡](README.zh-CN.md) | [ๆ—ฅๆœฌ่ชž](README.ja.md) | [ํ•œ๊ตญ์–ด](README.ko.md) | [Portuguรชs](README.pt.md) | [Franรงais](README.fr.md) | [Deutsch](README.de.md) | [Tiแบฟng Viแป‡t](README.vi.md) | [Espaรฑol](README.es.md) | [เธ เธฒเธฉเธฒเน„เธ—เธข](README.th.md)
2
-
3
- <p align="center">
4
- <h1 align="center">MeMesh LLM Memory</h1>
5
- <p align="center">
6
- <strong>Claude Code์™€ MCP ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ.</strong><br />
7
- SQLite ํŒŒ์ผ ํ•˜๋‚˜. Docker ์—†์Œ. ํด๋ผ์šฐ๋“œ ํ•„์ˆ˜ ์•„๋‹˜.
8
- </p>
9
- <p align="center">
10
- <a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
11
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
12
- <a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D22-22c55e?style=flat-square" alt="Node" /></a>
13
- <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
14
- </p>
15
- </p>
16
-
17
- ---
18
-
19
- > [!IMPORTANT]
20
- > **ํ™œ๋ฐœํžˆ ๊ฐœ๋ฐœ ์ค‘์ธ ํ”„๋กœ์ ํŠธ** โ€” ๊ธฐ๋Šฅ์ด ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ ๋ฆด๋ฆฌ์Šค ๊ฐ„์— ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ๋‚˜ ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์žˆ์œผ๋ฉด [issue๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”](https://github.com/PCIRCLE-AI/memesh-llm-memory/issues).
21
-
22
- ## ๋ฌธ์ œ์ 
23
-
24
- ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋Š” ์„ธ์…˜์ด ๋๋‚˜๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ์žŠ์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •, ๋ฒ„๊ทธ ์ˆ˜์ •, ์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ, ํž˜๋“ค๊ฒŒ ์–ป์€ ๊ตํ›ˆ โ€” ๋งค๋ฒˆ ๋‹ค์‹œ ์„ค๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Claude Code๋Š” ๋งค๋ฒˆ ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ์ด๋ฏธ ์•Œ์•„์•ผ ํ•  ์ œ์•ฝ ์กฐ๊ฑด์„ ๋‹ค์‹œ ๋ฐœ๊ฒฌํ•˜๋ฉฐ, ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ปจํ…์ŠคํŠธ๋ฅผ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค.
25
-
26
- **MeMesh๋Š” ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์—๊ฒŒ ์˜๊ตฌ์ ์ด๊ณ  ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ง„ํ™”ํ•˜๋Š” ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.**
27
-
28
- ์ด ํŒจํ‚ค์ง€๋Š” MeMesh ์ œํ’ˆ๊ตฐ์˜ ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ์˜๋„์ ์œผ๋กœ ์ž‘๊ณ  ์˜คํ”ˆ์†Œ์Šค์ž…๋‹ˆ๋‹ค: npm์œผ๋กœ ์„ค์น˜ํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋Š” `~/.memesh/knowledge-graph.db`์— ๋ณด๊ด€ํ•˜๋ฉฐ, Claude Code ๋˜๋Š” MCP ํ˜ธํ™˜ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŒ… ์›Œํฌ์ŠคํŽ˜์ด์Šค์™€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ OS ์ œํ’ˆ์€ ์ด ํŒจํ‚ค์ง€์˜ README์™€ ๋กœ๋“œ๋งต๊ณผ ๋ณ„๊ฐœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
29
-
30
- ---
31
-
32
- ## ๊ฒ€์ฆ โ€” LongMemEval-S์—์„œ R@5 95.60%
33
-
34
- MeMesh์˜ ๊ฒ€์ƒ‰ ์—”์ง„์€ **FTS5 ๋‹จ๋…**(ํ•ซ ํŒจ์Šค์— LLM ์—†์Œ, ์ž„๋ฒ ๋”ฉ ์—†์Œ)์ด๋ฉฐ, ๊ณต๊ฐœ [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) ๋ฒค์น˜๋งˆํฌ(500๊ฐœ ์งˆ๋ฌธ, MIT ๋ผ์ด์„ ์Šค)๋กœ ์ธก์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค:
35
-
36
- | ์‹œ์Šคํ…œ | R@5 | ์ถœ์ฒ˜ |
37
- |---|---|---|
38
- | **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
39
- | MemPalace | 96.6% | ๋ฒค๋” ์ž์ฒด ๋ณด๊ณ  |
40
- | Supermemory | ~82% | ๋ฒค๋” ์ถ”์ •์น˜ |
41
- | Zep | 63.8% | LongMemEval ๋…ผ๋ฌธ |
42
- | Mem0 | 49.0% | LongMemEval ๋…ผ๋ฌธ |
43
-
44
- ์žฌํ˜„ ๋ช…๋ น์–ด, ๋ฐ์ดํ„ฐ์…‹ SHA256, ์งˆ๋ฌธ๋ณ„ ์›์‹œ ๊ฒฐ๊ณผ, ์•Œ๋ ค์ง„ ์‹คํŒจ ๋ถ„์„์ด ๋ชจ๋‘ [`benchmarks/longmemeval/`](benchmarks/longmemeval/)์— ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฝ 10์ดˆ ๋‚ด์— ์žฌ์‹คํ–‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
45
-
46
- ---
47
-
48
- ## ์„ค์น˜ ๊ฒฝ๋กœ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ
49
-
50
- MeMesh์—๋Š” **๊ณต์กดํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์„ค์น˜ ๊ฒฝ๋กœ**๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋Š” ๋‘˜ ๋‹ค ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ **๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค**(`~/.memesh/knowledge-graph.db`)์— ๊ธฐ๋ก๋˜๋ฏ€๋กœ Claude Code ์ฑ„ํŒ…์—์„œ ์ €์žฅํ•œ ๊ธฐ์–ต์ด ์…ธ์—์„œ๋„ ๋ณด์ด๊ณ  ๊ทธ ๋ฐ˜๋Œ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
51
-
52
- ```mermaid
53
- flowchart TB
54
- classDef client fill:#1f2937,stroke:#4b5563,color:#f9fafb,stroke-width:1px
55
- classDef pathA fill:#1e3a8a,stroke:#3b82f6,color:#eff6ff,stroke-width:2px
56
- classDef pathB fill:#14532d,stroke:#22c55e,color:#f0fdf4,stroke-width:2px
57
- classDef db fill:#7c2d12,stroke:#f97316,color:#fff7ed,stroke-width:2px
58
-
59
- subgraph clients["Where you use memesh from"]
60
- direction LR
61
- CC["Claude Code<br/>(chat + agent)"]:::client
62
- TERM["Terminal / other<br/>MCP clients<br/>(Cursor, Cline...)"]:::client
63
- end
64
-
65
- subgraph paths["Two install paths"]
66
- direction LR
67
- 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
68
- 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>, <code>-view</code> bins<br/>โ€ข For Cursor / Cline / other MCP"]:::pathB
69
- end
70
-
71
- DB[("Shared memory DB<br/><code>~/.memesh/knowledge-graph.db</code><br/>Same data, both paths see it")]:::db
72
-
73
- CC -->|uses| A
74
- TERM -->|uses| B
75
- A --> DB
76
- B --> DB
77
- ```
78
-
79
- **์–ด๋А ์ชฝ์ด ํ•„์š”ํ•œ๊ฐ€์š”?**
80
-
81
- | ํ•˜๊ณ  ์‹ถ์€ ์ผ | ์„ค์น˜ ๊ฒฝ๋กœ |
82
- |---|---|
83
- | Claude Code ๋Œ€ํ™”์—์„œ `/memesh` skill ์‚ฌ์šฉ | Path A(ํ”Œ๋Ÿฌ๊ทธ์ธ) |
84
- | Claude Code์—์„œ ์ž๋™ ์บก์ฒ˜(session โ†’ ๊ตํ›ˆ โ†’ ๋‹ค์Œ recall) | Path A(ํ”Œ๋Ÿฌ๊ทธ์ธ) |
85
- | ํ„ฐ๋ฏธ๋„์—์„œ `memesh remember` / `memesh recall` / `memesh doctor` ์‹คํ–‰ | Path B(npm-global) |
86
- | `memesh serve`๋กœ ๋Œ€์‹œ๋ณด๋“œ ๋ฐ”๋กœ ์—ด๊ธฐ(`npx` ์‹œ์ž‘ ์ง€์—ฐ ์—†์Œ) | Path B(npm-global) |
87
- | `memesh-mcp`๋ฅผ Cursor, Cline ๋˜๋Š” ๊ธฐํƒ€ MCP ํด๋ผ์ด์–ธํŠธ์— ์—ฐ๊ฒฐ | Path B(npm-global) |
88
- | ์œ„ ์ „๋ถ€ | **๋‘˜ ๋‹ค ์„ค์น˜** โ€” ์ถฉ๋Œ ์—†์Œ |
89
-
90
- > **ํ”ํ•œ ์˜คํ•ด**: Claude Code ํ”Œ๋Ÿฌ๊ทธ์ธ์€ `memesh`๋ฅผ ์…ธ `PATH`์— **์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**. `/plugin install`๋งŒ ์‹คํ–‰ํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์— `memesh reindex`๋ฅผ ์ž…๋ ฅํ•˜๋ฉด `command not found`๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ •์ƒ์ž…๋‹ˆ๋‹ค โ€” ์…ธ ๋ช…๋ น์„ ์“ฐ๋ ค๋ฉด `npm install -g @pcircle/memesh`๋„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
91
-
92
- ### โš ๏ธ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜๋งŒ์œผ๋กœ๋Š” CLI๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
93
-
94
- ๊ฐ€์žฅ ํ”ํ•œ ํ˜ผ๋ž€์ž…๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ๋งŒ ์ฝ์–ด๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค:
95
-
96
- - Claude Code์—์„œ `/plugin install memesh@pcircle-memesh` โ†’ **Path A๋งŒ** ์„ค์น˜. MCP ๋„๊ตฌ, hooks, `/memesh` skill์„ ์ œ๊ณต. `memesh`๋ฅผ ์…ธ `PATH`์— **์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Œ**.
97
- - ํ„ฐ๋ฏธ๋„์—์„œ `memesh reindex` / `memesh update` / `memesh doctor` ์ž…๋ ฅ โ†’ **Path B**(npm-global)๊ฐ€ ํ•„์š”. ์—†์œผ๋ฉด `zsh: command not found: memesh`.
98
- - **Claude Code ์‚ฌ์šฉ์ž ๊ถŒ์žฅ ์„ค์ •**: **๋‘˜ ๋‹ค ์„ค์น˜**. ๊ณต์กดํ•˜๋ฉฐ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์ถฉ๋Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
99
-
100
- ```bash
101
- # /plugin install ... ํ›„์— ์ด๊ฒƒ๋„ ์‹คํ–‰:
102
- npm install -g @pcircle/memesh
103
- ```
104
-
105
- Claude Code ๋Œ€ํ™”์—์„œ๋งŒ memesh๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด(ํ„ฐ๋ฏธ๋„์—์„œ `memesh`๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด) Path A๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ๋‘˜ ๋‹ค ์„ค์น˜ํ•˜์„ธ์š”.
106
-
107
- ---
108
-
109
- ## 60์ดˆ ์•ˆ์— ์‹œ์ž‘ํ•˜๊ธฐ
110
-
111
- ### ์˜ต์…˜ A โ€” Claude Code ํ”Œ๋Ÿฌ๊ทธ์ธ (ํ•œ ์ค„ ์„ค์น˜)
112
-
113
- Claude Code๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด CLI ์•ˆ์—์„œ MeMesh๋ฅผ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค:
114
-
115
- ```
116
- /plugin marketplace add PCIRCLE-AI/memesh-llm-memory
117
- /plugin install memesh@pcircle-memesh
118
- ```
119
-
120
- Claude Code๊ฐ€ ํ›…, ์Šคํ‚ฌ, MCP ์„œ๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ๋‚ด ์ž๋™ ์บก์ฒ˜, ๋Šฅ๋™์  ํšŒ์ƒ, Claude Code ๋Œ€ํ™” ๋‚ด `/memesh` ์Šคํ‚ฌ(remember / recall / learn / forget), ๊ทธ๋ฆฌ๊ณ  ์—์ด์ „ํŠธ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” MCP ๋„๊ตฌ `remember` / `recall` / `forget` / `learn`์„ ๋ชจ๋‘ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CLI์™€ ๋กœ์ปฌ ๋Œ€์‹œ๋ณด๋“œ๋„ ์ถ”๊ฐ€ ๊ธ€๋กœ๋ฒŒ ์„ค์น˜ ์—†์ด ์™„์ „ํžˆ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค โ€” `npx @pcircle/memesh <command>`๋กœ ๋ชจ๋“  CLI ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , `npx @pcircle/memesh`๋กœ `localhost:3737`์˜ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋ฒˆ๋“ค๋œ ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๋ฌผ์—์„œ ์ง์ ‘ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค โ€” `npx` ์กฐํšŒ, `npm install -g`, ๋นŒ๋“œ ๋‹จ๊ณ„๊ฐ€ ๋ชจ๋‘ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. memesh๋Š” Node์— ๋‚ด์žฅ๋œ `node:sqlite`(22.13+)์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฏ€๋กœ, Node๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด๋„ ์ž˜๋ชป๋œ ๋Ÿฐํƒ€์ž„์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๋‚จ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
121
-
122
- ### ์˜ต์…˜ B โ€” npm ๊ธ€๋กœ๋ฒŒ (์„ ํƒ์  ์ตœ์ ํ™”)
123
-
124
- ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์…ธ `PATH`์— ์ง์ ‘ ๋‘๊ณ  ์‹ถ๊ฑฐ๋‚˜(๋งค ํ˜ธ์ถœ๋งˆ๋‹ค `npx` ์กฐํšŒ ์—†์ด ๋ชจ๋“  ํ„ฐ๋ฏธ๋„์—์„œ ๋‹จ์ˆœ `memesh`, `memesh-mcp` ๋“ฑ์ด ์ž‘๋™), `memesh-mcp`๋ฅผ **Claude Code ์ด์™ธ์˜ MCP ํด๋ผ์ด์–ธํŠธ**(Cursor, Cline, ํ„ฐ๋ฏธ๋„ ์ „์šฉ ์›Œํฌํ”Œ๋กœ์šฐ)์— ๊ณ ์ • ๊ฒฝ๋กœ stdio ๋ช…๋ น์œผ๋กœ ๋…ธ์ถœํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด:
125
-
126
- ```bash
127
- npm install -g @pcircle/memesh
128
- ```
129
-
130
- > **์ฒซ ์„ค์น˜ ์•ˆ๋‚ด(์ผํšŒ์„ฑ):**
131
- > - **์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค** โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์€ Node ์ž์ฒด์˜ `node:sqlite`์ž…๋‹ˆ๋‹ค. ์˜๋ฏธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์„ ๋‹ด๋‹นํ•˜๋Š” `sqlite-vec`๋Š” macOS(arm64/x64), Linux(x64/arm64), Windows x64์šฉ ์‚ฌ์ „ ๋นŒ๋“œ ํŒŒ์ผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์™ธ ํ”Œ๋žซํผ์—์„œ๋Š” ๊ทธ๋ƒฅ ์—†์œผ๋ฉฐ, ํšŒ์ƒ์€ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ „ํ˜€ ์—†์œผ๋ฏ€๋กœ `npm install --ignore-scripts`๋กœ๋„ ์™„์ „ํžˆ ๋™์ž‘ํ•˜๋Š” memesh๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.
132
- > - **์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰์€ ์„ ํƒ ์‚ฌํ•ญ** โ€” ๊ธฐ๋ณธ ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ๋Š” ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰(FTS5)์œผ๋กœ, ๋ชจ๋ธ๋„ ๋‹ค์šด๋กœ๋“œ๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. ์˜๋ฏธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์—๋Š” ์ž„๋ฒ ๋”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: ๋กœ์ปฌ์—์„œ [Ollama](https://ollama.com)๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ํด๋ผ์šฐ๋“œ ์ž„๋ฒ ๋”๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”(์•„๋ž˜ "์ž„๋ฒ ๋”ฉ" ์ฐธ์กฐ). ์—†์œผ๋ฉด memesh๋Š” ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
133
-
134
- ### 1.5๋‹จ๊ณ„: MeMesh๋ฅผ Claude Code์— ์—ฐ๊ฒฐ (npm ๊ฒฝ๋กœ๋งŒ)
135
-
136
- **์˜ต์…˜ A**(`/plugin install memesh@pcircle-memesh`)๋กœ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด, ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค โ€” Claude Code๊ฐ€ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ›…์„ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
137
-
138
- **์˜ต์…˜ B**(`npm install -g`)๋กœ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด, CLI๋Š” PATH์— ์žˆ๊ณ  MCP ์„œ๋ฒ„๋Š” ๋“ฑ๋ก๋˜์ง€๋งŒ, Claude Code ์„ธ์…˜ ํ›…์€ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ›…์ด ์—†์œผ๋ฉด `memesh remember` / `recall`์„ ์ˆ˜๋™์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, **์ž๋™ ์บก์ฒ˜ ๋ฃจํ”„**(์„ธ์…˜ โ†’ ๊ตํ›ˆ โ†’ ๋‹ค์Œ ์„ธ์…˜์—์„œ ํšŒ์ƒ)๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
139
-
140
- ```bash
141
- memesh install-hooks # ~/.claude/settings.json์— memesh ํ›… ์ถ”๊ฐ€
142
- memesh doctor # "Hooks wired into Claude Code" PASS ํ™•์ธ
143
- ```
144
-
145
- ์ด ํ›…๋“ค์€ ๊ธฐ์กด `~/.claude/hooks/` ์‚ฌ์šฉ์ž ํ›…๊ณผ ๊ณต์กดํ•ฉ๋‹ˆ๋‹ค โ€” `install-hooks`๋Š” ์ถ”๊ฐ€ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉฐ ๊ธฐ์กด ํ•ญ๋ชฉ์„ ๋ฎ์–ด์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ œ๊ฑฐํ•˜๋ ค๋ฉด: `memesh uninstall-hooks`.
146
-
147
- ### 2๋‹จ๊ณ„: ์˜์‚ฌ๊ฒฐ์ • ์ €์žฅ
148
-
149
- > ์•„๋ž˜ bash ์˜ˆ์ œ๋Š” `memesh`๊ฐ€ `PATH`์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ต์…˜ B). ์˜ต์…˜ A(ํ”Œ๋Ÿฌ๊ทธ์ธ ์ „์šฉ) ์‚ฌ์šฉ์ž๋Š” ๋‘ ๊ฐ€์ง€ ๋™๋“ฑํ•œ ๊ฒฝ๋กœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: Claude Code ๋Œ€ํ™”์—์„œ ์ง์ ‘ ์š”์ฒญํ•˜๊ฑฐ๋‚˜(`/memesh` ์Šคํ‚ฌ + MCP ๋„๊ตฌ๊ฐ€ ๋™์ผํ•œ ํ๋ฆ„์„ ์ปค๋ฒ„), ์…ธ์—์„œ `memesh`๋ฅผ `npx @pcircle/memesh`๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค โ€” ๋™์ผํ•œ ํ”Œ๋ž˜๊ทธ, ๊ธ€๋กœ๋ฒŒ ์„ค์น˜ ๋ถˆํ•„์š”.
150
-
151
- ```bash
152
- memesh remember "Use OAuth 2.0 with PKCE for the new auth"
153
- ```
154
-
155
- ๋˜๋Š” ๋‚˜์ค‘์— ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋„๋ก ์•ˆ์ •์ ์ธ ์ด๋ฆ„๊ณผ ํƒ€์ž…์„ ์›ํ•˜๋ฉด ๋ช…์‹œ์  ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:
156
-
157
- ```bash
158
- memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
159
- ```
160
-
161
- ### 3๋‹จ๊ณ„: ๋‚˜์ค‘์— ํšŒ์ƒ
162
-
163
- ```bash
164
- memesh recall "login security"
165
- # โ†’ ๋‹ค๋ฅธ ๋‹จ์–ด๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ์–ด๋„ "OAuth 2.0 with PKCE"๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค
166
- ```
167
-
168
- **์ด๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค.** MeMesh๊ฐ€ ์ด์ œ ์„ธ์…˜ ๊ฐ„์— ๊ธฐ์–ตํ•˜๊ณ  ํšŒ์ƒํ•ฉ๋‹ˆ๋‹ค.
169
-
170
- ์„ค์น˜์™€ ๋กœ์ปฌ ์—ฐ๊ฒฐ์„ ์—”๋“œ ํˆฌ ์—”๋“œ๋กœ ํ™•์ธํ•˜๋ ค๋ฉด:
171
-
172
- ```bash
173
- memesh doctor
174
- ```
175
-
176
- ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์—ด์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค:
177
-
178
- ```bash
179
- memesh serve
180
- ```
181
-
182
- <p align="center">
183
- <img src="docs/images/dashboard-search.png" alt="MeMesh Search โ€” ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฆ‰์‹œ ์ฐพ์Šต๋‹ˆ๋‹ค" width="100%" />
184
- </p>
185
-
186
- <p align="center">
187
- <img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics โ€” ๊ฑด๊ฐ• ์ ์ˆ˜, ํƒ€์ž„๋ผ์ธ, ํŒจํ„ด, ์ง€์‹ ์ปค๋ฒ„๋ฆฌ์ง€" width="100%" />
188
- </p>
189
-
190
- <p align="center">
191
- <img src="docs/images/dashboard-graph.png" alt="MeMesh Graph โ€” ํƒ€์ž… ํ•„ํ„ฐ์™€ ์—๊ณ  ๋ชจ๋“œ๊ฐ€ ์žˆ๋Š” ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์ง€์‹ ๊ทธ๋ž˜ํ”„" width="100%" />
192
- </p>
193
-
194
- ---
195
-
196
- ## ๋ˆ„๊ฐ€ ์‚ฌ์šฉํ• ๊นŒ์š”?
197
-
198
- | ์ด๋Ÿฐ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด | MeMesh๊ฐ€ ๋„์™€์ค๋‹ˆ๋‹ค |
199
- |---|---|
200
- | **Claude Code๋ฅผ ์‚ฌ์šฉ ์ค‘** | ํ”„๋กœ์ ํŠธ ๊ฒฐ์ •, ํŒŒ์ผ๋ณ„ ๊ตํ›ˆ, ๊ณผ๊ฑฐ ์‹คํŒจ๋ฅผ ์ž‘์—… ์ค‘์— ์ž๋™์œผ๋กœ ํšŒ์ƒ |
201
- | **์ฝ”๋”ฉ ์—์ด์ „ํŠธ ํŒŒ์›Œ ์œ ์ €** | MCP ํ˜ธํ™˜ ๋„๊ตฌ ์ „์ฒด์—์„œ ํ•˜๋‚˜์˜ ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์–ด ๊ณต์œ  |
202
- | **ํŒ€์ด AI ์ฝ”๋”ฉ ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ—˜ ์ค‘** | ํ˜ธ์ŠคํŒ… ์ธํ”„๋ผ ๋„์ž… ์—†์ด ํ”„๋กœ์ ํŠธ ์ง€์‹ ๋‚ด๋ณด๋‚ด๊ธฐ/๊ฐ€์ ธ์˜ค๊ธฐ |
203
- | **์—์ด์ „ํŠธ ๊ฐœ๋ฐœ์ž** | MCP, HTTP, CLI๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ ์ถ”๊ฐ€ |
204
-
205
- ---
206
-
207
- ## ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ ์šฐ์„ ์œผ๋กœ ์„ค๊ณ„
208
-
209
- <table>
210
- <tr>
211
- <td width="33%" align="center">
212
-
213
- **Claude Code / Desktop**
214
- ```bash
215
- memesh-mcp
216
- ```
217
- MCP ๋„๊ตฌ + Claude Code ํ›…
218
-
219
- </td>
220
- <td width="33%" align="center">
221
-
222
- **๋ชจ๋“  HTTP ํด๋ผ์ด์–ธํŠธ**
223
- ```bash
224
- curl localhost:3737/v1/recall \
225
- -H "Content-Type: application/json" \
226
- -d '{"query":"auth"}'
227
- ```
228
- `memesh serve` (REST API)
229
-
230
- </td>
231
- <td width="33%" align="center">
232
-
233
- **๋ชจ๋“  LLM (OpenAI ํ˜•์‹)**
234
- ```bash
235
- memesh export-schema \
236
- --format openai
237
- ```
238
- ๋ชจ๋“  API ํ˜ธ์ถœ์— ๋„๊ตฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ
239
-
240
- </td>
241
- </tr>
242
- </table>
243
-
244
- ---
245
-
246
- ## OpenMemory, Cursor Memories, Mem0, Zep์™€๋Š” ์™œ ๋‹ค๋ฅผ๊นŒ์š”?
247
-
248
- | | **MeMesh** | OpenMemory | Cursor Memories | Mem0 | Zep / Graphiti |
249
- |---|---|---|---|---|---|
250
- | **์ตœ์ ํ™” ๋Œ€์ƒ** | ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ | ๋กœ์ปฌ/ํฌ๋กœ์Šค ํด๋ผ์ด์–ธํŠธ MCP ๋ฉ”๋ชจ๋ฆฌ | Cursor ๋„ค์ดํ‹ฐ๋ธŒ ํ”„๋กœ์ ํŠธ ๋ฉ”๋ชจ๋ฆฌ | ๊ด€๋ฆฌํ˜• ์•ฑ/์—์ด์ „ํŠธ ๋ฉ”๋ชจ๋ฆฌ | ์‹œ๊ณ„์—ด ์ง€์‹ ๊ทธ๋ž˜ํ”„ |
251
- | **์„ค์น˜ ๋ฐฉ์‹** | `npm install -g @pcircle/memesh` | ๋กœ์ปฌ ์•ฑ/์„œ๋ฒ„ ํ๋ฆ„ | Cursor ๋‚ด์žฅ | ํด๋ผ์šฐ๋“œ API / SDK / MCP | ์„œ๋น„์Šค/ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์„ฑ |
252
- | **์ €์žฅ์†Œ** | ๋กœ์ปฌ SQLite ํŒŒ์ผ ํ•˜๋‚˜ | ๋กœ์ปฌ ๋ฉ”๋ชจ๋ฆฌ ์Šคํƒ | Cursor ๊ด€๋ฆฌ ๊ทœ์น™/๋ฉ”๋ชจ๋ฆฌ | ํ˜ธ์ŠคํŒ… ๋˜๋Š” ์…€ํ”„ ํ˜ธ์ŠคํŒ… ์Šคํƒ | ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค |
253
- | **ํด๋ผ์šฐ๋“œ ํ•„์ˆ˜** | ์•„๋‹ˆ์˜ค | ๋กœ์ปฌ ๋ชจ๋“œ๋Š” ์•„๋‹ˆ์˜ค | Cursor ๊ณ„์ •/์„ค์ •์— ๋”ฐ๋ผ | ํ”Œ๋žซํผ์„ ์œ„ํ•ด์„œ ํ•„์ˆ˜ | ๋ณดํ†ต ํ•„์ˆ˜/์…€ํ”„ ํ˜ธ์ŠคํŒ… |
254
- | **Claude Code ํ›…** | 1์ˆœ์œ„ | MCP ๋„๊ตฌ | ์—†์Œ | MCP ๋„๊ตฌ | Claude Code ํŠนํ™” ์•„๋‹˜ |
255
- | **๋Œ€์‹œ๋ณด๋“œ** | ๋‚ด์žฅ | ๋‚ด์žฅ | Cursor ์„ค์ • | ํ”Œ๋žซํผ ๋Œ€์‹œ๋ณด๋“œ | ํ”Œ๋žซํผ/๊ทธ๋ž˜ํ”„ ๋„๊ตฌ |
256
- | **ํŠธ๋ ˆ์ด๋“œ์˜คํ”„** | ๊ฐ„๋‹จํ•œ ๋กœ์ปฌ ์†”๋ฃจ์…˜, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ทœ๋ชจ ์•„๋‹˜ | ๋” ๋„“์€ ๋กœ์ปฌ ์•ฑ ํ’‹ํ”„๋ฆฐํŠธ | Cursor์— ์ข…์† | ๊ฐ•๋ ฅํ•œ ๊ด€๋ฆฌํ˜• ํ”Œ๋žซํผ, ๋กœ์ปฌ ์šฐ์„  ์•„๋‹˜ | ๊ฐ•๋ ฅํ•œ ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ, ๋ณต์žกํ•œ ๊ตฌ์„ฑ |
257
-
258
- **MeMesh๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๊ด€๋ฆฌ ์ธํ”„๋ผ๋ฅผ ํฌ๊ธฐํ•˜๊ณ  ์ฆ‰๊ฐ์ ์ธ ๋กœ์ปฌ ๊ตฌ์„ฑ, ๊ฒ€์‚ฌ ๊ฐ€๋Šฅํ•œ ์ €์žฅ์†Œ, ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ์šฐ ํ›…์„ ์–ป์Šต๋‹ˆ๋‹ค.**
259
-
260
- ---
261
-
262
- ## Claude Code์—์„œ ์ž๋™์œผ๋กœ ์ผ์–ด๋‚˜๋Š” ์ผ
263
-
264
- ๋ชจ๋“  ๊ฒƒ์„ ์ˆ˜๋™์œผ๋กœ ๊ธฐ์–ตํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. MeMesh๋Š” ์ž‘์—… ์ค‘์— ์ง€์‹์„ ์บก์ฒ˜ํ•˜๊ณ  ์ฃผ์ž…ํ•˜๋Š” **6๊ฐ€์ง€ ํ›…**์ด ์žˆ์Šต๋‹ˆ๋‹ค:
265
-
266
- | ์‹œ์  | MeMesh๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—… |
267
- |------|---|
268
- | **๋งค ์„ธ์…˜ ์‹œ์ž‘** | ๊ฐ€์žฅ ๊ด€๋ จ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ + ๊ณผ๊ฑฐ ๊ตํ›ˆ์˜ ์‚ฌ์ „ ๊ฒฝ๊ณ  ๋กœ๋“œ |
269
- | **ํŒŒ์ผ ํŽธ์ง‘ ์ „** | Claude๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ํŒŒ์ผ ๋˜๋Š” ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๊ฒฐ๋œ ๋ฉ”๋ชจ๋ฆฌ ํšŒ์ƒ |
270
- | **๊ธฐ์–ต ์š”์ฒญ ์‹œ** | "remember this" / "guardar en memesh" / "sauvegarder dans memesh" / "่จ˜ไธ‹ไพ†" ์˜๋„(5๊ฐœ ์–ธ์–ด)๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  Claude๊ฐ€ memesh๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์•Œ๋ฆผ |
271
- | **๋ชจ๋“  `git commit` ํ›„** | ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ diff ํ†ต๊ณ„์™€ ํ•จ๊ป˜ ๊ธฐ๋ก |
272
- | **Claude๊ฐ€ ๋ฉˆ์ถœ ๋•Œ** | ํŽธ์ง‘๋œ ํŒŒ์ผ, ์ˆ˜์ •๋œ ์—๋Ÿฌ, ์‹คํŒจ๋กœ๋ถ€ํ„ฐ ์ž๋™ ์ƒ์„ฑ๋œ ๊ตฌ์กฐํ™”๋œ ๊ตํ›ˆ ์บก์ฒ˜ |
273
- | **์ปจํ…์ŠคํŠธ ์••์ถ• ์ „** | ์ปจํ…์ŠคํŠธ ์ œํ•œ์œผ๋กœ ์†์‹ค๋˜๊ธฐ ์ „์— ์ง€์‹ ์ €์žฅ |
274
-
275
- > **์–ธ์ œ๋“  ํ•ด์ œ ๊ฐ€๋Šฅ:** `export MEMESH_AUTO_CAPTURE=false`
276
-
277
- ---
278
-
279
- ## ๊ตฌ์„ฑ
280
-
281
- ๋ชจ๋“  ๊ตฌ์„ฑ์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ๋กœ์ปฌ ์ „์šฉ์ด๊ณ  ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค โ€” ์ž‘๋™ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์–ป๊ธฐ ์œ„ํ•ด ์•„๋ฌด๊ฒƒ๋„ ์„ค์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
282
-
283
- | ๋ณ€์ˆ˜ | ๊ธฐ๋ณธ๊ฐ’ | ์—ญํ•  |
284
- |---|---|---|
285
- | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ„์น˜๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. |
286
- | `MEMESH_AUTO_CAPTURE` | `true` | ์ž๋™ ์บก์ฒ˜ ํ›…(`Stop`, `PreCompact`)์„ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. |
287
- | `MEMESH_AUTO_DETECT_LLM` | ๋ฏธ์„ค์ •(์ž๋™ ๊ฐ์ง€ **์ผœ์ง**) | `0`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด memesh๊ฐ€ ์…ธ ํ™˜๊ฒฝ์—์„œ ๋ฐœ๊ฒฌํ•œ API ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST`๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ๊ณ  `~/.memesh/config.json`์— ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ๊ตฌ์„ฑํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, memesh๋Š” ์“ฐ๊ธฐ ์ธก LLM ๊ธฐ๋Šฅ(ํ†ตํ•ฉ, ๊ตํ›ˆ ์ถ”์ถœ, ์ž๋™ ํƒœ๊น…, dream)์— ์ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž„๋ฒ ๋”ฉ์€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” `embedder.provider`๋ฅผ `ollama` ๋˜๋Š” `openai`๋กœ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š” ํ•œ ํ‚ค์›Œ๋“œ ์ „์šฉ(FTS5)์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. |
288
- | `MEMESH_AUTO_UPDATE` | `off` | ์ž๋™ ์—…๋ฐ์ดํŠธ ์ •์ฑ…. `off`(๊ธฐ๋ณธ๊ฐ’)๋Š” ์ž๋™ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค; `patch`๋Š” `X.Y.Z โ†’ X.Y.Z+N`์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค; `minor`๋Š” `X.Y.Z โ†’ X.Y+1.0`์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค; `major`๋Š” ๋ชจ๋“  bump๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ๋œ ๊ฒฝ์šฐ, ๋ถ„๋ฆฌ๋œ `npm install -g`๊ฐ€ ์„ธ์…˜ ์ข…๋ฃŒ ์‹œ(Stop ํ›…) ์‹คํ–‰๋˜์–ด ์ž‘์—…์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” ๊ฒฐ๊ณผ๋Š” `~/.memesh/auto-update.log`์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. `~/.memesh/config.json`์—์„œ๋„ `autoUpdate`๋กœ ์„ค์ • ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค(env๊ฐ€ ์šฐ์„ ). ์„ค์น˜๋œ ๋ฒ„์ „์ด ๋ฉ”์ธํ…Œ์ด๋„ˆ์— ์˜ํ•ด deprecated๋œ ๊ฒฝ์šฐ(๋ณด์•ˆ ๊ถŒ๊ณ ), `off`์—์„œ๋„ `patch`๊ฐ€ ๊ฐ•์ œ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค โ€” minor / major bump๋Š” ์กฐ์šฉํ•œ ๋™์ž‘ ๋ณ€ํ™”๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋™์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. |
289
- | `OPENAI_API_KEY` | ๋ฏธ์„ค์ • | OpenAI ํ‚ค. `MEMESH_AUTO_DETECT_LLM=0`์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜์ง€ ์•Š๋Š” ํ•œ LLM ๊ธฐ๋Šฅ์— ์ž๋™์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. |
290
- | `OLLAMA_HOST` | `http://localhost:11434` | ๋กœ์ปฌ Ollama ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Ollama ์—”๋“œํฌ์ธํŠธ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. |
291
-
292
- `memesh doctor`๋Š” ํ™œ์„ฑํ™”๋œ ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•ด๊ฒฐ๋œ ๊ตฌ์„ฑ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
293
-
294
- npm์ด ์„ค์น˜๋œ ๋ฒ„์ „์„ deprecated๋กœ ํ”Œ๋ž˜๊ทธํ•˜๋ฉด(์ผ๋ฐ˜์ ์œผ๋กœ ๋ณด์•ˆ ๊ถŒ๊ณ ), ๋‹ค์Œ ์„ธ์…˜ ์‹œ์ž‘ ์‹œ ๊ฐ•๋ ฅํ•œ `โš ๏ธ MeMesh <ver> is DEPRECATED` ๋ฐฐ๋„ˆ๊ฐ€ ์•ž์— ์ถ”๊ฐ€๋˜๊ณ , ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ๊นŒ์ง€ `memesh update-status`๊ฐ€ ๋™์ผํ•œ ๋ผ์ธ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ผ์‹œ์ ์ธ ๋„คํŠธ์›Œํฌ ์‹คํŒจ๊ฐ€ ๊ฒฝ๊ณ ๋ฅผ ํ๋ฆฌ์ง€ ์•Š๋„๋ก ๊ฒ€์‚ฌ๊ฐ€ `~/.memesh/update-check.<version>.json`์— ์บ์‹œ๋ฉ๋‹ˆ๋‹ค.
295
-
296
- **ํด๋ฐฑ LLM ์ œ๊ณต์ž(Smart Mode).** dashboard์˜ **Settings โ†’ โ€œFallback providersโ€**์—์„œ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ํŽ˜์ผ์˜ค๋ฒ„ ์ฒด์ธ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ๊ธฐ๋ณธ ์ œ๊ณต์ž๊ฐ€ ๋‹ค์šด๋˜๋ฉด memesh๊ฐ€ ๋ชฉ๋ก์˜ ๋‹ค์Œ ๊ฒƒ์„ ์ฐจ๋ก€๋กœ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ [Ollama](https://ollama.com) ํด๋ฐฑ์ด๋‚˜ ํด๋ผ์šฐ๋“œ(OpenAI / Anthropic, API ํ‚ค ํ•„์š”)๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ํ”„๋ผ์ด๋ฒ„์‹œ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„: ํด๋ผ์šฐ๋“œ ํด๋ฐฑ์ด ์‚ฌ์šฉ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ํ…์ŠคํŠธ(๋น„๊ณต๊ฐœ์ผ ์ˆ˜ ์žˆ์Œ)๊ฐ€ ํ•ด๋‹น ์ œ๊ณต์ž๋กœ ์ „์†ก๋˜๋ฏ€๋กœ, ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ์œ„ํ•ด ๋กœ์ปฌ ์ „์šฉ์œผ๋กœ ์šด์˜ํ•œ๋‹ค๋ฉด ์œ ์˜ํ•˜์„ธ์š”.
297
-
298
- ---
299
-
300
- ## ๋Œ€์‹œ๋ณด๋“œ
301
-
302
- 8๊ฐœ ํƒญ, 11๊ฐœ ์–ธ์–ด, ์™ธ๋ถ€ ์˜์กด์„ฑ ์—†์Œ. ์„œ๋ฒ„ ์‹คํ–‰ ์ค‘ `http://localhost:3737/dashboard`์—์„œ ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.
303
-
304
- | ํƒญ | ๋‚ด์šฉ |
305
- |------|---|
306
- | **Insights** | ๋ฉ”๋ชจ๋ฆฌ ์ธ์‚ฌ์ดํŠธ โ€” dreamer ์—”์ง„์˜ ์ฃผ๊ฐ„ ์š”์•ฝ ๋ฐ ํŒจํ„ด ์ œ์•ˆ; ์›ํด๋ฆญ ์ˆ˜๋ฝ/๊ฑฐ์ ˆ |
307
- | **Search** | ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ์— ๊ฑธ์นœ ์ „์ฒด ํ…์ŠคํŠธ + ๋ฒกํ„ฐ ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰ |
308
- | **Browse** | ๋ณด๊ด€ ๋ฐ ๋ณต๊ตฌ ์˜ต์…˜์ด ์žˆ๋Š” ๋ชจ๋“  ์—”ํ‹ฐํ‹ฐ ํŽ˜์ด์ง€ ๋ฆฌ์ŠคํŠธ |
309
- | **Analytics** | ๋ฉ”๋ชจ๋ฆฌ ๊ฑด๊ฐ• ์ ์ˆ˜, 30์ผ ํƒ€์ž„๋ผ์ธ, PM ์†๋„ + KG ์—ฐ๊ฒฐ์„ฑ ์ง€ํ‘œ, ์ž‘์—… ํŒจํ„ด, ์ •๋ฆฌ ์ œ์•ˆ |
310
- | **Graph** | ํƒ€์ž… ํ•„ํ„ฐ, ๊ฒ€์ƒ‰, ์—๊ณ  ๋ชจ๋“œ, ์ตœ๊ทผ์„ฑ ํžˆํŠธ๋งต์ด ์žˆ๋Š” ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํฌ์Šค ๋””๋ ‰์…˜ ์ง€์‹ ๊ทธ๋ž˜ํ”„ |
311
- | **Lessons** | ๊ณผ๊ฑฐ ์‹คํŒจ๋กœ๋ถ€ํ„ฐ ๊ตฌ์กฐํ™”๋œ ๊ตํ›ˆ(์—๋Ÿฌ, ๊ทผ๋ณธ ์›์ธ, ์ˆ˜์ •, ์˜ˆ๋ฐฉ) |
312
- | **Manage** | ์—”ํ‹ฐํ‹ฐ ๋ณด๊ด€ ๋ฐ ๋ณต๊ตฌ |
313
- | **Settings** | LLM ํ”„๋กœ๋ฐ”์ด๋” ์„ค์ •, ์ฆ‰์‹œ ์–ธ์–ด ์„ ํƒ๊ธฐ |
314
-
315
- ---
316
-
317
- ## ์Šค๋งˆํŠธ ๊ธฐ๋Šฅ
318
-
319
- **๐Ÿง  ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰** โ€” "login security"๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด "OAuth PKCE"์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. MeMesh๋Š” ํ•ซ ํŒจ์Šค์—์„œ FTS5 + sqlite-vec๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ(LLM-free), ๋ฒกํ„ฐ ๋ณด์™„์ด ๊ด€๋ จ๋œ ํ‘œํ˜„๊นŒ์ง€ ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
320
-
321
- **๐ŸŒ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ž ๊ฒ€์ƒ‰** โ€” ์ค‘๊ตญ์–ด, ์ผ๋ณธ์–ด, ํ•œ๊ตญ์–ด, ํƒœ๊ตญ์–ด, ๋ผ์˜ค์–ด, ํฌ๋ฉ”๋ฅด์–ด, ๋ฐ˜๊ฐ ๊ฐ€ํƒ€์นด๋‚˜๋Š” ์ธ์ ‘ํ•œ ๋‘ ๊ธ€์ž ๋ฌถ์Œ์œผ๋กœ ์ƒ‰์ธ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ใ€Œ่ณ‡ๆ–™ๅบซ้ท็งปๅ‰ไธ€ๅฎš่ฆๅ…ˆๅ‚™ไปฝใ€์œผ๋กœ ์ €์žฅํ•œ ๊ธฐ์–ต์€ ์ „์ฒด ๋ฌธ์žฅ์„ ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•˜์ง€ ์•Š์•„๋„ ใ€Œๅ‚™ไปฝใ€์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅํ•  ๋•Œ์™€ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋ชจ๋‘ NFC ์ •๊ทœํ™”๋ฅผ ๊ฑฐ์น˜๋ฏ€๋กœ, macOS๋‚˜ ํ•œ๊ตญ์–ดยท๋ฒ ํŠธ๋‚จ์–ด IME๋กœ ์ž…๋ ฅํ•œ ๊ธฐ์–ต๋„ ์–ด๋А ์ชฝ ํ‘œ๊ธฐ๋กœ๋“  ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
322
-
323
- **๐Ÿ“Š ์ ์ˆ˜ ์ˆœ์œ„ ๋งค๊น€** โ€” ๊ฒฐ๊ณผ๋Š” ๊ด€๋ จ์„ฑ(30%) + ์ตœ๊ทผ์„ฑ(25%) + ๋นˆ๋„(18%) + ์‹ ๋ขฐ๋„(17%) + ํšŒ์ƒ ์˜ํ–ฅ(10%)์œผ๋กœ ์ˆœ์œ„ ๋งค๊ฒจ์ง‘๋‹ˆ๋‹ค.
324
-
325
- **๐Ÿ”„ ์ง€์‹ ์ง„ํ™”** โ€” ๊ฒฐ์ •์€ ๋ณ€ํ•ฉ๋‹ˆ๋‹ค. `forget`์œผ๋กœ ์˜ค๋ž˜๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ณด๊ด€(์ ˆ๋Œ€ ์‚ญ์ œ ์•ˆ ํ•จ). `supersedes` ๊ด€๊ณ„๊ฐ€ ๊ตฌ โ†’ ์‹ ์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. AI๋Š” ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „์„ ๋ด…๋‹ˆ๋‹ค.
326
-
327
- **โš ๏ธ ์ถฉ๋Œ ๊ฐ์ง€** โ€” ์„œ๋กœ ๋ชจ์ˆœ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‘ ๊ฐœ๊ฐ€ ์žˆ์œผ๋ฉด MeMesh๊ฐ€ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
328
-
329
- **๐Ÿ•ธ๏ธ ์ง€์‹ ๊ทธ๋ž˜ํ”„ ์—ฐ๊ฒฐ์„ฑ** โ€” `memesh kg backfill-relations --all-rules`๋Š” ํƒœ๊ทธ ๊ณต๋™ ๋ฐœ์ƒ, ํ”„๋กœ์ ํŠธ ํด๋Ÿฌ์Šคํ„ฐ๋ง, ์„ธ์…˜ ์ปจํ…์ŠคํŠธ, ์ด๋ฆ„ ์œ ์‚ฌ์„ฑ์„ ์‚ฌ์šฉํ•ด ๊ณ ์•„ ์—”ํ‹ฐํ‹ฐ๋ฅผ ์—ฐ๊ฒฐ โ€” LLM ๋ถˆํ•„์š”.
330
-
331
- **๐Ÿ“ฆ ํŒ€ ๊ณต์œ ** โ€” `memesh export > team-knowledge.json` โ†’ ํŒ€๊ณผ ๊ณต์œ  โ†’ `memesh import team-knowledge.json`
332
- ์ž„ํฌํŠธ๋œ ๋ฒˆ๋“ค์€ ๊ณ„์† ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, MeMesh๋Š” ๊ฒ€ํ† ํ•˜๊ฑฐ๋‚˜ ๋กœ์ปฌ์— ๋‹ค์‹œ ์ €์žฅํ•  ๋•Œ๊นŒ์ง€ Claude ํ›…์— ์ž„ํฌํŠธ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™ ์ฃผ์ž…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
333
-
334
- ---
335
-
336
- ## ์‚ฌ์šฉ ์˜ˆ์‹œ
337
-
338
- > "MeMesh๊ฐ€ 3์ฃผ ์ „์— ์•”์‹œ์  ํ๋ฆ„๋ณด๋‹ค PKCE๋ฅผ ์„ ํƒํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ธ์ฆ์— ๋Œ€ํ•ด Claude์—๊ฒŒ ๋ฌผ์—ˆ์„ ๋•Œ, ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค โ€” ์„ค๋ช…ํ•  ํ•„์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค."
339
- > โ€” **SaaS๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐœ๋ณ„ ๊ฐœ๋ฐœ์ž**
340
-
341
- > "๋งค์ฃผ ๊ธˆ์š”์ผ ํŒ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  ์›”์š”์ผ์— ์ž„ํฌํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  Claude๊ฐ€ ์ฃผ๊ฐ„ ์‹œ์ž‘ ์‹œ ํŒ€์ด ์ง€๋‚œ์ฃผ์— ๋ฐฐ์šด ๊ฒƒ์„ ์•Œ๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค."
342
- > โ€” **3๋ช… ์Šคํƒ€ํŠธ์—…, ๊ณต์œ  ์ง€์‹๋ฒ ์ด์Šค**
343
-
344
- > "๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ณด๋‹ˆ ๋ฉ”๋ชจ๋ฆฌ์˜ 90%๊ฐ€ ์ž๋™ ์ƒ์„ฑ๋œ ์„ธ์…˜ ๋กœ๊ทธ์˜€์Šต๋‹ˆ๋‹ค. `remember`๋ฅผ ์˜์‹์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์„œ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์„ ์ €์žฅํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ง ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค."
345
- > โ€” **Analytics ํƒญ์„ ๋ฐœ๊ฒฌํ•œ ๊ฐœ๋ฐœ์ž**
346
-
347
- ---
348
-
349
- ## ์Šค๋งˆํŠธ ๋ชจ๋“œ ์–ธ๋ฝ (์„ ํƒ)
350
-
351
- MeMesh๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜คํ”„๋ผ์ธ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค โ€” ํšŒ์ƒ์€ ์—„๊ฒฉํžˆ LLM-free๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ ์„ค์น˜๋งŒ์œผ๋กœ LongMemEval-S์—์„œ R@5 95.60%). LLM API ํ‚ค๋Š” ๊ทธ ์œ„์— LLM ์ฆ๊ฐ• ๋ถ„์„ ํ๋ฆ„์„ ์›ํ•  ๋•Œ๋งŒ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค: ๋” ์Šค๋งˆํŠธํ•œ ์„ธ์…˜ ์ถ”์ถœ, ์ƒˆ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ž๋™ ํƒœ๊ทธ ๋ถ€์—ฌ, ์‹คํŒจ๋กœ๋ถ€ํ„ฐ์˜ ๊ตํ›ˆ ์ƒ์„ฑ, `dream` ์••์ถ•:
352
-
353
- ```bash
354
- memesh config set llm.provider anthropic
355
- memesh config set llm.api-key sk-ant-...
356
- ```
357
-
358
- ๋˜๋Š” ๋Œ€์‹œ๋ณด๋“œ Settings ํƒญ ์‚ฌ์šฉ (๋น„์ฃผ์–ผ ์„ค์ •):
359
-
360
- ```bash
361
- memesh serve # ๋Œ€์‹œ๋ณด๋“œ ์—ด๊ธฐ โ†’ Settings ํƒญ
362
- ```
363
-
364
- **๊ณผ๊ฑฐ ์„ธ์…˜์„ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์บ๋‚ด๊ธฐ.** `memesh dream run --from-transcripts`๋Š” ์ด ํ”„๋กœ์ ํŠธ์˜ Claude Code ์„ธ์…˜ ๊ธฐ๋ก์„ ์ฝ๊ณ , ๋Œ€ํ™”์— ๋ฌปํžŒ ๊ฒฐ์ •๊ณผ ๊ตํ›ˆ์„ LLM์—๊ฒŒ ๋ฌผ์–ด ์ œ์•ˆ์œผ๋กœ ์Šคํ…Œ์ด์ง•ํ•ฉ๋‹ˆ๋‹ค โ€” ์ง€์‹ ๊ทธ๋ž˜ํ”„์—๋Š” ์ž๋™์œผ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `memesh dream show <id>`๋กœ ํ•˜๋‚˜์”ฉ ๊ฒ€ํ† ํ•˜๊ณ  ๋‚จ๊ธธ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ acceptํ•˜์„ธ์š”.
365
-
366
- ### ์ž์ฒด ์ž„๋ฒ ๋”ฉ ์‚ฌ์šฉ (์„ ํƒ)
367
-
368
- ๊ธฐ๋ณธ์ ์œผ๋กœ MeMesh๋Š” **ํ‚ค์›Œ๋“œ ์ „์šฉ** ๋ฆฌ์ฝœ(FTS5)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค โ€” API ํ‚ค ๋ถˆํ•„์š”, ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ ๋ถˆํ•„์š”, ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๊ธฐ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ๋งจํ‹ฑ(์˜๋ฏธ ๊ธฐ๋ฐ˜) ๊ฒ€์ƒ‰์€ ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ ์ž„๋ฒ ๋”๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”:
369
-
370
- ```bash
371
- memesh config set embedder.provider openai # or: ollama
372
- memesh config set embedder.model text-embedding-3-small
373
- ```
374
-
375
- ์ž„๋ฒ ๋”๋Š” **์ฑ„ํŒ… LLM๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ** ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค โ€” `llm.provider`๋ฅผ ๋ฐ”๊ฟ”๋„ ์ž„๋ฒ ๋”ฉ์ด ์กฐ์šฉํžˆ ๋ฐ”๋€Œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฐจ์›(์˜ˆ: 768 โ†’ 1536)์œผ๋กœ ์ „ํ™˜ํ•˜๋ฉด MeMesh๊ฐ€ ๋‹ค์Œ ์“ฐ๊ธฐ ์‹œ ๋ฒกํ„ฐ ์ธ๋ฑ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์žฌ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” `embedder.provider`: `ollama`(๋กœ์ปฌ), `openai`(ํ˜ธ์ŠคํŒ…ํ˜•). ๋‘˜ ๋‹ค ์—†์œผ๋ฉด ๋ฆฌ์ฝœ์€ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
376
-
377
- | | Level 0 (๊ธฐ๋ณธ) | Level 1 (์Šค๋งˆํŠธ ๋ชจ๋“œ) |
378
- |---|---|---|
379
- | **๊ฒ€์ƒ‰** | FTS5 + sqlite-vec, R@5 95.60% | ๋ณ€๊ฒฝ ์—†์Œ โ€” ํšŒ์ƒ์€ ๋ชจ๋“  ๋ ˆ๋ฒจ์—์„œ LLM-free |
380
- | **์ž๋™ ์บก์ฒ˜** | ๊ทœ์น™ ๊ธฐ๋ฐ˜ ํŒจํ„ด | + LLM์ด ๊ฒฐ์ •๊ณผ ๊ตํ›ˆ ์ถ”์ถœ |
381
- | **์ž๋™ ํƒœ๊ทธ ๋ถ€์—ฌ** | ์ˆ˜๋™ ํƒœ๊ทธ๋งŒ | + LLM์ด ์ƒˆ ๋ฉ”๋ชจ๋ฆฌ์— ํƒœ๊ทธ ์ƒ์„ฑ |
382
- | **์‹คํŒจ ๋ถ„์„** | ์‚ฌ์šฉ ๋ถˆ๊ฐ€ | + LLM์ด ์„ธ์…˜ ์—๋Ÿฌ๋ฅผ ๊ตฌ์กฐํ™”๋œ ๊ตํ›ˆ์œผ๋กœ ๋ณ€ํ™˜ |
383
- | **์••์ถ•** | ์‚ฌ์šฉ ๋ถˆ๊ฐ€ | `dream`์ด ์žฅํ™ฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ์••์ถ• |
384
- | **๋น„์šฉ** | ๋ฌด๋ฃŒ, API ํ‚ค ๋ถˆํ•„์š” | ~$0.0001 ๋ถ„์„ ํ˜ธ์ถœ๋‹น (Haiku) |
385
-
386
- ---
387
-
388
- ## 7๊ฐ€์ง€ ๋ฉ”๋ชจ๋ฆฌ ๋„๊ตฌ ์ „์ฒด
389
-
390
- | ๋„๊ตฌ | ์—ญํ•  |
391
- |---|---|
392
- | `remember` | ๊ด€์ฐฐ, ๊ด€๊ณ„, ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•œ ์ง€์‹ ์ €์žฅ |
393
- | `recall` | ๋‹ค์ค‘ ์š”์†Œ ์ ์ˆ˜ ๋งค๊น€(๊ด€๋ จ์„ฑ, ์ตœ๊ทผ์„ฑ, ๋นˆ๋„, ์‹ ๋ขฐ๋„, ํšŒ์ƒ ์˜ํ–ฅ)์ด ์žˆ๋Š” FTS5 + sqlite-vec ๊ฒ€์ƒ‰ โ€” ํ•ซ ํŒจ์Šค์— LLM ์—†์Œ |
394
- | `forget` | ์†Œํ”„ํŠธ ๋ณด๊ด€(์ ˆ๋Œ€ ์‚ญ์ œ ์•ˆ ํ•จ) ๋˜๋Š” ํŠน์ • ๊ด€์ฐฐ ์ œ๊ฑฐ |
395
- | `export` | ํ”„๋กœ์ ํŠธ๋‚˜ ํŒ€ ๋ฉค๋ฒ„ ๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ JSON ๊ณต์œ  |
396
- | `import` | ๋ณ‘ํ•ฉ ์ „๋žต(์Šคํ‚ต/๋ฎ์–ด์“ฐ๊ธฐ/์ถ”๊ฐ€)์ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ž„ํฌํŠธ |
397
- | `learn` | ์‹ค์ˆ˜๋กœ๋ถ€ํ„ฐ ๊ตฌ์กฐํ™”๋œ ๊ตํ›ˆ ๊ธฐ๋ก(์—๋Ÿฌ, ๊ทผ๋ณธ ์›์ธ, ์ˆ˜์ •, ์˜ˆ๋ฐฉ) |
398
- | `user_patterns` | ์ž‘์—… ํŒจํ„ด ๋ถ„์„ โ€” ์ผ์ •, ๋„๊ตฌ, ๊ฐ•์ , ํ•™์Šต ์˜์—ญ |
399
-
400
- ---
401
-
402
- ## ์•„ํ‚คํ…์ฒ˜
403
-
404
- ```
405
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
406
- โ”‚ Core Engine โ”‚
407
- โ”‚ (7 operations) โ”‚
408
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
409
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
410
- โ”‚ โ”‚ โ”‚
411
- CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
412
- โ”‚ โ”‚ โ”‚
413
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
414
- โ”‚
415
- SQLite + FTS5 + sqlite-vec
416
- (~/.memesh/knowledge-graph.db)
417
- ```
418
-
419
- ์ฝ”์–ด๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋กœ์ง์ด ํ„ฐ๋ฏธ๋„, HTTP, MCP์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
420
-
421
- ---
422
-
423
- ## ์—…๊ทธ๋ ˆ์ด๋“œ
424
-
425
- Claude Code์˜ plugin marketplace๋Š” ์„ค์น˜ ์‹œ ๋ฒ„์ „์„ ๊ณ ์ •ํ•˜๋ฉฐ **์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค**. ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด:
426
-
427
- **์˜ต์…˜ A โ€” `/plugin` UI**: `memesh@pcircle-memesh`๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ๋‹ค์‹œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. Claude Code๊ฐ€ marketplace์˜ ์ตœ์‹  ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
428
-
429
- **์˜ต์…˜ B โ€” ํ•œ ์ค„ ์Šคํฌ๋ฆฝํŠธ** (UI ํด๋ฆญ ๋ถˆํ•„์š”, ๋ฉฑ๋“ฑ):
430
-
431
- ```bash
432
- # plugin์ด v4.2.5 ์ด์ƒ์ด๋ฉด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค:
433
- bash ~/.claude/plugins/cache/pcircle-memesh/memesh/<current-version>/scripts/upgrade-plugin.sh
434
-
435
- # v4.2.5 ์ด์ „ ๋ฒ„์ „(์ฆ‰ v4.2.4 ๋˜๋Š” v4.2.3)์„ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ,
436
- # ์Šคํฌ๋ฆฝํŠธ๊ฐ€ plugin์— ์•„์ง ์—†์Šต๋‹ˆ๋‹ค. npm-global ์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜์„ธ์š”:
437
- bash "$(npm prefix -g)/lib/node_modules/@pcircle/memesh/scripts/upgrade-plugin.sh"
438
-
439
- # (์ด๋Š” `npm install -g @pcircle/memesh`๋„ ์‹คํ–‰ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์•ˆ ํ–ˆ๋‹ค๋ฉด
440
- # ์ง€๊ธˆ์ด ์ ๊ธฐ์ž…๋‹ˆ๋‹ค โ€” ์œ„์˜ "์„ค์น˜ ๊ฒฝ๋กœ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ" ์„น์…˜์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๊ฐ€
441
- # ๋‘ ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ์›ํ•˜๋Š” ์ด์œ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.)
442
- ```
443
-
444
- ์Šคํฌ๋ฆฝํŠธ๋Š” marketplace cache๋ฅผ fast-forwardํ•˜๊ณ , ์ƒˆ ๋ฒ„์ „์„ `~/.claude/plugins/cache/`์— ์Šคํ…Œ์ด์ง•ํ•˜๊ณ , runtime deps๋ฅผ ์„ค์น˜ํ•˜๊ณ , `installed_plugins.json`์„ ์ƒˆ ๋ฒ„์ „์œผ๋กœ ๋‹ค์‹œ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ์™„๋ฃŒ ํ›„ MCP server๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋˜๋„๋ก Claude Code๋ฅผ ์žฌ์‹œ์ž‘ํ•˜์„ธ์š”.
445
-
446
- **npm-global ์„ค์น˜**(`npm install -g @pcircle/memesh`)๋Š” `memesh update`๋กœ ์ž์ฒด ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Source checkouts: `git pull && npm install && npm run build`.
447
-
448
- ์„ธ์…˜ ์‹œ์ž‘ ์‹œ ์ƒˆ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์žˆ์œผ๋ฉด ํ•œ ์ค„ ๋ฐฐ๋„ˆ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(๋ฒ„์ „๋‹น 24์‹œ๊ฐ„ ์Šค๋กœํ‹€). `memesh doctor`๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ ๋Œ€์ƒ๊ณผ ์ฑ„๋„๋ณ„ ๋ช…๋ น์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.
449
-
450
- ---
451
-
452
- ## ๊ธฐ์—ฌํ•˜๊ธฐ
453
-
454
- ```bash
455
- git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
456
- cd memesh-llm-memory && npm install && npm run build
457
- npm test
458
- npm run test:e2e-dashboard
459
- ```
460
-
461
- ๋Œ€์‹œ๋ณด๋“œ: `cd dashboard && npm install && npm run dev`
462
-
463
- ---
464
-
465
- <p align="center">
466
- <strong>MIT</strong> โ€” Made by <a href="https://pcircle.com">PCIRCLE AI</a>
467
- </p>