@pcircle/memesh 4.1.7 → 4.2.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 (131) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.de.md +48 -10
  4. package/README.es.md +82 -17
  5. package/README.fr.md +49 -11
  6. package/README.ja.md +83 -17
  7. package/README.ko.md +86 -20
  8. package/README.md +12 -7
  9. package/README.pt.md +48 -10
  10. package/README.th.md +46 -8
  11. package/README.vi.md +48 -10
  12. package/README.zh-CN.md +83 -17
  13. package/README.zh-TW.md +110 -44
  14. package/dashboard/dist/index.html +9 -9
  15. package/dist/cli/view-live.js +2 -2
  16. package/dist/cli/view.d.ts.map +1 -1
  17. package/dist/cli/view.js +15 -12
  18. package/dist/cli/view.js.map +1 -1
  19. package/dist/core/analytics.d.ts +17 -0
  20. package/dist/core/analytics.d.ts.map +1 -1
  21. package/dist/core/analytics.js +40 -0
  22. package/dist/core/analytics.js.map +1 -1
  23. package/dist/core/auto-tagger.d.ts +7 -2
  24. package/dist/core/auto-tagger.d.ts.map +1 -1
  25. package/dist/core/auto-tagger.js +12 -4
  26. package/dist/core/auto-tagger.js.map +1 -1
  27. package/dist/core/config.d.ts +2 -0
  28. package/dist/core/config.d.ts.map +1 -1
  29. package/dist/core/config.js +19 -11
  30. package/dist/core/config.js.map +1 -1
  31. package/dist/core/consolidator.d.ts.map +1 -1
  32. package/dist/core/consolidator.js +13 -4
  33. package/dist/core/consolidator.js.map +1 -1
  34. package/dist/core/digest-validator.d.ts +18 -0
  35. package/dist/core/digest-validator.d.ts.map +1 -0
  36. package/dist/core/digest-validator.js +79 -0
  37. package/dist/core/digest-validator.js.map +1 -0
  38. package/dist/core/doctor.d.ts.map +1 -1
  39. package/dist/core/doctor.js +28 -11
  40. package/dist/core/doctor.js.map +1 -1
  41. package/dist/core/dreamer.d.ts +8 -1
  42. package/dist/core/dreamer.d.ts.map +1 -1
  43. package/dist/core/dreamer.js +68 -14
  44. package/dist/core/dreamer.js.map +1 -1
  45. package/dist/core/embedder.d.ts.map +1 -1
  46. package/dist/core/embedder.js +2 -2
  47. package/dist/core/embedder.js.map +1 -1
  48. package/dist/core/extractor.d.ts.map +1 -1
  49. package/dist/core/extractor.js +2 -1
  50. package/dist/core/extractor.js.map +1 -1
  51. package/dist/core/failure-analyzer.d.ts +6 -1
  52. package/dist/core/failure-analyzer.d.ts.map +1 -1
  53. package/dist/core/failure-analyzer.js +10 -2
  54. package/dist/core/failure-analyzer.js.map +1 -1
  55. package/dist/core/install-hooks.d.ts.map +1 -1
  56. package/dist/core/install-hooks.js +1 -7
  57. package/dist/core/install-hooks.js.map +1 -1
  58. package/dist/core/install-id.d.ts.map +1 -1
  59. package/dist/core/install-id.js +2 -3
  60. package/dist/core/install-id.js.map +1 -1
  61. package/dist/core/kg-backfill.d.ts +39 -0
  62. package/dist/core/kg-backfill.d.ts.map +1 -0
  63. package/dist/core/kg-backfill.js +362 -0
  64. package/dist/core/kg-backfill.js.map +1 -0
  65. package/dist/core/llm-client.d.ts +13 -0
  66. package/dist/core/llm-client.d.ts.map +1 -1
  67. package/dist/core/llm-client.js +63 -3
  68. package/dist/core/llm-client.js.map +1 -1
  69. package/dist/core/llm-telemetry.d.ts +35 -0
  70. package/dist/core/llm-telemetry.d.ts.map +1 -0
  71. package/dist/core/llm-telemetry.js +96 -0
  72. package/dist/core/llm-telemetry.js.map +1 -0
  73. package/dist/core/llm-validator.d.ts.map +1 -1
  74. package/dist/core/llm-validator.js +3 -3
  75. package/dist/core/llm-validator.js.map +1 -1
  76. package/dist/core/operations.d.ts.map +1 -1
  77. package/dist/core/operations.js +4 -35
  78. package/dist/core/operations.js.map +1 -1
  79. package/dist/core/paths.d.ts +6 -0
  80. package/dist/core/paths.d.ts.map +1 -0
  81. package/dist/core/paths.js +27 -0
  82. package/dist/core/paths.js.map +1 -0
  83. package/dist/core/prompt-safety.d.ts.map +1 -1
  84. package/dist/core/prompt-safety.js.map +1 -1
  85. package/dist/core/scoring.d.ts +5 -0
  86. package/dist/core/scoring.d.ts.map +1 -1
  87. package/dist/core/scoring.js +8 -0
  88. package/dist/core/scoring.js.map +1 -1
  89. package/dist/core/serializer.js +1 -1
  90. package/dist/core/serializer.js.map +1 -1
  91. package/dist/core/skill-usage-log.js +2 -2
  92. package/dist/core/skill-usage-log.js.map +1 -1
  93. package/dist/core/types.d.ts +2 -2
  94. package/dist/core/types.d.ts.map +1 -1
  95. package/dist/core/verifier.d.ts.map +1 -1
  96. package/dist/core/verifier.js +4 -4
  97. package/dist/core/verifier.js.map +1 -1
  98. package/dist/core/version-check.d.ts.map +1 -1
  99. package/dist/core/version-check.js +4 -3
  100. package/dist/core/version-check.js.map +1 -1
  101. package/dist/db.d.ts.map +1 -1
  102. package/dist/db.js +71 -14
  103. package/dist/db.js.map +1 -1
  104. package/dist/knowledge-graph.d.ts +1 -1
  105. package/dist/knowledge-graph.d.ts.map +1 -1
  106. package/dist/knowledge-graph.js +1 -1
  107. package/dist/knowledge-graph.js.map +1 -1
  108. package/dist/skills-manifest.json +16 -16
  109. package/dist/storage/fts-index.js +1 -1
  110. package/dist/storage/fts-index.js.map +1 -1
  111. package/dist/transports/cli/cli.js +128 -6
  112. package/dist/transports/cli/cli.js.map +1 -1
  113. package/dist/transports/http/server.d.ts.map +1 -1
  114. package/dist/transports/http/server.js +204 -25
  115. package/dist/transports/http/server.js.map +1 -1
  116. package/dist/transports/mcp/handlers.d.ts +1 -1
  117. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  118. package/dist/transports/mcp/handlers.js +1 -1
  119. package/dist/transports/mcp/handlers.js.map +1 -1
  120. package/package.json +2 -2
  121. package/scripts/hooks/_shared.js +177 -14
  122. package/scripts/hooks/post-commit.js +50 -8
  123. package/scripts/hooks/pre-bash-orchestration-nudge.js +8 -3
  124. package/scripts/hooks/pre-compact.js +13 -16
  125. package/scripts/hooks/pre-edit-recall.js +28 -13
  126. package/scripts/hooks/session-start.js +194 -184
  127. package/scripts/hooks/session-summary.js +376 -41
  128. package/dist/core/query-expander.d.ts +0 -4
  129. package/dist/core/query-expander.d.ts.map +0 -1
  130. package/dist/core/query-expander.js +0 -53
  131. package/dist/core/query-expander.js.map +0 -1
