@pcircle/memesh 4.0.3 → 4.1.1

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 (118) hide show
  1. package/README.de.md +227 -53
  2. package/README.es.md +230 -56
  3. package/README.fr.md +230 -56
  4. package/README.ja.md +229 -55
  5. package/README.ko.md +230 -56
  6. package/README.md +54 -3
  7. package/README.pt.md +230 -56
  8. package/README.th.md +230 -56
  9. package/README.vi.md +228 -54
  10. package/README.zh-CN.md +230 -56
  11. package/README.zh-TW.md +228 -54
  12. package/dashboard/dist/index.html +3 -3
  13. package/dist/core/analytics.d.ts +53 -0
  14. package/dist/core/analytics.d.ts.map +1 -0
  15. package/dist/core/analytics.js +127 -0
  16. package/dist/core/analytics.js.map +1 -0
  17. package/dist/core/auto-tagger.d.ts.map +1 -1
  18. package/dist/core/auto-tagger.js +14 -54
  19. package/dist/core/auto-tagger.js.map +1 -1
  20. package/dist/core/config.d.ts +1 -0
  21. package/dist/core/config.d.ts.map +1 -1
  22. package/dist/core/config.js +6 -10
  23. package/dist/core/config.js.map +1 -1
  24. package/dist/core/consolidator.d.ts.map +1 -1
  25. package/dist/core/consolidator.js +11 -61
  26. package/dist/core/consolidator.js.map +1 -1
  27. package/dist/core/doctor.d.ts +40 -0
  28. package/dist/core/doctor.d.ts.map +1 -0
  29. package/dist/core/doctor.js +264 -0
  30. package/dist/core/doctor.js.map +1 -0
  31. package/dist/core/embedder.js.map +1 -1
  32. package/dist/core/failure-analyzer.d.ts +2 -1
  33. package/dist/core/failure-analyzer.d.ts.map +1 -1
  34. package/dist/core/failure-analyzer.js +14 -47
  35. package/dist/core/failure-analyzer.js.map +1 -1
  36. package/dist/core/graph.d.ts +13 -0
  37. package/dist/core/graph.d.ts.map +1 -0
  38. package/dist/core/graph.js +13 -0
  39. package/dist/core/graph.js.map +1 -0
  40. package/dist/core/lesson-engine.d.ts +2 -1
  41. package/dist/core/lesson-engine.d.ts.map +1 -1
  42. package/dist/core/lesson-engine.js +2 -0
  43. package/dist/core/lesson-engine.js.map +1 -1
  44. package/dist/core/lifecycle.d.ts.map +1 -1
  45. package/dist/core/lifecycle.js +2 -1
  46. package/dist/core/lifecycle.js.map +1 -1
  47. package/dist/core/llm-client.d.ts +6 -0
  48. package/dist/core/llm-client.d.ts.map +1 -0
  49. package/dist/core/llm-client.js +64 -0
  50. package/dist/core/llm-client.js.map +1 -0
  51. package/dist/core/operations.d.ts +0 -1
  52. package/dist/core/operations.d.ts.map +1 -1
  53. package/dist/core/operations.js +40 -61
  54. package/dist/core/operations.js.map +1 -1
  55. package/dist/core/prompt-safety.d.ts +3 -0
  56. package/dist/core/prompt-safety.d.ts.map +1 -0
  57. package/dist/core/prompt-safety.js +13 -0
  58. package/dist/core/prompt-safety.js.map +1 -0
  59. package/dist/core/query-expander.d.ts.map +1 -1
  60. package/dist/core/query-expander.js +11 -72
  61. package/dist/core/query-expander.js.map +1 -1
  62. package/dist/core/schema-export.d.ts.map +1 -1
  63. package/dist/core/schema-export.js +72 -0
  64. package/dist/core/schema-export.js.map +1 -1
  65. package/dist/core/skill-usage-log.d.ts +11 -0
  66. package/dist/core/skill-usage-log.d.ts.map +1 -0
  67. package/dist/core/skill-usage-log.js +125 -0
  68. package/dist/core/skill-usage-log.js.map +1 -0
  69. package/dist/core/stats.d.ts +12 -0
  70. package/dist/core/stats.d.ts.map +1 -0
  71. package/dist/core/stats.js +19 -0
  72. package/dist/core/stats.js.map +1 -0
  73. package/dist/core/types.d.ts +9 -2
  74. package/dist/core/types.d.ts.map +1 -1
  75. package/dist/core/verifier.d.ts +37 -0
  76. package/dist/core/verifier.d.ts.map +1 -0
  77. package/dist/core/verifier.js +195 -0
  78. package/dist/core/verifier.js.map +1 -0
  79. package/dist/db.d.ts.map +1 -1
  80. package/dist/db.js +14 -0
  81. package/dist/db.js.map +1 -1
  82. package/dist/knowledge-graph.d.ts.map +1 -1
  83. package/dist/knowledge-graph.js +8 -43
  84. package/dist/knowledge-graph.js.map +1 -1
  85. package/dist/skills-manifest.json +71 -0
  86. package/dist/storage/conflicts.d.ts +4 -0
  87. package/dist/storage/conflicts.d.ts.map +1 -0
  88. package/dist/storage/conflicts.js +32 -0
  89. package/dist/storage/conflicts.js.map +1 -0
  90. package/dist/storage/fts-index.d.ts +4 -0
  91. package/dist/storage/fts-index.d.ts.map +1 -0
  92. package/dist/storage/fts-index.js +18 -0
  93. package/dist/storage/fts-index.js.map +1 -0
  94. package/dist/transports/cli/cli.js +203 -69
  95. package/dist/transports/cli/cli.js.map +1 -1
  96. package/dist/transports/http/server.d.ts +1 -0
  97. package/dist/transports/http/server.d.ts.map +1 -1
  98. package/dist/transports/http/server.js +138 -231
  99. package/dist/transports/http/server.js.map +1 -1
  100. package/dist/transports/mcp/handlers.d.ts +93 -0
  101. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  102. package/dist/transports/mcp/handlers.js +51 -1
  103. package/dist/transports/mcp/handlers.js.map +1 -1
  104. package/dist/transports/schemas.d.ts +28 -0
  105. package/dist/transports/schemas.d.ts.map +1 -1
  106. package/dist/transports/schemas.js +25 -0
  107. package/dist/transports/schemas.js.map +1 -1
  108. package/hooks/hooks.json +10 -0
  109. package/package.json +5 -3
  110. package/plugin.json +1 -1
  111. package/scripts/hooks/_shared.js +207 -1
  112. package/scripts/hooks/post-commit.js +5 -76
  113. package/scripts/hooks/pre-bash-orchestration-nudge.js +150 -0
  114. package/scripts/hooks/pre-compact.js +8 -76
  115. package/scripts/hooks/pre-edit-recall.js +0 -0
  116. package/scripts/hooks/session-start.js +69 -8
  117. package/scripts/hooks/session-summary.js +12 -81
  118. package/skills/agentic-orchestration/SKILL.md +399 -0
