memento-mcp-server 0.1.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 (555) hide show
  1. package/.cursor/rules/cache-management.mdc +171 -0
  2. package/.cursor/rules/database-schema.mdc +344 -0
  3. package/.cursor/rules/deployment.mdc +596 -0
  4. package/.cursor/rules/error-logging.mdc +298 -0
  5. package/.cursor/rules/forgetting-algorithms.mdc +426 -0
  6. package/.cursor/rules/http-server.mdc +432 -0
  7. package/.cursor/rules/hybrid-search.mdc +424 -0
  8. package/.cursor/rules/implementation.mdc +369 -0
  9. package/.cursor/rules/lightweight-embedding.mdc +178 -0
  10. package/.cursor/rules/mcp-client-development.mdc +0 -0
  11. package/.cursor/rules/mcp-server-development.mdc +0 -0
  12. package/.cursor/rules/mcp-tools-architecture.mdc +205 -0
  13. package/.cursor/rules/memento-memory-rule.mdc +8 -0
  14. package/.cursor/rules/memento-project-overview.mdc +0 -0
  15. package/.cursor/rules/memory-algorithms.mdc +502 -0
  16. package/.cursor/rules/monitoring.mdc +622 -0
  17. package/.cursor/rules/performance-alerts.mdc +537 -0
  18. package/.cursor/rules/performance-monitoring.mdc +345 -0
  19. package/.cursor/rules/performance-optimization.mdc +563 -0
  20. package/.cursor/rules/project-structure.mdc +310 -0
  21. package/.cursor/rules/testing.mdc +473 -0
  22. package/.dockerignore +15 -0
  23. package/.eslintrc.json +34 -0
  24. package/.github/ISSUE_TEMPLATE/bug_report.md +51 -0
  25. package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
  26. package/.github/ISSUE_TEMPLATE/question.md +31 -0
  27. package/.github/PULL_REQUEST_TEMPLATE.md +97 -0
  28. package/AGENTS.md +28 -0
  29. package/CHANGELOG.md +416 -0
  30. package/CODE_OF_CONDUCT.md +62 -0
  31. package/CONTRIBUTING.md +165 -0
  32. package/DOCKER_SETUP_GUIDE.md +84 -0
  33. package/Dockerfile +90 -0
  34. package/INSTALL.en.md +303 -0
  35. package/INSTALL.md +303 -0
  36. package/README.en.md +330 -0
  37. package/README.md +427 -0
  38. package/backup/legacy-removal-20250930-201816/http-server-legacy.ts +1068 -0
  39. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.ps1 +46 -0
  40. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.sh +48 -0
  41. package/dist/algorithms/forgetting-algorithm.d.ts +90 -0
  42. package/dist/algorithms/forgetting-algorithm.d.ts.map +1 -0
  43. package/dist/algorithms/forgetting-algorithm.js +160 -0
  44. package/dist/algorithms/forgetting-algorithm.js.map +1 -0
  45. package/dist/algorithms/hybrid-search-engine.d.ts +108 -0
  46. package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -0
  47. package/dist/algorithms/hybrid-search-engine.js +384 -0
  48. package/dist/algorithms/hybrid-search-engine.js.map +1 -0
  49. package/dist/algorithms/search-engine.d.ts +64 -0
  50. package/dist/algorithms/search-engine.d.ts.map +1 -0
  51. package/dist/algorithms/search-engine.js +304 -0
  52. package/dist/algorithms/search-engine.js.map +1 -0
  53. package/dist/algorithms/search-ranking.d.ts +145 -0
  54. package/dist/algorithms/search-ranking.d.ts.map +1 -0
  55. package/dist/algorithms/search-ranking.js +311 -0
  56. package/dist/algorithms/search-ranking.js.map +1 -0
  57. package/dist/algorithms/spaced-repetition.d.ts +83 -0
  58. package/dist/algorithms/spaced-repetition.d.ts.map +1 -0
  59. package/dist/algorithms/spaced-repetition.js +153 -0
  60. package/dist/algorithms/spaced-repetition.js.map +1 -0
  61. package/dist/algorithms/vector-search-engine.d.ts +96 -0
  62. package/dist/algorithms/vector-search-engine.d.ts.map +1 -0
  63. package/dist/algorithms/vector-search-engine.js +410 -0
  64. package/dist/algorithms/vector-search-engine.js.map +1 -0
  65. package/dist/client/index.d.ts +55 -0
  66. package/dist/client/index.d.ts.map +1 -0
  67. package/dist/client/index.js +179 -0
  68. package/dist/client/index.js.map +1 -0
  69. package/dist/config/index.d.ts +20 -0
  70. package/dist/config/index.d.ts.map +1 -0
  71. package/dist/config/index.js +87 -0
  72. package/dist/config/index.js.map +1 -0
  73. package/dist/database/init.d.ts +7 -0
  74. package/dist/database/init.d.ts.map +1 -0
  75. package/dist/database/init.js +117 -0
  76. package/dist/database/init.js.map +1 -0
  77. package/dist/database/migrate.d.ts +6 -0
  78. package/dist/database/migrate.d.ts.map +1 -0
  79. package/dist/database/migrate.js +84 -0
  80. package/dist/database/migrate.js.map +1 -0
  81. package/dist/database/schema.sql +159 -0
  82. package/dist/npm-client/context-injector.d.ts +106 -0
  83. package/dist/npm-client/context-injector.d.ts.map +1 -0
  84. package/dist/npm-client/context-injector.js +296 -0
  85. package/dist/npm-client/context-injector.js.map +1 -0
  86. package/dist/npm-client/index.d.ts +42 -0
  87. package/dist/npm-client/index.d.ts.map +1 -0
  88. package/dist/npm-client/index.js +43 -0
  89. package/dist/npm-client/index.js.map +1 -0
  90. package/dist/npm-client/memento-client.d.ts +114 -0
  91. package/dist/npm-client/memento-client.d.ts.map +1 -0
  92. package/dist/npm-client/memento-client.js +391 -0
  93. package/dist/npm-client/memento-client.js.map +1 -0
  94. package/dist/npm-client/memory-manager.d.ts +137 -0
  95. package/dist/npm-client/memory-manager.d.ts.map +1 -0
  96. package/dist/npm-client/memory-manager.js +341 -0
  97. package/dist/npm-client/memory-manager.js.map +1 -0
  98. package/dist/npm-client/types.d.ts +216 -0
  99. package/dist/npm-client/types.d.ts.map +1 -0
  100. package/dist/npm-client/types.js +44 -0
  101. package/dist/npm-client/types.js.map +1 -0
  102. package/dist/npm-client/utils.d.ts +91 -0
  103. package/dist/npm-client/utils.d.ts.map +1 -0
  104. package/dist/npm-client/utils.js +351 -0
  105. package/dist/npm-client/utils.js.map +1 -0
  106. package/dist/scripts/copy-assets.d.ts +3 -0
  107. package/dist/scripts/copy-assets.d.ts.map +1 -0
  108. package/dist/scripts/copy-assets.js +31 -0
  109. package/dist/scripts/copy-assets.js.map +1 -0
  110. package/dist/server/http-server.d.ts +28 -0
  111. package/dist/server/http-server.d.ts.map +1 -0
  112. package/dist/server/http-server.js +930 -0
  113. package/dist/server/http-server.js.map +1 -0
  114. package/dist/server/index-backup.d.ts +5 -0
  115. package/dist/server/index-backup.d.ts.map +1 -0
  116. package/dist/server/index-backup.js +793 -0
  117. package/dist/server/index-backup.js.map +1 -0
  118. package/dist/server/index-refactored.d.ts +6 -0
  119. package/dist/server/index-refactored.d.ts.map +1 -0
  120. package/dist/server/index-refactored.js +206 -0
  121. package/dist/server/index-refactored.js.map +1 -0
  122. package/dist/server/index.d.ts +12 -0
  123. package/dist/server/index.d.ts.map +1 -0
  124. package/dist/server/index.js +301 -0
  125. package/dist/server/index.js.map +1 -0
  126. package/dist/server/simple-mcp-server.d.ts +8 -0
  127. package/dist/server/simple-mcp-server.d.ts.map +1 -0
  128. package/dist/server/simple-mcp-server.js +152 -0
  129. package/dist/server/simple-mcp-server.js.map +1 -0
  130. package/dist/services/async-optimizer.d.ts +136 -0
  131. package/dist/services/async-optimizer.d.ts.map +1 -0
  132. package/dist/services/async-optimizer.js +406 -0
  133. package/dist/services/async-optimizer.js.map +1 -0
  134. package/dist/services/batch-scheduler.d.ts +156 -0
  135. package/dist/services/batch-scheduler.d.ts.map +1 -0
  136. package/dist/services/batch-scheduler.js +612 -0
  137. package/dist/services/batch-scheduler.js.map +1 -0
  138. package/dist/services/cache-service.d.ts +168 -0
  139. package/dist/services/cache-service.d.ts.map +1 -0
  140. package/dist/services/cache-service.js +360 -0
  141. package/dist/services/cache-service.js.map +1 -0
  142. package/dist/services/database-optimizer.d.ts +110 -0
  143. package/dist/services/database-optimizer.d.ts.map +1 -0
  144. package/dist/services/database-optimizer.js +369 -0
  145. package/dist/services/database-optimizer.js.map +1 -0
  146. package/dist/services/embedding-provider-factory.d.ts +62 -0
  147. package/dist/services/embedding-provider-factory.d.ts.map +1 -0
  148. package/dist/services/embedding-provider-factory.js +152 -0
  149. package/dist/services/embedding-provider-factory.js.map +1 -0
  150. package/dist/services/embedding-service.d.ts +95 -0
  151. package/dist/services/embedding-service.d.ts.map +1 -0
  152. package/dist/services/embedding-service.js +276 -0
  153. package/dist/services/embedding-service.js.map +1 -0
  154. package/dist/services/error-logging-service.d.ts +134 -0
  155. package/dist/services/error-logging-service.d.ts.map +1 -0
  156. package/dist/services/error-logging-service.js +271 -0
  157. package/dist/services/error-logging-service.js.map +1 -0
  158. package/dist/services/forgetting-policy-service.d.ts +94 -0
  159. package/dist/services/forgetting-policy-service.d.ts.map +1 -0
  160. package/dist/services/forgetting-policy-service.js +233 -0
  161. package/dist/services/forgetting-policy-service.js.map +1 -0
  162. package/dist/services/gemini-embedding-service.d.ts +82 -0
  163. package/dist/services/gemini-embedding-service.d.ts.map +1 -0
  164. package/dist/services/gemini-embedding-service.js +232 -0
  165. package/dist/services/gemini-embedding-service.js.map +1 -0
  166. package/dist/services/lightweight-embedding-service.d.ts +95 -0
  167. package/dist/services/lightweight-embedding-service.d.ts.map +1 -0
  168. package/dist/services/lightweight-embedding-service.js +263 -0
  169. package/dist/services/lightweight-embedding-service.js.map +1 -0
  170. package/dist/services/memory-embedding-service.d.ts +69 -0
  171. package/dist/services/memory-embedding-service.d.ts.map +1 -0
  172. package/dist/services/memory-embedding-service.js +223 -0
  173. package/dist/services/memory-embedding-service.js.map +1 -0
  174. package/dist/services/minilm-embedding-service.d.ts +92 -0
  175. package/dist/services/minilm-embedding-service.d.ts.map +1 -0
  176. package/dist/services/minilm-embedding-service.js +216 -0
  177. package/dist/services/minilm-embedding-service.js.map +1 -0
  178. package/dist/services/performance-alert-service.d.ts +142 -0
  179. package/dist/services/performance-alert-service.d.ts.map +1 -0
  180. package/dist/services/performance-alert-service.js +366 -0
  181. package/dist/services/performance-alert-service.js.map +1 -0
  182. package/dist/services/performance-monitor.d.ts +144 -0
  183. package/dist/services/performance-monitor.d.ts.map +1 -0
  184. package/dist/services/performance-monitor.js +416 -0
  185. package/dist/services/performance-monitor.js.map +1 -0
  186. package/dist/services/performance-monitoring-integration.d.ts +77 -0
  187. package/dist/services/performance-monitoring-integration.d.ts.map +1 -0
  188. package/dist/services/performance-monitoring-integration.js +177 -0
  189. package/dist/services/performance-monitoring-integration.js.map +1 -0
  190. package/dist/services/unified-embedding-service.d.ts +75 -0
  191. package/dist/services/unified-embedding-service.d.ts.map +1 -0
  192. package/dist/services/unified-embedding-service.js +211 -0
  193. package/dist/services/unified-embedding-service.js.map +1 -0
  194. package/dist/test/debug-http-v2.d.ts +5 -0
  195. package/dist/test/debug-http-v2.d.ts.map +1 -0
  196. package/dist/test/debug-http-v2.js +28 -0
  197. package/dist/test/debug-http-v2.js.map +1 -0
  198. package/dist/test/performance-benchmark.d.ts +57 -0
  199. package/dist/test/performance-benchmark.d.ts.map +1 -0
  200. package/dist/test/performance-benchmark.js +427 -0
  201. package/dist/test/performance-benchmark.js.map +1 -0
  202. package/dist/test/test-alerts-direct.d.ts +7 -0
  203. package/dist/test/test-alerts-direct.d.ts.map +1 -0
  204. package/dist/test/test-alerts-direct.js +101 -0
  205. package/dist/test/test-alerts-direct.js.map +1 -0
  206. package/dist/test/test-batch-scheduler.d.ts +2 -0
  207. package/dist/test/test-batch-scheduler.d.ts.map +1 -0
  208. package/dist/test/test-batch-scheduler.js +156 -0
  209. package/dist/test/test-batch-scheduler.js.map +1 -0
  210. package/dist/test/test-client.d.ts +5 -0
  211. package/dist/test/test-client.d.ts.map +1 -0
  212. package/dist/test/test-client.js +86 -0
  213. package/dist/test/test-client.js.map +1 -0
  214. package/dist/test/test-embedding.d.ts +6 -0
  215. package/dist/test/test-embedding.d.ts.map +1 -0
  216. package/dist/test/test-embedding.js +142 -0
  217. package/dist/test/test-embedding.js.map +1 -0
  218. package/dist/test/test-error-logging.d.ts +7 -0
  219. package/dist/test/test-error-logging.d.ts.map +1 -0
  220. package/dist/test/test-error-logging.js +105 -0
  221. package/dist/test/test-error-logging.js.map +1 -0
  222. package/dist/test/test-forgetting.d.ts +6 -0
  223. package/dist/test/test-forgetting.d.ts.map +1 -0
  224. package/dist/test/test-forgetting.js +154 -0
  225. package/dist/test/test-forgetting.js.map +1 -0
  226. package/dist/test/test-gemini-embedding.d.ts +7 -0
  227. package/dist/test/test-gemini-embedding.d.ts.map +1 -0
  228. package/dist/test/test-gemini-embedding.js +134 -0
  229. package/dist/test/test-gemini-embedding.js.map +1 -0
  230. package/dist/test/test-http-server-v2-simple.d.ts +6 -0
  231. package/dist/test/test-http-server-v2-simple.d.ts.map +1 -0
  232. package/dist/test/test-http-server-v2-simple.js +131 -0
  233. package/dist/test/test-http-server-v2-simple.js.map +1 -0
  234. package/dist/test/test-http-server-v2.d.ts +7 -0
  235. package/dist/test/test-http-server-v2.d.ts.map +1 -0
  236. package/dist/test/test-http-server-v2.js +529 -0
  237. package/dist/test/test-http-server-v2.js.map +1 -0
  238. package/dist/test/test-lightweight-embedding.d.ts +6 -0
  239. package/dist/test/test-lightweight-embedding.d.ts.map +1 -0
  240. package/dist/test/test-lightweight-embedding.js +189 -0
  241. package/dist/test/test-lightweight-embedding.js.map +1 -0
  242. package/dist/test/test-m1-completion.d.ts +7 -0
  243. package/dist/test/test-m1-completion.d.ts.map +1 -0
  244. package/dist/test/test-m1-completion.js +124 -0
  245. package/dist/test/test-m1-completion.js.map +1 -0
  246. package/dist/test/test-memory-injection-prompt.d.ts +2 -0
  247. package/dist/test/test-memory-injection-prompt.d.ts.map +1 -0
  248. package/dist/test/test-memory-injection-prompt.js +299 -0
  249. package/dist/test/test-memory-injection-prompt.js.map +1 -0
  250. package/dist/test/test-performance-alerts.d.ts +7 -0
  251. package/dist/test/test-performance-alerts.d.ts.map +1 -0
  252. package/dist/test/test-performance-alerts.js +109 -0
  253. package/dist/test/test-performance-alerts.js.map +1 -0
  254. package/dist/test/test-performance-monitor.d.ts +2 -0
  255. package/dist/test/test-performance-monitor.d.ts.map +1 -0
  256. package/dist/test/test-performance-monitor.js +182 -0
  257. package/dist/test/test-performance-monitor.js.map +1 -0
  258. package/dist/test/test-performance-monitoring.d.ts +6 -0
  259. package/dist/test/test-performance-monitoring.d.ts.map +1 -0
  260. package/dist/test/test-performance-monitoring.js +156 -0
  261. package/dist/test/test-performance-monitoring.js.map +1 -0
  262. package/dist/test/test-search.d.ts +5 -0
  263. package/dist/test/test-search.d.ts.map +1 -0
  264. package/dist/test/test-search.js +141 -0
  265. package/dist/test/test-search.js.map +1 -0
  266. package/dist/test/test-simple-alerts.d.ts +6 -0
  267. package/dist/test/test-simple-alerts.d.ts.map +1 -0
  268. package/dist/test/test-simple-alerts.js +106 -0
  269. package/dist/test/test-simple-alerts.js.map +1 -0
  270. package/dist/test/test-vector-search-engine.d.ts +2 -0
  271. package/dist/test/test-vector-search-engine.d.ts.map +1 -0
  272. package/dist/test/test-vector-search-engine.js +225 -0
  273. package/dist/test/test-vector-search-engine.js.map +1 -0
  274. package/dist/tools/base-tool.d.ts +64 -0
  275. package/dist/tools/base-tool.d.ts.map +1 -0
  276. package/dist/tools/base-tool.js +158 -0
  277. package/dist/tools/base-tool.js.map +1 -0
  278. package/dist/tools/cleanup-memory-tool.d.ts +10 -0
  279. package/dist/tools/cleanup-memory-tool.d.ts.map +1 -0
  280. package/dist/tools/cleanup-memory-tool.js +66 -0
  281. package/dist/tools/cleanup-memory-tool.js.map +1 -0
  282. package/dist/tools/database-optimize-tool.d.ts +10 -0
  283. package/dist/tools/database-optimize-tool.d.ts.map +1 -0
  284. package/dist/tools/database-optimize-tool.js +64 -0
  285. package/dist/tools/database-optimize-tool.js.map +1 -0
  286. package/dist/tools/error-stats.d.ts +93 -0
  287. package/dist/tools/error-stats.d.ts.map +1 -0
  288. package/dist/tools/error-stats.js +115 -0
  289. package/dist/tools/error-stats.js.map +1 -0
  290. package/dist/tools/forget-tool.d.ts +63 -0
  291. package/dist/tools/forget-tool.d.ts.map +1 -0
  292. package/dist/tools/forget-tool.js +340 -0
  293. package/dist/tools/forget-tool.js.map +1 -0
  294. package/dist/tools/forgetting-stats-tool.d.ts +10 -0
  295. package/dist/tools/forgetting-stats-tool.d.ts.map +1 -0
  296. package/dist/tools/forgetting-stats-tool.js +37 -0
  297. package/dist/tools/forgetting-stats-tool.js.map +1 -0
  298. package/dist/tools/index.d.ts +33 -0
  299. package/dist/tools/index.d.ts.map +1 -0
  300. package/dist/tools/index.js +55 -0
  301. package/dist/tools/index.js.map +1 -0
  302. package/dist/tools/memory-injection-prompt.d.ts +31 -0
  303. package/dist/tools/memory-injection-prompt.d.ts.map +1 -0
  304. package/dist/tools/memory-injection-prompt.js +203 -0
  305. package/dist/tools/memory-injection-prompt.js.map +1 -0
  306. package/dist/tools/performance-alerts.d.ts +127 -0
  307. package/dist/tools/performance-alerts.d.ts.map +1 -0
  308. package/dist/tools/performance-alerts.js +208 -0
  309. package/dist/tools/performance-alerts.js.map +1 -0
  310. package/dist/tools/performance-stats-tool.d.ts +10 -0
  311. package/dist/tools/performance-stats-tool.d.ts.map +1 -0
  312. package/dist/tools/performance-stats-tool.js +38 -0
  313. package/dist/tools/performance-stats-tool.js.map +1 -0
  314. package/dist/tools/pin-tool.d.ts +39 -0
  315. package/dist/tools/pin-tool.d.ts.map +1 -0
  316. package/dist/tools/pin-tool.js +211 -0
  317. package/dist/tools/pin-tool.js.map +1 -0
  318. package/dist/tools/recall-tool.d.ts +27 -0
  319. package/dist/tools/recall-tool.d.ts.map +1 -0
  320. package/dist/tools/recall-tool.js +335 -0
  321. package/dist/tools/recall-tool.js.map +1 -0
  322. package/dist/tools/remember-tool.d.ts +10 -0
  323. package/dist/tools/remember-tool.d.ts.map +1 -0
  324. package/dist/tools/remember-tool.js +101 -0
  325. package/dist/tools/remember-tool.js.map +1 -0
  326. package/dist/tools/resolve-error.d.ts +54 -0
  327. package/dist/tools/resolve-error.d.ts.map +1 -0
  328. package/dist/tools/resolve-error.js +63 -0
  329. package/dist/tools/resolve-error.js.map +1 -0
  330. package/dist/tools/tool-registry.d.ts +134 -0
  331. package/dist/tools/tool-registry.d.ts.map +1 -0
  332. package/dist/tools/tool-registry.js +337 -0
  333. package/dist/tools/tool-registry.js.map +1 -0
  334. package/dist/tools/types.d.ts +56 -0
  335. package/dist/tools/types.d.ts.map +1 -0
  336. package/dist/tools/types.js +23 -0
  337. package/dist/tools/types.js.map +1 -0
  338. package/dist/tools/unpin-tool.d.ts +43 -0
  339. package/dist/tools/unpin-tool.d.ts.map +1 -0
  340. package/dist/tools/unpin-tool.js +233 -0
  341. package/dist/tools/unpin-tool.js.map +1 -0
  342. package/dist/types/embedding.types.d.ts +65 -0
  343. package/dist/types/embedding.types.d.ts.map +1 -0
  344. package/dist/types/embedding.types.js +6 -0
  345. package/dist/types/embedding.types.js.map +1 -0
  346. package/dist/types/index.d.ts +103 -0
  347. package/dist/types/index.d.ts.map +1 -0
  348. package/dist/types/index.js +5 -0
  349. package/dist/types/index.js.map +1 -0
  350. package/dist/utils/database.d.ts +62 -0
  351. package/dist/utils/database.d.ts.map +1 -0
  352. package/dist/utils/database.js +399 -0
  353. package/dist/utils/database.js.map +1 -0
  354. package/dist/utils/stopwords.d.ts +18 -0
  355. package/dist/utils/stopwords.d.ts.map +1 -0
  356. package/dist/utils/stopwords.js +117 -0
  357. package/dist/utils/stopwords.js.map +1 -0
  358. package/docker-compose.dev.yml +50 -0
  359. package/docker-compose.prod.yml +77 -0
  360. package/docker-compose.yml +43 -0
  361. package/docs/en/Memento-Goals.md +217 -0
  362. package/docs/en/Memento-M1-DetailSpecs.md +130 -0
  363. package/docs/en/Memento-Milestones.md +135 -0
  364. package/docs/en/Search-Ranking-Memory-Decay-Formulas.md +177 -0
  365. package/docs/en/api-reference.md +658 -0
  366. package/docs/en/architecture.md +1302 -0
  367. package/docs/en/developer-guide.md +1005 -0
  368. package/docs/en/user-manual.md +595 -0
  369. package/docs/ko/Memento-Goals.md +217 -0
  370. package/docs/ko/Memento-M1-DetailSpecs.md +130 -0
  371. package/docs/ko/Memento-Milestones.md +134 -0
  372. package/docs/ko/Search-Ranking-Memory-Decay-Formulas.md +177 -0
  373. package/docs/ko/api-reference.md +658 -0
  374. package/docs/ko/architecture.md +1302 -0
  375. package/docs/ko/developer-guide.md +1006 -0
  376. package/docs/ko/embedding-api-reference.md +122 -0
  377. package/docs/ko/embedding-configuration.md +62 -0
  378. package/docs/ko/embedding-performance-benchmark.md +62 -0
  379. package/docs/ko/embedding-service-guide.md +314 -0
  380. package/docs/ko/user-manual.md +595 -0
  381. package/env.example +49 -0
  382. package/install.sh +191 -0
  383. package/mcp-http-client.js +218 -0
  384. package/mcp.json +0 -0
  385. package/package.json +125 -0
  386. package/packages/mcp-client/docs/API-REFERENCE.md +560 -0
  387. package/packages/mcp-client/docs/BEST-PRACTICES.md +564 -0
  388. package/packages/mcp-client/docs/MIGRATION-GUIDE.md +344 -0
  389. package/packages/mcp-client/docs/PERFORMANCE-GUIDE.md +476 -0
  390. package/packages/mcp-client/docs/TROUBLESHOOTING.md +564 -0
  391. package/packages/mcp-client/package-lock.json +907 -0
  392. package/packages/mcp-client/package.json +58 -0
  393. package/packages/mcp-client/performance-optimizer.js +428 -0
  394. package/packages/mcp-client/test-basic.js +65 -0
  395. package/packages/mcp-client/test-integration.js +366 -0
  396. package/scripts/auto-setup.js +234 -0
  397. package/scripts/backup-daily.bat +28 -0
  398. package/scripts/backup-embeddings.js +108 -0
  399. package/scripts/check-db-integrity.js +93 -0
  400. package/scripts/debug-embeddings.js +184 -0
  401. package/scripts/direct-sql-migration.sql +36 -0
  402. package/scripts/docker-migration.sh +105 -0
  403. package/scripts/fix-migration.js +93 -0
  404. package/scripts/fix-vector-dimensions.js +206 -0
  405. package/scripts/migrate-embedding-data.js +307 -0
  406. package/scripts/regenerate-embeddings.js +144 -0
  407. package/scripts/restore-legacy.ps1 +60 -0
  408. package/scripts/restore-legacy.sh +62 -0
  409. package/scripts/run-migration.js +122 -0
  410. package/scripts/safe-migration.js +150 -0
  411. package/scripts/simple-migrate.js +41 -0
  412. package/scripts/simple-update.js +123 -0
  413. package/scripts/start-container.sh +10 -0
  414. package/src/algorithms/forgetting-algorithm.spec.ts +538 -0
  415. package/src/algorithms/forgetting-algorithm.ts +243 -0
  416. package/src/algorithms/hybrid-search-engine.spec.ts +484 -0
  417. package/src/algorithms/hybrid-search-engine.ts +489 -0
  418. package/src/algorithms/search-engine.spec.ts +429 -0
  419. package/src/algorithms/search-engine.ts +392 -0
  420. package/src/algorithms/search-ranking.spec.ts +293 -0
  421. package/src/algorithms/search-ranking.ts +407 -0
  422. package/src/algorithms/spaced-repetition.spec.ts +510 -0
  423. package/src/algorithms/spaced-repetition.ts +238 -0
  424. package/src/algorithms/vector-search-engine.ts +505 -0
  425. package/src/client/index.spec.ts +427 -0
  426. package/src/client/index.ts +222 -0
  427. package/src/config/index.spec.ts +339 -0
  428. package/src/config/index.ts +106 -0
  429. package/src/database/init.spec.ts +239 -0
  430. package/src/database/init.ts +130 -0
  431. package/src/database/migrate.spec.ts +293 -0
  432. package/src/database/migrate.ts +94 -0
  433. package/src/database/migrations/001_add_embedding_metadata.sql +29 -0
  434. package/src/database/schema.sql +159 -0
  435. package/src/npm-client/context-injector.spec.ts +335 -0
  436. package/src/npm-client/context-injector.ts +412 -0
  437. package/src/npm-client/index.spec.ts +108 -0
  438. package/src/npm-client/index.ts +96 -0
  439. package/src/npm-client/memento-client.spec.ts +549 -0
  440. package/src/npm-client/memento-client.ts +501 -0
  441. package/src/npm-client/memory-manager.spec.ts +374 -0
  442. package/src/npm-client/memory-manager.ts +414 -0
  443. package/src/npm-client/types.spec.ts +427 -0
  444. package/src/npm-client/types.ts +296 -0
  445. package/src/npm-client/utils.spec.ts +355 -0
  446. package/src/npm-client/utils.ts +423 -0
  447. package/src/scripts/copy-assets.js +37 -0
  448. package/src/server/http-server.spec.ts +648 -0
  449. package/src/server/http-server.ts +1030 -0
  450. package/src/server/index-backup.ts +875 -0
  451. package/src/server/index-refactored.ts +237 -0
  452. package/src/server/index.spec.ts +281 -0
  453. package/src/server/index.ts +347 -0
  454. package/src/server/simple-mcp-server.spec.ts +207 -0
  455. package/src/server/simple-mcp-server.ts +173 -0
  456. package/src/services/async-optimizer.spec.ts +569 -0
  457. package/src/services/async-optimizer.ts +484 -0
  458. package/src/services/batch-scheduler.ts +759 -0
  459. package/src/services/cache-service.spec.ts +372 -0
  460. package/src/services/cache-service.ts +434 -0
  461. package/src/services/database-optimizer.spec.ts +344 -0
  462. package/src/services/database-optimizer.ts +450 -0
  463. package/src/services/embedding-provider-factory.ts +173 -0
  464. package/src/services/embedding-service.spec.ts +342 -0
  465. package/src/services/embedding-service.ts +333 -0
  466. package/src/services/error-logging-service.spec.ts +416 -0
  467. package/src/services/error-logging-service.ts +383 -0
  468. package/src/services/forgetting-policy-service.spec.ts +140 -0
  469. package/src/services/forgetting-policy-service.ts +334 -0
  470. package/src/services/gemini-embedding-service.spec.ts +463 -0
  471. package/src/services/gemini-embedding-service.ts +283 -0
  472. package/src/services/lightweight-embedding-service.spec.ts +458 -0
  473. package/src/services/lightweight-embedding-service.ts +324 -0
  474. package/src/services/memory-embedding-service.spec.ts +417 -0
  475. package/src/services/memory-embedding-service.ts +289 -0
  476. package/src/services/minilm-embedding-service.spec.ts +104 -0
  477. package/src/services/minilm-embedding-service.ts +262 -0
  478. package/src/services/performance-alert-service.spec.ts +517 -0
  479. package/src/services/performance-alert-service.ts +477 -0
  480. package/src/services/performance-monitor.spec.ts +401 -0
  481. package/src/services/performance-monitor.ts +532 -0
  482. package/src/services/performance-monitoring-integration.spec.ts +478 -0
  483. package/src/services/performance-monitoring-integration.ts.bak +276 -0
  484. package/src/services/unified-embedding-service.spec.ts +224 -0
  485. package/src/services/unified-embedding-service.ts +255 -0
  486. package/src/test/debug-http-v2.ts +30 -0
  487. package/src/test/embedding-integration-test.spec.ts +295 -0
  488. package/src/test/embedding-integration-test.ts +295 -0
  489. package/src/test/embedding-performance-benchmark.spec.ts +354 -0
  490. package/src/test/embedding-performance-benchmark.ts +312 -0
  491. package/src/test/performance-benchmark.ts +565 -0
  492. package/src/test/test-alerts-direct.ts +136 -0
  493. package/src/test/test-batch-scheduler-simple.spec.ts +122 -0
  494. package/src/test/test-batch-scheduler.spec.ts +453 -0
  495. package/src/test/test-batch-scheduler.ts +182 -0
  496. package/src/test/test-client.ts +97 -0
  497. package/src/test/test-embedding.ts +153 -0
  498. package/src/test/test-error-handling.spec.ts +575 -0
  499. package/src/test/test-error-logging.ts +117 -0
  500. package/src/test/test-forgetting.ts +162 -0
  501. package/src/test/test-gemini-embedding.ts +159 -0
  502. package/src/test/test-http-server-v2-simple.ts +147 -0
  503. package/src/test/test-http-server-v2.ts +586 -0
  504. package/src/test/test-hybrid-search-engine.spec.ts +521 -0
  505. package/src/test/test-integration-fixed.spec.ts +612 -0
  506. package/src/test/test-integration.spec.ts +463 -0
  507. package/src/test/test-lightweight-embedding.ts +208 -0
  508. package/src/test/test-m1-completion.spec.ts +614 -0
  509. package/src/test/test-m1-completion.ts +141 -0
  510. package/src/test/test-m1-integration.spec.ts +514 -0
  511. package/src/test/test-memory-injection-prompt.spec.ts +650 -0
  512. package/src/test/test-memory-injection-prompt.ts +391 -0
  513. package/src/test/test-performance-alerts.ts +125 -0
  514. package/src/test/test-performance-monitor-updates.spec.ts +490 -0
  515. package/src/test/test-performance-monitor.spec.ts +284 -0
  516. package/src/test/test-performance-monitor.ts +228 -0
  517. package/src/test/test-performance-monitoring.ts +171 -0
  518. package/src/test/test-search.ts +151 -0
  519. package/src/test/test-simple-alerts.ts +136 -0
  520. package/src/test/test-vector-search-engine.spec.ts +408 -0
  521. package/src/test/test-vector-search-engine.ts +303 -0
  522. package/src/tools/base-tool.ts +189 -0
  523. package/src/tools/cleanup-memory-tool.ts +77 -0
  524. package/src/tools/database-optimize-tool.ts +79 -0
  525. package/src/tools/error-stats.ts +119 -0
  526. package/src/tools/forget-tool.spec.ts +613 -0
  527. package/src/tools/forget-tool.ts +454 -0
  528. package/src/tools/forgetting-stats-tool.ts +47 -0
  529. package/src/tools/index.ts +71 -0
  530. package/src/tools/memory-injection-prompt.ts +257 -0
  531. package/src/tools/performance-alerts.ts +226 -0
  532. package/src/tools/performance-stats-tool.ts +48 -0
  533. package/src/tools/pin-tool.spec.ts +497 -0
  534. package/src/tools/pin-tool.ts +277 -0
  535. package/src/tools/recall-tool.spec.ts +475 -0
  536. package/src/tools/recall-tool.ts +389 -0
  537. package/src/tools/remember-tool.spec.ts +469 -0
  538. package/src/tools/remember-tool.ts +112 -0
  539. package/src/tools/resolve-error.ts +69 -0
  540. package/src/tools/tool-registry.ts +417 -0
  541. package/src/tools/types.ts +63 -0
  542. package/src/tools/unpin-tool.spec.ts +549 -0
  543. package/src/tools/unpin-tool.ts +306 -0
  544. package/src/types/embedding.types.ts +78 -0
  545. package/src/types/index.spec.ts +420 -0
  546. package/src/types/index.ts +117 -0
  547. package/src/utils/database.spec.ts +77 -0
  548. package/src/utils/database.ts +458 -0
  549. package/src/utils/stopwords.ts +128 -0
  550. package/start-docker-setup.bat +38 -0
  551. package/static/logo.png +0 -0
  552. package/static/memento_logo.svg +2 -0
  553. package/test-docker.js +103 -0
  554. package/tsconfig.json +46 -0
  555. package/vitest.config.ts +23 -0