package/README.zh-TW.md CHANGED
@@ -1,6 +1,3 @@
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
-
4
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)
5
2
 
6
3
  <p align="center">
@@ -29,27 +26,70 @@
29
26
 
30
27
  ---
31
28
 
29
+ ## 實證 — 在 LongMemEval-S 上 R@5 達 95.40%
30
+
31
+ MeMesh 的檢索引擎**只用 FTS5**(熱路徑上不使用 LLM、不使用嵌入),對照公開的 [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) 基準測試(500 題,MIT 授權)量測:
32
+
33
+ | 系統 | R@5 | 來源 |
34
+ |---|---|---|
35
+ | **MeMesh(Mode A,FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
36
+ | MemPalace | 96.6% | 廠商自行回報 |
37
+ | Supermemory | ~82% | 廠商估計值 |
38
+ | Zep | 63.8% | LongMemEval 論文 |
39
+ | Mem0 | 49.0% | LongMemEval 論文 |
40
+
41
+ 重現指令、資料集 SHA256、原始逐題結果與已知失敗分析全部都在 [`benchmarks/longmemeval/`](benchmarks/longmemeval/)。約 10 秒可重跑一次。
42
+
43
+ ---
44
+
32
45
  ## 60 秒快速開始
33
46
 
34
- ### 第一步:安裝
47
+ ### 選項 A — Claude Code 外掛(一行安裝)
48
+
49
+ 如果你使用 Claude Code,從 CLI 內把 MeMesh 當外掛安裝:
50
+
51
+ ```
52
+ /plugin marketplace add PCIRCLE-AI/memesh-llm-memory
53
+ /plugin install memesh@pcircle-memesh
54
+ ```
55
+
56
+ Claude Code 會自動接好 hooks、skills 和 MCP server。你會獲得對話內自動擷取、主動回憶、可在 Claude Code 對話中使用的 `/memesh` skill(remember / recall / learn / forget),以及代理可呼叫的 `remember` / `recall` / `forget` / `learn` MCP 工具。CLI 與本地儀表板無需任何額外的全域安裝就能完整使用 — `npx @pcircle/memesh <command>` 可執行所有 CLI 指令,`npx @pcircle/memesh` 可在 `localhost:3737` 啟動儀表板。MCP server 採用與 Anthropic 官方外掛(例如 `context7`)相同的 `npx` 啟動模式,因此任何功能都不需要 `npm install -g`。
57
+
58
+ ### 選項 B — npm 全域安裝(可選最佳化)
59
+
60
+ 如果你希望二進位執行檔直接放在 shell `PATH` 上(讓 `memesh`、`memesh-mcp` 等指令能在任何終端機直接執行,省去每次呼叫的 `npx` 查找),或想將 `memesh-mcp` 以固定路徑的 stdio 指令暴露給**非 Claude Code 的 MCP 用戶端**(Cursor、Cline、純終端機流程):
35
61
 
36
62
  ```bash
37
63
  npm install -g @pcircle/memesh
38
64
  ```
39
65
 
40
- ### 第一步半:把 MeMesh 接進 Claude Code(建議,一次性)
66
+ > **首次安裝注意事項(一次性):**
67
+ > - **原生模組** — `better-sqlite3` 與 `sqlite-vec` 在 macOS(arm64/x64)、Linux(x64/arm64)和 Windows x64 上會以預先編譯的二進位安裝。在較少見的平台或預編譯失敗時,你需要可運作的 C/C++ 工具鏈。
68
+ > - **嵌入模型** — 第一次觸發本地嵌入的呼叫(例如 semantic 模式的 `recall`)會把 `Xenova/all-MiniLM-L6-v2`(約 80 MB)下載到 `~/.memesh/models/`。後續呼叫即時生效。預設的檢索路徑(FTS5)不需要這個下載。
69
+
70
+ ### 第一步半:把 MeMesh 接進 Claude Code(僅 npm 路徑需要)
41
71
 
42
- `npm install -g` CLI 放上 PATH 並註冊 MCP server,但**不會**自動接上 MeMesh 的 Claude Code session hooks。沒有這些 hooks,你還是可以手動用 `memesh remember` / `recall`,但**自動捕捉迴路**(session → 教訓 → 下次 session 主動回憶)就會靜默不動。
72
+ 如果你透過**選項 A**(`/plugin install memesh@pcircle-memesh`)安裝,請略過此步驟 Claude Code 會自動接好外掛 hooks
73
+
74
+ 如果你透過**選項 B**(`npm install -g`)安裝,CLI 已在 PATH 上、MCP server 也已註冊,但 Claude Code session hooks 並未自動接上。沒有這些 hooks 還是可以手動使用 `memesh remember` / `recall`,但**自動擷取迴路**(session → 教訓 → 下次 session 主動回憶)就會靜默不動。
43
75
 
44
76
  ```bash
45
77
  memesh install-hooks # 把 memesh hooks 加進 ~/.claude/settings.json
46
78
  memesh doctor # 確認「Hooks wired into Claude Code」過了
47
79
  ```
48
80
 
49
- 這些 hooks 會跟你既有的 `~/.claude/hooks/` 自訂 hooks 共存 — `install-hooks` 用追加方式寫,從不覆寫你的東西。要移除:`memesh uninstall-hooks`。
81
+ 這些 hooks 會跟你既有的 `~/.claude/hooks/` 自訂 hooks 共存 — `install-hooks` 用追加方式寫入,從不覆寫你的東西。要移除:`memesh uninstall-hooks`。
50
82
 
51
83
  ### 第二步:保存一個決策
52
84
 
85
+ > 下方的 bash 範例假設 `memesh` 已在 `PATH` 上(選項 B)。選項 A(純外掛)使用者有兩條等價路徑:在 Claude Code 對話中發問(`/memesh` skill 與 MCP 工具涵蓋同樣的流程),或將任何 shell 中的 `memesh` 替換為 `npx @pcircle/memesh` — 旗標相同,不需要全域安裝。
86
+
87
+ ```bash
88
+ memesh remember "Use OAuth 2.0 with PKCE for the new auth"
89
+ ```
90
+
91
+ 或使用顯式形式,當你想要穩定的名稱與類型以便日後篩選:
92
+
53
93
  ```bash
54
94
  memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
55
95
  ```
@@ -95,7 +135,7 @@ memesh
95
135
  |---------------|---------------------|
96
136
  | **使用 Claude Code 的開發者** | 在工作時自動回憶專案決策、檔案特定的經驗教訓和過去的失敗 |
97
137
  | **程式開發代理進階使用者** | 在多個 MCP 相容工具間共享一層在地記憶 |
98
- | **嘗試 AI 程式開發工作流的團隊** | 導出/導入專案知識,無需引入託管基礎設施 |
138
+ | **嘗試 AI 程式開發工作流的團隊** | 匯出/匯入專案知識,無需引入託管基礎設施 |
99
139
  | **代理開發者** | 透過 MCP、HTTP、CLI 或 Python SDK 添加在地記憶 |
100
140
 
101
141
  ---
@@ -110,7 +150,7 @@ memesh
110
150
  ```bash
111
151
  memesh-mcp
112
152
  ```
113
- MCP 工具 + Claude Code 鉤子
153
+ MCP 工具 + Claude Code hooks
114
154
 
115
155
  </td>
116
156
  <td width="33%" align="center">
@@ -145,52 +185,74 @@ memesh export-schema \
145
185
  |---|---|---|---|---|---|
146
186
  | **最佳用途** | 程式開發代理的在地記憶 | 本地/跨用戶端 MCP 記憶 | Cursor 原生專案記憶 | 受管應用/代理記憶 | 時間性知識圖 |
147
187
  | **安裝方式** | `npm install -g @pcircle/memesh` | 本地應用/伺服器流程 | 內建於 Cursor | 雲端 API / SDK / MCP | 服務/框架設定 |
148
- | **儲存位置** | 單個本地 SQLite 檔案 | 本地記憶堆疊 | Cursor 管理的規則/記憶 | 託管或自管堆疊 | 圖形資料庫 |
188
+ | **儲存位置** | 單一本地 SQLite 檔案 | 本地記憶堆疊 | Cursor 管理的規則/記憶 | 託管或自管堆疊 | 圖形資料庫 |
149
189
  | **需要雲端** | 否 | 否(本地模式) | 取決於 Cursor 帳戶/設定 | 是(平台) | 通常是/自管 |
150
- | **Claude Code 鉤子** | 一級支援 | MCP 工具 | 否 | MCP 工具 | 不特別針對 Claude Code |
190
+ | **Claude Code hooks** | 一級支援 | MCP 工具 | 否 | MCP 工具 | 不特別針對 Claude Code |
151
191
  | **儀表板** | 內建 | 內建 | Cursor 設定 | 平台儀表板 | 平台/圖表工具 |
152
192
  | **取捨** | 簡潔的本地方案,不適合企業規模 | 更寬泛的本地應用足跡 | 綁定到 Cursor | 強大的受管平台,較少本地優先 | 強大的圖形模型,設定更複雜 |
153
193
 
154
- **MeMesh 用立即可用的本地設定、可檢查的儲存和程式開發代理工作流鉤子來交換企業級受管基礎設施。**
194
+ **MeMesh 用立即可用的本地設定、可檢查的儲存和程式開發代理工作流 hooks 來交換企業級受管基礎設施。**
155
195
 
156
196
  ---
157
197
 
158
198
  ## Claude Code 自動進行的事情
159
199
 
160
- 你不需要手動記住所有事情。MeMesh 有 **6 個鉤子**在你工作時自動擷取和注入知識:
200
+ 你不需要手動記住所有事情。MeMesh 有 **7 個 hooks**,會在你工作時自動擷取與注入知識:
161
201
 
162
202
  | 何時 | MeMesh 做什麼 |
163
203
  |------|------------------|
164
- | **每個對話開始時** | 載入最相關的記憶 + 來自過去教訓的主動警告 + 代理協調橫幅 |
204
+ | **每次 session 開始時** | 載入最相關的記憶 + 來自過去教訓的主動警告 |
165
205
  | **編輯檔案前** | 回憶與檔案或專案相關的記憶,再讓 Claude 寫程式碼 |
166
- | **執行 bash 命令前** | 促使 Claude 派遣高可驗證性命令(測試、構建、檢查、遷移、部署、基準測試)作為背景代理 |
167
- | **每次 `git commit` 後** | 記錄你的變更,包括差異統計 |
168
- | **Claude 停止時** | 擷取已編輯的檔案、已修復的錯誤,並從失敗自動生成結構化經驗教訓 |
169
- | **上下文壓縮前** | 在知識被上下文限制失去前保存 |
206
+ | **執行 bash 指令前** | (可選加入)促使 Claude 將高可驗證性指令(測試、建置、檢查、遷移、部署、基準測試)派遣為背景代理 |
207
+ | **當你要求記住** | 偵測「remember this」/「guardar en memesh」/「sauvegarder dans memesh」/「記下來」意圖(5 種語言)並提醒 Claude 使用 memesh |
208
+ | **每次 `git commit` 之後** | 記錄你的變更,包含 diff 統計 |
209
+ | **Claude 停止時** | 擷取已編輯的檔案、已修復的錯誤,並從失敗自動產生結構化教訓 |
210
+ | **上下文壓縮前** | 在知識被上下文限制丟掉之前先保存 |
170
211
 
171
212
  > **隨時退出:** `export MEMESH_AUTO_CAPTURE=false`
172
213
 
173
214
  ---
174
215
 
216
+ ## 設定
217
+
218
+ 所有設定都透過環境變數。預設是純本地、零網路 — 你不需要設定任何東西就能取得可運作的系統。
219
+
220
+ | 變數 | 預設值 | 用途 |
221
+ |---|---|---|
222
+ | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | 覆寫 SQLite 資料庫位置。 |
223
+ | `MEMESH_AUTO_CAPTURE` | `true` | 完全停用自動擷取 hooks(`Stop`、`PreCompact`)。 |
224
+ | `MEMESH_AUTO_DETECT_LLM` | 未設定 | 設為 `1` 讓 memesh 從你的 shell 環境(`OPENAI_API_KEY` 等)自動偵測供應商,並切換到 BYOK 嵌入。**全新安裝的預設僅使用本地 ONNX(384-dim)** — 想要雲端嵌入時才加入。沒設定這個旗標時,shell 中閒置的 `OPENAI_API_KEY` 會被忽略。 |
225
+ | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | 未設定 | 設為 `1` 啟用實驗性的工作模型協定(CTO/Orchestrator/Agents 框架)。會加上 session-start 橫幅、Bash 指令提示,以及 `verify_agent_work` 遙測。協定的有效性正在量測中、尚未獲得驗證 — 想參與時才加入。**預設關閉**:核心記憶功能不需要這個旗標就能運作。 |
226
+ | `MEMESH_AUTO_UPDATE` | `off` | 自動更新策略。`off`(預設)永不自動更新;`patch` 允許 `X.Y.Z → X.Y.Z+N`;`minor` 加上 `X.Y.Z → X.Y+1.0`;`major` 允許任何升級。允許時,分離的 `npm install -g` 會在 session 結束時(Stop hook)執行,避免阻塞你的工作 — 結果寫入 `~/.memesh/auto-update.log`。也可在 `~/.memesh/config.json` 中以 `autoUpdate` 設定(環境變數優先)。當已安裝版本被維護者標為 deprecated(安全公告)時,即使是 `off` 也會強制允許 `patch` — 仍維持 minor/major 升級的手動門檻,避免靜默行為偏移。 |
227
+ | `OPENAI_API_KEY` | 未設定 | 你的 OpenAI 金鑰。僅在 `MEMESH_AUTO_DETECT_LLM=1` 或你明確設定供應商時才使用。 |
228
+ | `OLLAMA_HOST` | `http://localhost:11434` | 使用本地 Ollama 供應商時覆寫 Ollama 的端點。 |
229
+
230
+ `memesh doctor` 會印出已解析的設定,讓你看到目前實際生效的內容。
231
+
232
+ 當 npm 將已安裝版本標為 deprecated(通常是安全公告),下次 session-start 會在前面附上強警示橫幅 `⚠️ MeMesh <ver> is DEPRECATED`,`memesh update-status` 也會持續顯示同一行直到你升級為止。檢查結果會被快取於 `~/.memesh/update-check.<version>.json`,以避免短暫網路失敗讓警示變淡。
233
+
234
+ ---
235
+
175
236
  ## 儀表板
176
237
 
177
- 7 個標籤、11 種語言、零外部相依性。伺服器執行時可在 `http://localhost:3737/dashboard` 存取。
238
+ 8 個分頁、11 種語言、零外部相依性。伺服器執行時可在 `http://localhost:3737/dashboard` 存取。
178
239
 
179
- | 標籤 | 你會看到 |
240
+ | 分頁 | 你會看到 |
180
241
  |-----|-------------|
181
- | **搜尋** | 全文 + 向量相似度搜尋所有記憶 |
182
- | **瀏覽** | 所有實體的分頁列表,可以歸檔/復原 |
183
- | **分析** | 記憶健康分數(0-100)、30 天時間線、價值指標、知識涵蓋範圍、清理建議、你的工作模式 |
184
- | **圖表** | 互動式力導向知識圖,具有類型篩選、搜尋、自我中心模式、近期熱力圖 |
185
- | **經驗教訓** | 來自過去失敗的結構化經驗教訓(錯誤、根本原因、修復、預防) |
186
- | **管理** | 歸檔和復原實體 |
187
- | **設定** | LLM 供應商設定、即時語言選擇器 |
242
+ | **Insights** | 記憶洞察 來自 dreamer 引擎的每週摘要和模式提案;一鍵接受/拒絕 |
243
+ | **Search** | 全文 + 向量相似度搜尋所有記憶 |
244
+ | **Browse** | 所有實體的分頁列表,可以歸檔/復原 |
245
+ | **Analytics** | 記憶健康分數、30 天時間線、PM 速度 + KG 連通性指標、工作模式、清理建議 |
246
+ | **Graph** | 互動式力導向知識圖,具有類型篩選、搜尋、自我中心模式、近期熱力圖 |
247
+ | **Lessons** | 來自過去失敗的結構化教訓(錯誤、根本原因、修復、預防) |
248
+ | **Manage** | 歸檔和復原實體 |
249
+ | **Settings** | LLM 供應商設定、即時語言選擇器 |
188
250
 
189
251
  ---
190
252
 
191
253
  ## 智慧功能
192
254
 
193
- **🧠 智慧搜尋** — 搜尋「登入安全」並找到關於「OAuth PKCE」的記憶。MeMesh 使用你設定的 LLM 用相關詞彙擴展查詢。
255
+ **🧠 智慧搜尋** — 搜尋「登入安全」並找到關於「OAuth PKCE」的記憶。MeMesh FTS5 + sqlite-vec 在熱路徑上保持 LLM-free,仍能跨同義詞匹配。
194
256
 
195
257
  **📊 評分排名** — 結果按相關性(30%)+ 近期性(25%)+ 頻率(15%)+ 信心(15%)+ 回憶影響(10%)+ 時間有效性(5%)排名。
196
258
 
@@ -198,45 +260,49 @@ memesh export-schema \
198
260
 
199
261
  **⚠️ 衝突偵測** — 如果你有兩個互相矛盾的記憶,MeMesh 會警告你。
200
262
 
263
+ **🕸️ 知識圖連通性** — `memesh kg backfill-relations --all-rules` 使用標籤共現、專案叢集、會話上下文和名稱相似度連結孤立實體 — 無需 LLM。在代表性知識庫上將孤立率從 89% 降至 12% 以下。
264
+
201
265
  **📦 團隊共享** — `memesh export > team-knowledge.json` → 與團隊共享 → `memesh import team-knowledge.json`
202
- 匯入的組合保持可搜尋,但 MeMesh 不會自動將匯入的記憶注入 Claude 鉤子,直到你檢查或在本地重新儲存。
266
+ 匯入的組合保持可搜尋,但 MeMesh 不會自動將匯入的記憶注入 Claude hooks,直到你檢查或在本地重新儲存。
203
267
 
204
268
  ---
205
269
 
206
270
  ## 使用範例
207
271
 
208
272
  > 「MeMesh 記得我們三週前選擇了 PKCE 而不是隱式流程。當我再次問 Claude 關於身份驗證的問題時,它已經知道了——不需要重新解釋。」
209
- > — **獨立開發者,正在構建 SaaS**
273
+ > — **獨立開發者,正在打造 SaaS**
210
274
 
211
- > 「我們每個星期五導出團隊的記憶,星期一導入。每個人的 Claude 在新一周開始時都知道團隊上週學到的東西。」
275
+ > 「我們每個星期五匯出團隊的記憶,星期一匯入。每個人的 Claude 在新一週開始時都知道團隊上週學到的東西。」
212
276
  > — **3 人新創公司,共享知識庫**
213
277
 
214
278
  > 「儀表板顯示我 90% 的記憶是自動生成的對話日誌。我開始有意使用 `remember` 來記錄架構決策。改變了遊戲規則。」
215
- > — **發現分析標籤的開發者**
279
+ > — **發現分析分頁的開發者**
216
280
 
217
281
  ---
218
282
 
219
283
  ## 解鎖智慧模式(可選)
220
284
 
221
- MeMesh 預設離線工作。只有在想要查詢擴展、更聰明的擷取和壓縮時才添加 LLM API 金鑰:
285
+ MeMesh 預設離線運作 — 回憶嚴格保持 LLM-free(開箱即用就有 LongMemEval-S 上 95.40% R@5)。只有當你想要在上層加入 LLM 增強的分析流程時,才需要加入 LLM API 金鑰:更聰明的 session 擷取、新記憶的自動標籤、從失敗產生教訓,以及 `consolidate` / `dream` 壓縮:
222
286
 
223
287
  ```bash
224
288
  memesh config set llm.provider anthropic
225
289
  memesh config set llm.api-key sk-ant-...
226
290
  ```
227
291
 
228
- 或使用儀表板設定標籤(視覺化設定):
292
+ 或使用儀表板 Settings 分頁(視覺化設定):
229
293
 
230
294
  ```bash
231
- memesh # 開啟儀表板 → 設定標籤
295
+ memesh # 開啟儀表板 → Settings 分頁
232
296
  ```
233
297
 
234
298
  | | 等級 0(預設) | 等級 1(智慧模式) |
235
299
  |---|---|---|
236
- | **搜尋** | FTS5 關鍵字匹配 | + LLM 查詢擴展(~97% 召回率) |
237
- | **自動擷取** | 基於規則的模式 | + LLM 擷取決策和經驗教訓 |
238
- | **壓縮** | 不可用 | `consolidate` 壓縮冗長的記憶 |
239
- | **成本** | 免費,無 API 金鑰 | $0.0001 / 搜尋(Haiku) |
300
+ | **搜尋** | FTS5 + sqlite-vec,95.40% R@5(約 18ms/查詢) | 不變 回憶在每個等級都保持 LLM-free |
301
+ | **自動擷取** | 基於規則的模式 | + LLM 擷取決策與教訓 |
302
+ | **自動標籤** | 僅手動標籤 | + LLM 為新記憶產生標籤 |
303
+ | **失敗分析** | 不可用 | + LLM session 錯誤轉為結構化教訓 |
304
+ | **壓縮** | 不可用 | `consolidate` + `dream` 壓縮冗長記憶 |
305
+ | **成本** | 免費,無需 API 金鑰 | 約 $0.0001 / 次分析呼叫(Haiku) |
240
306
 
241
307
  ---
242
308
 
@@ -245,14 +311,14 @@ memesh # 開啟儀表板 → 設定標籤
245
311
  | 工具 | 做什麼 |
246
312
  |------|--------|
247
313
  | `remember` | 用觀察、關係和標籤儲存知識 |
248
- | `recall` | 智慧搜尋,包含多因素評分和 LLM 查詢擴展 |
249
- | `forget` | 軟體歸檔(永不刪除)或移除特定觀察 |
314
+ | `recall` | FTS5 + sqlite-vec 搜尋,包含多因素評分(相關性、近期性、頻率、信心、時間有效性)— 熱路徑上不使用 LLM |
315
+ | `forget` | 軟歸檔(永不刪除)或移除特定觀察 |
250
316
  | `consolidate` | LLM 驅動的冗長記憶壓縮 |
251
317
  | `export` | 在專案或團隊成員之間以 JSON 共享記憶 |
252
- | `import` | 匯入記憶,包含合併策略(跳過 / 覆蓋 / 追加) |
253
- | `learn` | 記錄來自錯誤的結構化經驗教訓(錯誤、根本原因、修復、預防) |
318
+ | `import` | 匯入記憶,包含合併策略(跳過 / 覆寫 / 追加) |
319
+ | `learn` | 記錄來自錯誤的結構化教訓(錯誤、根本原因、修復、預防) |
254
320
  | `user_patterns` | 分析你的工作模式——時間表、工具、優勢、學習領域 |
255
- | `verify_agent_work` | 保留背景代理工作的驗證報告;根據 `git diff` 進行現實檢查聲稱的檔案變更 |
321
+ | `verify_agent_work` | 保留背景代理工作的驗證報告;以 `git diff` 對所聲稱的檔案變更做現實檢查 |
256
322
 
257
323
  ---
258
324