package/README.zh-TW.md CHANGED
@@ -1,110 +1,284 @@
1
+ <!-- translated from README.md @ ab9d25f8d9cb7c78c4cc271717709e2efb4bac76 -->
2
+ <!-- DO NOT edit this file by hand. The maintainer regenerates it from README.md via a private toolkit script (see internal docs). Manual edits will be overwritten on next sync. -->
3
+
1
4
  🌐 [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
5
 
3
6
  <p align="center">
4
7
  <h1 align="center">MeMesh LLM Memory</h1>
5
8
  <p align="center">
6
- <strong>給 Claude Code MCP coding agents 的本地記憶層。</strong><br />
9
+ <strong>給 Claude Code MCP 程式開發代理的在地記憶系統。</strong><br />
7
10
  一個 SQLite 檔案。不需要 Docker。不需要雲端。
8
11
  </p>
12
+ <p align="center">
13
+ <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>
14
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
15
+ <a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
16
+ <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
17
+ </p>
9
18
  </p>
10
19
 
11
- > 這份繁體中文 README 是精簡導覽版。若要查看最新、最完整的內容,請以 [English README](README.md) 為準。
20
+ ---
12
21
 
13
- ## 問題是什麼?
22
+ ## 問題所在
14
23
 
15
- coding agent 在每次 session 之間都很容易失去上下文。架構決策、除錯過程、踩過的坑、專案限制,常常要一講再講。
24
+ 你的程式開發代理在每次對話之間就會忘記一切。每個架構決策、每個修復的臭蟲、每個失敗的測試、每個代價不菲的教訓,都得重新跟它解釋一遍。Claude Code 每次都從零開始,重新發現舊的限制條件,浪費寶貴的上下文在它本應已知的事情上。
16
25
 
17
- **MeMesh 讓這些知識留在本機、可搜尋、可檢視,也能在之後的工作裡再次被召回。**
26
+ **MeMesh 讓程式開發代理擁有持久、可搜尋、不斷演進的在地記憶。**
18
27
 
19
- 這個 npm package MeMesh 的本地 plugin / package 版本,重點是本地記憶,不是雲端工作台,也不是企業平台。
28
+ 這個套件是 MeMesh 產品系列的在地記憶層。我們刻意保持它的精簡和開源:用 npm 安裝,把記憶保存在 `~/.memesh/knowledge-graph.db`,然後連接到 Claude Code 或任何支援 MCP 的用戶端。託管工作區和企業級作業系統產品應該與這個套件的 README 和路線圖分開。
29
+
30
+ ---
20
31
 
21
32
  ## 60 秒快速開始
22
33
 
23
- ### 1. 安裝
34
+ ### 第一步:安裝
24
35
 
25
36
  ```bash
26
37
  npm install -g @pcircle/memesh
27
38
  ```
28
39
 
29
- ### 2. 記下一個決策
40
+ ### 第二步:保存一個決策
30
41
 
31
42
  ```bash
32
43
  memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
33
44
  ```
34
45
 
35
- ### 3. 之後再找回來
46
+ ### 第三步:稍後回憶它
36
47
 
37
48
  ```bash
38
49
  memesh recall "login security"
39
- # → 即使換了說法,也能找回 "OAuth 2.0 with PKCE"
50
+ # → 找到 "OAuth 2.0 with PKCE" 即使你搜尋的是不同的詞彙
51
+ ```
52
+
53
+ **完成。** MeMesh 現在已經在跨對話記憶和回憶。
54
+
55
+ 如果你想驗證安裝和本地連線的整個流程:
56
+
57
+ ```bash
58
+ memesh doctor
40
59
  ```
41
60
 
42
- 打開 dashboard:
61
+ 開啟儀表板來探索你的記憶:
43
62
 
44
63
  ```bash
45
64
  memesh
46
65
  ```
47
66
 
48
- ## 這個工具適合誰?
67
+ <p align="center">
68
+ <img src="docs/images/dashboard-search.png" alt="MeMesh 搜尋 — 瞬間找到任何記憶" width="100%" />
69
+ </p>
70
+
71
+ <p align="center">
72
+ <img src="docs/images/dashboard-analytics.png" alt="MeMesh 分析 — 健康分數、時間線、模式、知識涵蓋範圍" width="100%" />
73
+ </p>
74
+
75
+ <p align="center">
76
+ <img src="docs/images/dashboard-graph.png" alt="MeMesh 圖表 — 互動式知識圖,具有類型篩選和自我中心模式" width="100%" />
77
+ </p>
78
+
79
+ ---
80
+
81
+ ## 誰應該用 MeMesh?
82
+
83
+ | 如果你是... | MeMesh 幫你... |
84
+ |---------------|---------------------|
85
+ | **使用 Claude Code 的開發者** | 在工作時自動回憶專案決策、檔案特定的經驗教訓和過去的失敗 |
86
+ | **程式開發代理進階使用者** | 在多個 MCP 相容工具間共享一層在地記憶 |
87
+ | **嘗試 AI 程式開發工作流的團隊** | 導出/導入專案知識,無需引入託管基礎設施 |
88
+ | **代理開發者** | 透過 MCP、HTTP、CLI 或 Python SDK 添加在地記憶 |
89
+
90
+ ---
91
+
92
+ ## 專為程式開發代理設計
93
+
94
+ <table>
95
+ <tr>
96
+ <td width="33%" align="center">
97
+
98
+ **Claude Code / Desktop**
99
+ ```bash
100
+ memesh-mcp
101
+ ```
102
+ MCP 工具 + Claude Code 鉤子
103
+
104
+ </td>
105
+ <td width="33%" align="center">
106
+
107
+ **任何 HTTP 用戶端**
108
+ ```bash
109
+ curl localhost:3737/v1/recall \
110
+ -H "Content-Type: application/json" \
111
+ -d '{"query":"auth"}'
112
+ ```
113
+ `memesh serve`(REST API)
114
+
115
+ </td>
116
+ <td width="33%" align="center">
117
+
118
+ **任何 LLM(OpenAI 格式)**
119
+ ```bash
120
+ memesh export-schema \
121
+ --format openai
122
+ ```
123
+ 貼到任何 API 呼叫中
124
+
125
+ </td>
126
+ </tr>
127
+ </table>
128
+
129
+ ---
49
130
 
50
- - 使用 Claude Code、希望跨 session 保留專案脈絡的開發者
51
- - 使用 MCP coding agents、想共用同一份本地記憶的進階使用者
52
- - 小型 AI-native 開發團隊,想透過 export / import 共用專案知識
53
- - 想用 CLI、HTTP 或 MCP 把本地記憶接進工具流程的 agent 開發者
131
+ ## 為什麼選 MeMesh 而不是 OpenMemory、Cursor Memories、Mem0 或 Zep?
54
132
 
55
- ## 為什麼用 MeMesh
133
+ | | **MeMesh** | OpenMemory | Cursor Memories | Mem0 | Zep / Graphiti |
134
+ |---|---|---|---|---|---|
135
+ | **最佳用途** | 程式開發代理的在地記憶 | 本地/跨用戶端 MCP 記憶 | Cursor 原生專案記憶 | 受管應用/代理記憶 | 時間性知識圖 |
136
+ | **安裝方式** | `npm install -g @pcircle/memesh` | 本地應用/伺服器流程 | 內建於 Cursor | 雲端 API / SDK / MCP | 服務/框架設定 |
137
+ | **儲存位置** | 單個本地 SQLite 檔案 | 本地記憶堆疊 | Cursor 管理的規則/記憶 | 託管或自管堆疊 | 圖形資料庫 |
138
+ | **需要雲端** | 否 | 否(本地模式) | 取決於 Cursor 帳戶/設定 | 是(平台) | 通常是/自管 |
139
+ | **Claude Code 鉤子** | 一級支援 | MCP 工具 | 否 | MCP 工具 | 不特別針對 Claude Code |
140
+ | **儀表板** | 內建 | 內建 | Cursor 設定 | 平台儀表板 | 平台/圖表工具 |
141
+ | **取捨** | 簡潔的本地方案,不適合企業規模 | 更寬泛的本地應用足跡 | 綁定到 Cursor | 強大的受管平台,較少本地優先 | 強大的圖形模型,設定更複雜 |
56
142
 
57
- - 本地優先:資料存在你自己的 SQLite 檔案裡
58
- - 安裝輕量:`npm install -g` 後即可使用
59
- - 整合直接:同時支援 CLI、HTTP、MCP
60
- - 對 Claude Code 友善:有 hooks,可在工作流中自動帶入相關記憶
61
- - 可檢視可清理:內建 dashboard,不是黑盒子
62
- - 較安全的匯入邊界:匯入記憶預設可搜尋,但不會直接自動注入到 Claude hooks,除非你重新檢閱或本地重存
143
+ **MeMesh 用立即可用的本地設定、可檢查的儲存和程式開發代理工作流鉤子來交換企業級受管基礎設施。**
63
144
 
64
- ## 在 Claude Code 會自動做什麼?
145
+ ---
65
146
 
66
- MeMesh 目前會在 5 個時機點協助你:
147
+ ## Claude Code 自動進行的事情
67
148
 
68
- - session 開始時,載入專案相關記憶與已知教訓
69
- - 編輯檔案前,先查回與該檔案或專案相關的記憶
70
- - `git commit` 後,記錄你做了什麼變更
71
- - session 結束時,整理本次修復、錯誤與 lesson learned
72
- - context compact 前,先把重要內容寫回本地記憶
149
+ 你不需要手動記住所有事情。MeMesh **6 個鉤子**在你工作時自動擷取和注入知識:
73
150
 
74
- ## Dashboard 有什麼?
151
+ | 何時 | MeMesh 做什麼 |
152
+ |------|------------------|
153
+ | **每個對話開始時** | 載入最相關的記憶 + 來自過去教訓的主動警告 + 代理協調橫幅 |
154
+ | **編輯檔案前** | 回憶與檔案或專案相關的記憶,再讓 Claude 寫程式碼 |
155
+ | **執行 bash 命令前** | 促使 Claude 派遣高可驗證性命令(測試、構建、檢查、遷移、部署、基準測試)作為背景代理 |
156
+ | **每次 `git commit` 後** | 記錄你的變更,包括差異統計 |
157
+ | **Claude 停止時** | 擷取已編輯的檔案、已修復的錯誤,並從失敗自動生成結構化經驗教訓 |
158
+ | **上下文壓縮前** | 在知識被上下文限制失去前保存 |
75
159
 
76
- Dashboard 目前提供 7 個分頁,並支援 11 種語言:
160
+ > **隨時退出:** `export MEMESH_AUTO_CAPTURE=false`
77
161
 
78
- - Search:搜尋記憶
79
- - Browse:瀏覽全部記憶
80
- - Analytics:看健康度、趨勢與使用情況
81
- - Graph:看知識關聯圖
82
- - Lessons:看過去的教訓
83
- - Manage:封存或還原記憶
84
- - Settings:設定 LLM provider 與語言
162
+ ---
85
163
 
86
- ## Smart Mode 是什麼?
164
+ ## 儀表板
87
165
 
88
- MeMesh 預設就能離線使用。若你額外設定 LLM API key,可以啟用更智慧的能力,例如:
166
+ 7 個標籤、11 種語言、零外部相依性。伺服器執行時可在 `http://localhost:3737/dashboard` 存取。
89
167
 
90
- - query expansion
91
- - 更好的自動萃取
92
- - 更聰明的記憶整理與壓縮
168
+ | 標籤 | 你會看到 |
169
+ |-----|-------------|
170
+ | **搜尋** | 全文 + 向量相似度搜尋所有記憶 |
171
+ | **瀏覽** | 所有實體的分頁列表,可以歸檔/復原 |
172
+ | **分析** | 記憶健康分數(0-100)、30 天時間線、價值指標、知識涵蓋範圍、清理建議、你的工作模式 |
173
+ | **圖表** | 互動式力導向知識圖,具有類型篩選、搜尋、自我中心模式、近期熱力圖 |
174
+ | **經驗教訓** | 來自過去失敗的結構化經驗教訓(錯誤、根本原因、修復、預防) |
175
+ | **管理** | 歸檔和復原實體 |
176
+ | **設定** | LLM 供應商設定、即時語言選擇器 |
93
177
 
94
- 不設定也可以正常使用核心功能。
178
+ ---
95
179
 
96
- ## 更多資訊
180
+ ## 智慧功能
97
181
 
98
- - 完整功能、比較、API release 細節:請看 [English README](README.md)
99
- - 平台整合方式:請看 [docs/platforms/README.md](docs/platforms/README.md)
100
- - API 參考:請看 [docs/api/API_REFERENCE.md](docs/api/API_REFERENCE.md)
182
+ **🧠 智慧搜尋** 搜尋「登入安全」並找到關於「OAuth PKCE」的記憶。MeMesh 使用你設定的 LLM 用相關詞彙擴展查詢。
101
183
 
102
- ## 開發與驗證
184
+ **📊 評分排名** — 結果按相關性(30%)+ 近期性(25%)+ 頻率(15%)+ 信心(15%)+ 回憶影響(10%)+ 時間有效性(5%)排名。
185
+
186
+ **🔄 知識演進** — 決策會改變。`forget` 歸檔舊記憶(永不刪除)。`supersedes` 關係連結舊 → 新。你的 AI 總是看到最新版本。
187
+
188
+ **⚠️ 衝突偵測** — 如果你有兩個互相矛盾的記憶,MeMesh 會警告你。
189
+
190
+ **📦 團隊共享** — `memesh export > team-knowledge.json` → 與團隊共享 → `memesh import team-knowledge.json`
191
+ 匯入的組合保持可搜尋,但 MeMesh 不會自動將匯入的記憶注入 Claude 鉤子,直到你檢查或在本地重新儲存。
192
+
193
+ ---
194
+
195
+ ## 使用範例
196
+
197
+ > 「MeMesh 記得我們三週前選擇了 PKCE 而不是隱式流程。當我再次問 Claude 關於身份驗證的問題時,它已經知道了——不需要重新解釋。」
198
+ > — **獨立開發者,正在構建 SaaS**
199
+
200
+ > 「我們每個星期五導出團隊的記憶,星期一導入。每個人的 Claude 在新一周開始時都知道團隊上週學到的東西。」
201
+ > — **3 人新創公司,共享知識庫**
202
+
203
+ > 「儀表板顯示我 90% 的記憶是自動生成的對話日誌。我開始有意使用 `remember` 來記錄架構決策。改變了遊戲規則。」
204
+ > — **發現分析標籤的開發者**
205
+
206
+ ---
207
+
208
+ ## 解鎖智慧模式(可選)
209
+
210
+ MeMesh 預設離線工作。只有在想要查詢擴展、更聰明的擷取和壓縮時才添加 LLM API 金鑰:
211
+
212
+ ```bash
213
+ memesh config set llm.provider anthropic
214
+ memesh config set llm.api-key sk-ant-...
215
+ ```
216
+
217
+ 或使用儀表板設定標籤(視覺化設定):
218
+
219
+ ```bash
220
+ memesh # 開啟儀表板 → 設定標籤
221
+ ```
222
+
223
+ | | 等級 0(預設) | 等級 1(智慧模式) |
224
+ |---|---|---|
225
+ | **搜尋** | FTS5 關鍵字匹配 | + LLM 查詢擴展(~97% 召回率) |
226
+ | **自動擷取** | 基於規則的模式 | + LLM 擷取決策和經驗教訓 |
227
+ | **壓縮** | 不可用 | `consolidate` 壓縮冗長的記憶 |
228
+ | **成本** | 免費,無 API 金鑰 | 約 $0.0001 / 搜尋(Haiku) |
229
+
230
+ ---
231
+
232
+ ## 全部 9 個記憶工具
233
+
234
+ | 工具 | 做什麼 |
235
+ |------|--------|
236
+ | `remember` | 用觀察、關係和標籤儲存知識 |
237
+ | `recall` | 智慧搜尋,包含多因素評分和 LLM 查詢擴展 |
238
+ | `forget` | 軟體歸檔(永不刪除)或移除特定觀察 |
239
+ | `consolidate` | LLM 驅動的冗長記憶壓縮 |
240
+ | `export` | 在專案或團隊成員之間以 JSON 共享記憶 |
241
+ | `import` | 匯入記憶,包含合併策略(跳過 / 覆蓋 / 追加) |
242
+ | `learn` | 記錄來自錯誤的結構化經驗教訓(錯誤、根本原因、修復、預防) |
243
+ | `user_patterns` | 分析你的工作模式——時間表、工具、優勢、學習領域 |
244
+ | `verify_agent_work` | 保留背景代理工作的驗證報告;根據 `git diff` 進行現實檢查聲稱的檔案變更 |
245
+
246
+ ---
247
+
248
+ ## 架構
249
+
250
+ ```
251
+ ┌─────────────────┐
252
+ │ 核心引擎 │
253
+ │ (8 項操作) │
254
+ └────────┬────────┘
255
+ ┌─────────────────┼─────────────────┐
256
+ │ │ │
257
+ CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
258
+ │ │ │
259
+ └─────────────────┼─────────────────┘
260
+
261
+ SQLite + FTS5 + sqlite-vec
262
+ (~/.memesh/knowledge-graph.db)
263
+ ```
264
+
265
+ 核心與框架無關。同一邏輯從終端、HTTP 或 MCP 執行。
266
+
267
+ ---
268
+
269
+ ## 貢獻
103
270
 
104
271
  ```bash
105
272
  git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
106
- cd memesh-llm-memory
107
- npm install
108
- npm run build
109
- npm test
273
+ cd memesh-llm-memory && npm install && npm run build
274
+ npm test # 489 項測試
275
+ npm run test:e2e-dashboard
110
276
  ```
277
+
278
+ 儀表板:`cd dashboard && npm install && npm run dev`
279
+
280
+ ---
281
+
282
+ <p align="center">
283
+ <strong>MIT</strong> — 由 <a href="https://pcircle.ai">PCIRCLE AI</a> 製作
284
+ </p>