@@ -0,0 +1,595 @@
1
+ # 사용자 매뉴얼
2
+
3
+ ## 개요
4
+
5
+ 이 매뉴얼은 Memento MCP Server를 사용하여 AI Agent의 기억을 관리하는 방법을 설명합니다. 초보자부터 고급 사용자까지 모든 수준의 사용자를 대상으로 합니다.
6
+
7
+ ## 목차
8
+
9
+ 1. [시작하기](#시작하기)
10
+ 2. [기본 사용법](#기본-사용법)
11
+ 3. [고급 기능](#고급-기능)
12
+ 4. [문제 해결](#문제-해결)
13
+ 5. [FAQ](#faq)
14
+
15
+ ## 시작하기
16
+
17
+ ### 설치
18
+
19
+ #### M1 (개인용) - 로컬 설치
20
+
21
+ ```bash
22
+ # 저장소 클론
23
+ git clone https://github.com/your-org/memento.git
24
+ cd memento
25
+
26
+ # 의존성 설치
27
+ npm install
28
+
29
+ # 환경 변수 설정
30
+ cp .env.example .env
31
+ # .env 파일을 편집하여 필요한 설정을 입력하세요
32
+
33
+ # 데이터베이스 초기화
34
+ npm run db:init
35
+
36
+ # 서버 시작 (핫 리로드)
37
+ npm run dev
38
+ ```
39
+
40
+ #### M2 (팀용) - Docker 설치
41
+
42
+ ```bash
43
+ # Docker Compose로 실행
44
+ docker-compose -f docker-compose.team.yml up -d
45
+
46
+ # 서버 상태 확인
47
+ curl http://localhost:8080/health
48
+ ```
49
+
50
+ ### MCP 클라이언트 설정
51
+
52
+ #### Claude Desktop 설정
53
+
54
+ 1. Claude Desktop 설정 파일을 열기:
55
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
56
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
57
+
58
+ 2. MCP 서버 추가:
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "memento": {
63
+ "command": "node",
64
+ "args": ["path/to/memento/dist/server/index.js"],
65
+ "env": {
66
+ "NODE_ENV": "production"
67
+ }
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ 3. Claude Desktop 재시작
74
+
75
+ #### Cursor 설정
76
+
77
+ 1. Cursor 설정에서 MCP 서버 추가
78
+ 2. 서버 URL 입력: `ws://localhost:8080/mcp`
79
+ 3. 연결 테스트
80
+
81
+ ## 기본 사용법
82
+
83
+ ### 1. 기억 저장하기
84
+
85
+ AI Agent와의 대화에서 중요한 정보를 기억으로 저장할 수 있습니다.
86
+
87
+ #### 실제 구현된 클라이언트 사용법
88
+
89
+ ```typescript
90
+ import { createMementoClient } from './src/client/index.js';
91
+
92
+ const client = createMementoClient();
93
+ await client.connect();
94
+
95
+ // 기본 저장
96
+ const memoryId = await client.callTool('remember', {
97
+ content: "사용자가 React Hook에 대해 질문했고, useState와 useEffect의 차이점을 설명했다."
98
+ });
99
+
100
+ // 태그와 함께 저장
101
+ const memoryId = await client.callTool('remember', {
102
+ content: "프로젝트에서 TypeScript를 도입하기로 결정했다.",
103
+ tags: ['typescript', 'decision', 'project'],
104
+ importance: 0.8
105
+ });
106
+
107
+ // 기억 타입 지정
108
+
109
+ ```
110
+ @memento remember "React Hook 사용법" --type "semantic" --tags "react,hooks,programming"
111
+ ```
112
+
113
+ ### 2. 기억 검색하기
114
+
115
+ 저장된 기억을 검색하여 관련 정보를 찾을 수 있습니다. Memento는 기본 검색과 하이브리드 검색을 제공합니다.
116
+
117
+ #### 하이브리드 검색 (권장)
118
+
119
+ FTS5 텍스트 검색과 벡터 검색을 결합한 하이브리드 검색을 사용하면 더 정확한 결과를 얻을 수 있습니다.
120
+
121
+ ```typescript
122
+ // 기본 하이브리드 검색 (벡터 60%, 텍스트 40%)
123
+ const result = await client.callTool('hybrid_search', {
124
+ query: "React Hook 사용법"
125
+ });
126
+
127
+ // 가중치 조정 (벡터 검색 비중 높이기)
128
+ const result = await client.callTool('hybrid_search', {
129
+ query: "TypeScript 인터페이스",
130
+ vectorWeight: 0.8, // 벡터 검색 80%
131
+ textWeight: 0.2 // 텍스트 검색 20%
132
+ });
133
+ ```
134
+
135
+ #### 기본 검색
136
+
137
+ ```
138
+ @memento recall "React Hook"
139
+ ```
140
+
141
+ #### 고급 검색
142
+
143
+ ```
144
+ @memento recall "TypeScript" --type "episodic,semantic" --tags "programming" --limit 10
145
+ ```
146
+
147
+ #### 시간 범위 검색
148
+
149
+ ```
150
+ @memento recall "프로젝트 결정" --from "2024-01-01" --to "2024-12-31"
151
+ ```
152
+
153
+ ### 3. 임베딩 기능 사용하기
154
+
155
+ Memento는 OpenAI의 `text-embedding-3-small` 모델을 사용하여 의미적 유사성 기반 검색을 제공합니다. OpenAI API가 없는 경우 자동으로 경량 하이브리드 임베딩 서비스(TF-IDF + 키워드 매칭)를 사용합니다.
156
+
157
+ #### 임베딩 기능 설정
158
+
159
+ 1. **OpenAI API 키 설정**:
160
+ ```bash
161
+ # .env 파일에 추가 (선택사항 - 없으면 경량 임베딩 사용)
162
+ OPENAI_API_KEY=your_openai_api_key_here
163
+ ```
164
+
165
+ 2. **임베딩 서비스 확인**:
166
+ ```bash
167
+ # 임베딩 기능 테스트
168
+ npm run test:embedding
169
+ ```
170
+
171
+ #### 임베딩 기능의 장점
172
+
173
+ - **의미적 검색**: 키워드가 아닌 의미를 기반으로 한 검색
174
+ - **동의어 인식**: "자동차"와 "차량"을 같은 의미로 인식
175
+ - **관련 개념 검색**: "프로그래밍"과 "코딩"을 연관된 개념으로 인식
176
+ - **자동 임베딩 생성**: 기억 저장 시 자동으로 벡터 생성
177
+
178
+ #### 임베딩 검색 사용법
179
+
180
+ ```typescript
181
+ // 기억 저장 시 자동으로 임베딩이 생성됩니다
182
+ const result = await client.callTool('remember', {
183
+ content: "React Hook에 대한 상세한 설명과 사용 예시",
184
+ type: 'semantic',
185
+ tags: ['react', 'hooks', 'javascript']
186
+ });
187
+
188
+ // 하이브리드 검색에서 벡터 검색 활용
189
+ const searchResult = await client.callTool('hybrid_search', {
190
+ query: "React 상태 관리",
191
+ vectorWeight: 0.7, // 벡터 검색 비중 높이기
192
+ textWeight: 0.3
193
+ });
194
+ ```
195
+
196
+ ### 4. 기억 관리하기
197
+
198
+ #### 기억 고정하기
199
+
200
+ 중요한 기억을 고정하여 자동 삭제에서 보호할 수 있습니다.
201
+
202
+ ```
203
+ @memento pin memory-123
204
+ ```
205
+
206
+ #### 기억 고정 해제하기
207
+
208
+ ```
209
+ @memento unpin memory-123
210
+ ```
211
+
212
+ #### 기억 삭제하기
213
+
214
+ ```
215
+ @memento forget memory-123
216
+ ```
217
+
218
+ #### 하드 삭제하기
219
+
220
+ ```
221
+ @memento forget memory-123 --hard
222
+ ```
223
+
224
+ ## 고급 기능
225
+
226
+ ### 1. 망각 정책 사용하기
227
+
228
+ #### 망각 정책이란?
229
+
230
+ 망각 정책은 메모리의 수명을 관리하는 시스템입니다. 인간의 기억 시스템을 모방하여:
231
+
232
+ - **자동 망각**: 오래되고 사용되지 않는 기억을 자동으로 삭제
233
+ - **간격 반복**: 중요한 기억을 주기적으로 리뷰하여 강화
234
+ - **TTL 관리**: 메모리 타입별로 다른 수명 정책 적용
235
+
236
+ #### 망각 정책 적용
237
+
238
+ ```typescript
239
+ // 기본 망각 정책 적용
240
+ const result = await client.callTool('apply_forgetting_policy', {});
241
+
242
+ console.log('소프트 삭제된 메모리:', result.softDeleted);
243
+ console.log('하드 삭제된 메모리:', result.hardDeleted);
244
+ console.log('리뷰 예정된 메모리:', result.scheduledForReview);
245
+ ```
246
+
247
+ #### 사용자 정의 망각 정책
248
+
249
+ ```typescript
250
+ // 사용자 정의 설정으로 망각 정책 적용
251
+ const result = await client.callTool('apply_forgetting_policy', {
252
+ config: {
253
+ forgetThreshold: 0.7, // 망각 임계값 (0.7)
254
+ softDeleteThreshold: 0.7, // 소프트 삭제 임계값 (0.7)
255
+ hardDeleteThreshold: 0.9, // 하드 삭제 임계값 (0.9)
256
+ ttlSoft: {
257
+ working: 3, // 작업기억 3일
258
+ episodic: 45, // 일화기억 45일
259
+ semantic: 200, // 의미기억 200일
260
+ procedural: 120 // 절차기억 120일
261
+ }
262
+ }
263
+ });
264
+ ```
265
+
266
+ #### 간격 반복 스케줄링
267
+
268
+ ```typescript
269
+ // 리뷰 스케줄 생성
270
+ const schedule = await client.callTool('schedule_review', {
271
+ memory_id: 'memory-123',
272
+ features: {
273
+ importance: 0.8, // 중요도 80%
274
+ usage: 0.6, // 사용성 60%
275
+ helpful_feedback: 0.7, // 도움됨 피드백 70%
276
+ bad_feedback: 0.1 // 나쁨 피드백 10%
277
+ }
278
+ });
279
+
280
+ console.log('다음 리뷰 날짜:', schedule.next_review);
281
+ console.log('리콜 확률:', schedule.recall_probability);
282
+ ```
283
+
284
+ ### 2. HTTP 서버 사용하기
285
+
286
+ #### HTTP 서버란?
287
+
288
+ HTTP 서버는 WebSocket을 지원하는 실시간 통신 서버입니다. 웹 클라이언트와의 통신을 위해 설계되었습니다.
289
+
290
+ #### HTTP 서버 시작
291
+
292
+ ```bash
293
+ # HTTP 서버 시작
294
+ npm run dev:http
295
+
296
+ # 또는 직접 실행
297
+ node dist/server/http-server.js
298
+ ```
299
+
300
+ #### WebSocket 연결
301
+
302
+ ```javascript
303
+ // 웹 클라이언트에서 WebSocket 연결
304
+ const ws = new WebSocket('ws://localhost:3000');
305
+
306
+ ws.on('open', () => {
307
+ console.log('WebSocket 연결됨');
308
+
309
+ // MCP 메시지 전송
310
+ ws.send(JSON.stringify({
311
+ method: 'tools/call',
312
+ params: {
313
+ name: 'remember',
314
+ arguments: {
315
+ content: '웹에서 저장한 기억',
316
+ type: 'episodic'
317
+ }
318
+ },
319
+ id: 'web-1'
320
+ }));
321
+ });
322
+
323
+ ws.on('message', (data) => {
324
+ const response = JSON.parse(data);
325
+ console.log('서버 응답:', response);
326
+ });
327
+ ```
328
+
329
+ ### 3. 세션 요약
330
+
331
+ 대화 세션을 요약하여 기억으로 저장할 수 있습니다.
332
+
333
+ ```
334
+ @memento summarize_thread session-456 --importance 0.8
335
+ ```
336
+
337
+ ### 4. 기억 간 관계 생성
338
+
339
+ 기억들 간의 관계를 설정하여 더 나은 검색 결과를 얻을 수 있습니다.
340
+
341
+ ```
342
+ @memento link memory-123 memory-456 --relation "derived_from"
343
+ ```
344
+
345
+ 사용 가능한 관계 타입:
346
+ - `cause_of`: 원인 관계
347
+ - `derived_from`: 파생 관계
348
+ - `duplicates`: 중복 관계
349
+ - `contradicts`: 모순 관계
350
+
351
+ ### 5. 기억 내보내기
352
+
353
+ 저장된 기억을 다양한 형식으로 내보낼 수 있습니다.
354
+
355
+ #### JSON 형식
356
+
357
+ ```
358
+ @memento export --format json --type "episodic,semantic"
359
+ ```
360
+
361
+ #### CSV 형식
362
+
363
+ ```
364
+ @memento export --format csv --tags "programming,react"
365
+ ```
366
+
367
+ #### Markdown 형식
368
+
369
+ ```
370
+ @memento export --format markdown --from "2024-01-01"
371
+ ```
372
+
373
+ ### 4. 피드백 제공
374
+
375
+ 기억의 유용성에 대한 피드백을 제공하여 검색 품질을 개선할 수 있습니다.
376
+
377
+ ```
378
+ @memento feedback memory-123 --helpful true --comment "매우 유용한 정보였습니다"
379
+ ```
380
+
381
+ ## 기억 타입별 사용법
382
+
383
+ ### 작업기억 (Working Memory)
384
+
385
+ 현재 처리 중인 정보를 임시로 저장합니다.
386
+
387
+ ```
388
+ @memento remember "현재 작업 중인 버그 수정 내용" --type "working"
389
+ ```
390
+
391
+ - **특징**: 48시간 후 자동 삭제
392
+ - **용도**: 현재 작업 컨텍스트 유지
393
+
394
+ ### 일화기억 (Episodic Memory)
395
+
396
+ 사건과 경험을 저장합니다.
397
+
398
+ ```
399
+ @memento remember "오늘 회의에서 결정된 사항들" --type "episodic" --tags "meeting,decision"
400
+ ```
401
+
402
+ - **특징**: 90일 후 자동 삭제 (고정하지 않은 경우)
403
+ - **용도**: 프로젝트 진행 상황, 회의 내용, 경험
404
+
405
+ ### 의미기억 (Semantic Memory)
406
+
407
+ 지식과 사실을 저장합니다.
408
+
409
+ ```
410
+ @memento remember "React Hook의 기본 개념과 사용법" --type "semantic" --tags "react,hooks,knowledge"
411
+ ```
412
+
413
+ - **특징**: 무기한 보존
414
+ - **용도**: 기술 지식, 가이드라인, 규칙
415
+
416
+ ### 절차기억 (Procedural Memory)
417
+
418
+ 방법과 절차를 저장합니다.
419
+
420
+ ```
421
+ @memento remember "Docker 컨테이너 배포 절차" --type "procedural" --tags "docker,deployment,procedure"
422
+ ```
423
+
424
+ - **특징**: 무기한 보존
425
+ - **용도**: 작업 절차, 설정 방법, 문제 해결 과정
426
+
427
+ ## 태그 시스템
428
+
429
+ ### 태그 명명 규칙
430
+
431
+ - **언어/기술**: `javascript`, `typescript`, `react`, `docker`
432
+ - **카테고리**: `programming`, `design`, `meeting`, `decision`
433
+ - **상태**: `todo`, `in-progress`, `completed`, `blocked`
434
+ - **중요도**: `critical`, `important`, `nice-to-have`
435
+
436
+ ### 태그 사용 예시
437
+
438
+ ```
439
+ @memento remember "프로젝트 아키텍처 설계" --tags "architecture,design,typescript,important"
440
+ ```
441
+
442
+ ## 검색 팁
443
+
444
+ ### 1. 효과적인 검색 쿼리 작성
445
+
446
+ - **구체적인 키워드 사용**: "React Hook" > "프로그래밍"
447
+ - **동의어 활용**: "JavaScript"와 "JS" 모두 검색
448
+ - **문맥 포함**: "프로젝트 설정" > "설정"
449
+
450
+ ### 2. 필터 활용
451
+
452
+ - **타입 필터**: 특정 기억 타입만 검색
453
+ - **태그 필터**: 관련 태그가 있는 기억만 검색
454
+ - **시간 필터**: 특정 기간의 기억만 검색
455
+
456
+ ### 3. 검색 결과 해석
457
+
458
+ - **점수**: 높을수록 관련성이 높음
459
+ - **recall_reason**: 검색된 이유 설명
460
+ - **태그**: 기억의 분류 정보
461
+
462
+ ## 문제 해결
463
+
464
+ ### 일반적인 문제
465
+
466
+ #### 1. 연결 오류
467
+
468
+ **증상**: MCP 서버에 연결할 수 없음
469
+
470
+ **해결 방법**:
471
+ 1. 서버가 실행 중인지 확인
472
+ 2. 포트가 올바른지 확인 (기본: 8080)
473
+ 3. 방화벽 설정 확인
474
+
475
+ #### 2. 검색 결과가 없음
476
+
477
+ **증상**: 검색해도 결과가 나오지 않음
478
+
479
+ **해결 방법**:
480
+ 1. 다른 키워드로 시도
481
+ 2. 필터 조건 완화
482
+ 3. 기억이 실제로 저장되었는지 확인
483
+
484
+ #### 3. 메모리 부족
485
+
486
+ **증상**: 서버 성능 저하, 응답 지연
487
+
488
+ **해결 방법**:
489
+ 1. 오래된 기억 정리
490
+ 2. 불필요한 기억 삭제
491
+ 3. 서버 리소스 확인
492
+
493
+ ### 로그 확인
494
+
495
+ #### M1 (로컬)
496
+
497
+ ```bash
498
+ # 서버 로그 확인
499
+ npm run logs
500
+
501
+ # 데이터베이스 상태 확인
502
+ npm run db:status
503
+ ```
504
+
505
+ #### M2+ (Docker)
506
+
507
+ ```bash
508
+ # 컨테이너 로그 확인
509
+ docker-compose logs memento-server
510
+
511
+ # 컨테이너 상태 확인
512
+ docker-compose ps
513
+ ```
514
+
515
+ ### 성능 최적화
516
+
517
+ #### 1. 기억 정리
518
+
519
+ 정기적으로 불필요한 기억을 정리하세요:
520
+
521
+ ```bash
522
+ # 오래된 작업기억 정리
523
+ @memento forget --type "working" --older-than "2 days"
524
+
525
+ # 중복 기억 정리
526
+ @memento cleanup --duplicates
527
+ ```
528
+
529
+ #### 2. 인덱스 최적화
530
+
531
+ ```bash
532
+ # 검색 인덱스 재구성
533
+ @memento optimize --indexes
534
+ ```
535
+
536
+ ## FAQ
537
+
538
+ ### Q: 기억이 자동으로 삭제되나요?
539
+
540
+ A: 네, 기억 타입에 따라 자동 삭제됩니다:
541
+ - 작업기억: 48시간 후
542
+ - 일화기억: 90일 후 (고정하지 않은 경우)
543
+ - 의미기억/절차기억: 자동 삭제되지 않음
544
+
545
+ ### Q: 기억을 영구적으로 보존하려면?
546
+
547
+ A: `pin` 명령어로 기억을 고정하면 자동 삭제에서 제외됩니다:
548
+
549
+ ```
550
+ @memento pin memory-123
551
+ ```
552
+
553
+ ### Q: 검색 결과의 정확도를 높이려면?
554
+
555
+ A: 다음 방법들을 시도해보세요:
556
+ 1. 더 구체적인 검색 쿼리 사용
557
+ 2. 관련 태그 추가
558
+ 3. 피드백 제공으로 학습 개선
559
+
560
+ ### Q: 여러 프로젝트의 기억을 분리하려면?
561
+
562
+ A: 태그나 프로젝트 ID를 활용하세요:
563
+
564
+ ```
565
+ @memento remember "프로젝트 A 관련 내용" --tags "project-a"
566
+ @memento recall "project-a" --tags "project-a"
567
+ ```
568
+
569
+ ### Q: 기억을 다른 사람과 공유할 수 있나요?
570
+
571
+ A: M2+ 버전에서는 팀 공유가 가능합니다:
572
+
573
+ ```
574
+ @memento remember "팀 공유 정보" --privacy-scope "team"
575
+ ```
576
+
577
+ ### Q: 백업은 어떻게 하나요?
578
+
579
+ A: `export` 명령어로 백업할 수 있습니다:
580
+
581
+ ```bash
582
+ # 전체 백업
583
+ @memento export --format json > backup.json
584
+
585
+ # 특정 기간 백업
586
+ @memento export --format json --from "2024-01-01" > backup-2024.json
587
+ ```
588
+
589
+ ## 추가 리소스
590
+
591
+ - [API 참조 문서](api-reference.md)
592
+ - [개발자 가이드](developer-guide.md)
593
+ - [문제 해결 가이드](troubleshooting.md)
594
+ - [GitHub 저장소](https://github.com/your-org/memento)
595
+ - [커뮤니티 포럼](https://github.com/your-org/memento/discussions)
package/env.example ADDED
@@ -0,0 +1,49 @@
1
+ # Memento MCP Server Environment Variables
2
+
3
+ # Node Environment
4
+ NODE_ENV=development
5
+
6
+ # Server Configuration
7
+ PORT=8080
8
+ LOG_LEVEL=info
9
+
10
+ # Database Configuration
11
+ DB_PATH=./data/memory.db
12
+
13
+ # Embedding Configuration
14
+ EMBEDDING_PROVIDER=minilm # Options: tfidf, minilm, openai, gemini
15
+
16
+ # OpenAI Configuration (Optional - for embedding features)
17
+ OPENAI_API_KEY=your_openai_api_key_here
18
+ OPENAI_MODEL=text-embedding-3-small
19
+
20
+ # Gemini Configuration (Optional - for embedding features)
21
+ GEMINI_API_KEY=your_gemini_api_key_here
22
+ GEMINI_MODEL=text-embedding-004
23
+
24
+ # Embedding Dimensions (automatically set based on provider)
25
+ EMBEDDING_DIMENSIONS=384 # TF-IDF: 512, MiniLM: 384, OpenAI: 1536, Gemini: 768
26
+
27
+ # CORS Configuration
28
+ ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080
29
+
30
+ # Performance Configuration
31
+ MAX_CONNECTIONS=1000
32
+ CACHE_TTL=300000
33
+ CACHE_MAX_SIZE=1000
34
+
35
+ # Forgetting Policy Configuration
36
+ FORGET_THRESHOLD=0.6
37
+ SOFT_DELETE_THRESHOLD=0.6
38
+ HARD_DELETE_THRESHOLD=0.8
39
+
40
+ # TTL Settings (in days)
41
+ TTL_SOFT_WORKING=2
42
+ TTL_SOFT_EPISODIC=30
43
+ TTL_SOFT_SEMANTIC=180
44
+ TTL_SOFT_PROCEDURAL=90
45
+
46
+ TTL_HARD_WORKING=7
47
+ TTL_HARD_EPISODIC=180
48
+ TTL_HARD_SEMANTIC=365
49
+ TTL_HARD_PROCEDURAL=180