@pcircle/memesh 4.2.9 → 4.2.11

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 (112) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.de.md +11 -10
  4. package/README.es.md +11 -10
  5. package/README.fr.md +11 -10
  6. package/README.ja.md +11 -10
  7. package/README.ko.md +11 -10
  8. package/README.md +12 -11
  9. package/README.pt.md +11 -10
  10. package/README.th.md +12 -11
  11. package/README.vi.md +11 -10
  12. package/README.zh-CN.md +10 -9
  13. package/README.zh-TW.md +10 -9
  14. package/dashboard/dist/index.html +8 -8
  15. package/dist/core/auto-tagger.d.ts.map +1 -1
  16. package/dist/core/auto-tagger.js +4 -3
  17. package/dist/core/auto-tagger.js.map +1 -1
  18. package/dist/core/config.d.ts +14 -0
  19. package/dist/core/config.d.ts.map +1 -1
  20. package/dist/core/config.js +25 -5
  21. package/dist/core/config.js.map +1 -1
  22. package/dist/core/digest-validator.d.ts.map +1 -1
  23. package/dist/core/digest-validator.js +4 -3
  24. package/dist/core/digest-validator.js.map +1 -1
  25. package/dist/core/doctor.d.ts +3 -0
  26. package/dist/core/doctor.d.ts.map +1 -1
  27. package/dist/core/doctor.js +78 -5
  28. package/dist/core/doctor.js.map +1 -1
  29. package/dist/core/dreamer.d.ts.map +1 -1
  30. package/dist/core/dreamer.js +33 -21
  31. package/dist/core/dreamer.js.map +1 -1
  32. package/dist/core/embedder.d.ts +6 -1
  33. package/dist/core/embedder.d.ts.map +1 -1
  34. package/dist/core/embedder.js +33 -9
  35. package/dist/core/embedder.js.map +1 -1
  36. package/dist/core/graph.d.ts.map +1 -1
  37. package/dist/core/graph.js +4 -4
  38. package/dist/core/graph.js.map +1 -1
  39. package/dist/core/json-utils.d.ts +2 -0
  40. package/dist/core/json-utils.d.ts.map +1 -0
  41. package/dist/core/json-utils.js +37 -0
  42. package/dist/core/json-utils.js.map +1 -0
  43. package/dist/core/memory-tool.d.ts +37 -0
  44. package/dist/core/memory-tool.d.ts.map +1 -0
  45. package/dist/core/memory-tool.js +371 -0
  46. package/dist/core/memory-tool.js.map +1 -0
  47. package/dist/core/operations.d.ts +15 -5
  48. package/dist/core/operations.d.ts.map +1 -1
  49. package/dist/core/operations.js +97 -34
  50. package/dist/core/operations.js.map +1 -1
  51. package/dist/core/prompt-safety.d.ts.map +1 -1
  52. package/dist/core/prompt-safety.js.map +1 -1
  53. package/dist/core/schema-export.d.ts.map +1 -1
  54. package/dist/core/schema-export.js +19 -34
  55. package/dist/core/schema-export.js.map +1 -1
  56. package/dist/core/types.d.ts +5 -12
  57. package/dist/core/types.d.ts.map +1 -1
  58. package/dist/core/types.js +4 -1
  59. package/dist/core/types.js.map +1 -1
  60. package/dist/core/verifier.d.ts +3 -0
  61. package/dist/core/verifier.d.ts.map +1 -1
  62. package/dist/core/verifier.js +27 -11
  63. package/dist/core/verifier.js.map +1 -1
  64. package/dist/db.d.ts +11 -0
  65. package/dist/db.d.ts.map +1 -1
  66. package/dist/db.js +174 -35
  67. package/dist/db.js.map +1 -1
  68. package/dist/index.d.ts +2 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +1 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/knowledge-graph.d.ts +2 -2
  73. package/dist/knowledge-graph.d.ts.map +1 -1
  74. package/dist/knowledge-graph.js +111 -55
  75. package/dist/knowledge-graph.js.map +1 -1
  76. package/dist/skills-manifest.json +24 -15
  77. package/dist/storage/conflicts.d.ts +1 -4
  78. package/dist/storage/conflicts.d.ts.map +1 -1
  79. package/dist/storage/conflicts.js +2 -5
  80. package/dist/storage/conflicts.js.map +1 -1
  81. package/dist/storage/fts-index.d.ts +11 -0
  82. package/dist/storage/fts-index.d.ts.map +1 -1
  83. package/dist/storage/fts-index.js +58 -2
  84. package/dist/storage/fts-index.js.map +1 -1
  85. package/dist/transports/cli/cli.d.ts +4 -1
  86. package/dist/transports/cli/cli.d.ts.map +1 -1
  87. package/dist/transports/cli/cli.js +132 -61
  88. package/dist/transports/cli/cli.js.map +1 -1
  89. package/dist/transports/http/server.d.ts.map +1 -1
  90. package/dist/transports/http/server.js +25 -69
  91. package/dist/transports/http/server.js.map +1 -1
  92. package/dist/transports/mcp/handlers.d.ts +4 -25
  93. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  94. package/dist/transports/mcp/handlers.js +10 -36
  95. package/dist/transports/mcp/handlers.js.map +1 -1
  96. package/dist/transports/schemas.d.ts +0 -5
  97. package/dist/transports/schemas.d.ts.map +1 -1
  98. package/dist/transports/schemas.js +0 -5
  99. package/dist/transports/schemas.js.map +1 -1
  100. package/package.json +32 -6
  101. package/scripts/hooks/_generated/core-paths.js +77 -0
  102. package/scripts/hooks/_generated/fts-index.js +81 -0
  103. package/scripts/hooks/_shared.js +269 -157
  104. package/scripts/hooks/pre-compact.js +14 -3
  105. package/scripts/hooks/pre-edit-recall.js +76 -9
  106. package/scripts/hooks/session-summary.js +27 -2
  107. package/skills/memesh/SKILL.md +11 -4
  108. package/skills/memesh-review/SKILL.md +6 -4
  109. package/dist/core/consolidator.d.ts +0 -3
  110. package/dist/core/consolidator.d.ts.map +0 -1
  111. package/dist/core/consolidator.js +0 -107
  112. package/dist/core/consolidator.js.map +0 -1
package/README.th.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
11
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%3D20-22c55e?style=flat-square" alt="Node" /></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
13
  <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
14
14
  </p>
15
15
  </p>
@@ -29,13 +29,13 @@
29
29
 
30
30
  ---
31
31
 
32
- ## หลักฐาน — 95.40% R@5 บน LongMemEval-S
32
+ ## หลักฐาน — 95.60% R@5 บน LongMemEval-S
33
33
 
34
34
  เครื่องมือเรียกคืนของ MeMesh ใช้ **FTS5 เพียงอย่างเดียว** (ไม่มี LLM ไม่มี embedding บนเส้นทางหลัก) วัดผลด้วยเบนช์มาร์กสาธารณะ [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 คำถาม สัญญาอนุญาต MIT):
35
35
 
36
36
  | ระบบ | R@5 | ที่มา |
37
37
  |---|---|---|
38
- | **MeMesh (Mode A, FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
38
+ | **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
39
39
  | MemPalace | 96.6% | รายงานของผู้พัฒนาเอง |
40
40
  | Supermemory | ~82% | ประมาณการของผู้พัฒนา |
41
41
  | Zep | 63.8% | เปเปอร์ LongMemEval |
@@ -273,7 +273,7 @@ memesh export-schema \
273
273
  |---|---|---|
274
274
  | `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | เปลี่ยนตำแหน่งฐานข้อมูล SQLite |
275
275
  | `MEMESH_AUTO_CAPTURE` | `true` | ปิดการใช้ hook จับข้อมูลอัตโนมัติทั้งหมด (`Stop`, `PreCompact`) |
276
- | `MEMESH_AUTO_DETECT_LLM` | ไม่ได้ตั้งค่า (ตรวจจับอัตโนมัติ **เปิด**) | ตั้งเป็น `0` เพื่อไม่ให้ memesh ใช้คีย์ API ที่พบในสภาพแวดล้อมของเชลล์ โดยค่าเริ่มต้น หากตั้ง `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` ไว้ และคุณยังไม่ได้กำหนดผู้ให้บริการใน `~/.memesh/config.json` memesh จะใช้คีย์นั้นสำหรับฟีเจอร์ LLM ฝั่งเขียน (consolidation, การสกัดบทเรียน, auto-tagging, dream) ส่วน embeddings ไม่ได้รับผลกระทบ — ยังคงเป็น ONNX ในเครื่อง (384 มิติ) เว้นแต่คุณจะตั้ง `embedder.provider` อย่างชัดเจน |
276
+ | `MEMESH_AUTO_DETECT_LLM` | ไม่ได้ตั้งค่า (ตรวจจับอัตโนมัติ **เปิด**) | ตั้งเป็น `0` เพื่อไม่ให้ memesh ใช้คีย์ API ที่พบในสภาพแวดล้อมของเชลล์ โดยค่าเริ่มต้น หากตั้ง `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `OLLAMA_HOST` ไว้ และคุณยังไม่ได้กำหนดผู้ให้บริการใน `~/.memesh/config.json` memesh จะใช้คีย์นั้นสำหรับฟีเจอร์ LLM ฝั่งเขียน (การสกัดบทเรียน, auto-tagging, dream) ส่วน embeddings ไม่ได้รับผลกระทบ — ยังคงเป็น ONNX ในเครื่อง (384 มิติ) เว้นแต่คุณจะตั้ง `embedder.provider` อย่างชัดเจน |
277
277
  | `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | ไม่ตั้ง | ตั้งเป็น `1` เพื่อเปิดใช้โปรโตคอล working-model เชิงทดลอง (กรอบ CTO / Orchestrator / Agents) เพิ่มแบนเนอร์ตอนเริ่มเซสชัน การเตือนคำสั่ง Bash และเทเลเมตรี `verify_agent_work` ประสิทธิผลของโปรโตคอลกำลังถูกเก็บข้อมูล ยังไม่ได้พิสูจน์ — opt-in ถ้าต้องการเข้าร่วม **ค่าเริ่มต้นปิด**: ฟีเจอร์หน่วยความจำหลักทำงานได้โดยไม่ต้องเปิดธงนี้ |
278
278
  | `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` แบบ detached จะทำงานเมื่อจบเซสชัน (Stop hook) เพื่อไม่บล็อกงานของคุณ — ผลลัพธ์ลงใน `~/.memesh/auto-update.log` ตั้งใน `~/.memesh/config.json` ผ่านคีย์ `autoUpdate` ก็ได้ (env ชนะ) เมื่อเวอร์ชันที่ติดตั้งถูก deprecate (security advisory) `patch` จะถูกบังคับเปิดแม้ตั้งเป็น `off` — minor / major ยังต้องทำมือเพื่อหลีกเลี่ยงการเปลี่ยนพฤติกรรมเงียบ ๆ |
279
279
  | `OPENAI_API_KEY` | ไม่ได้ตั้งค่า | คีย์ OpenAI ของคุณ ใช้โดยอัตโนมัติสำหรับฟีเจอร์ LLM เว้นแต่คุณจะตั้ง `MEMESH_AUTO_DETECT_LLM=0` หรือกำหนดผู้ให้บริการอย่างชัดเจน |
@@ -304,9 +304,11 @@ memesh export-schema \
304
304
 
305
305
  ## คุณสมบัติอัจฉริยะ
306
306
 
307
- **🧠 ค้นหาอัจฉริยะ** — ค้นหา "login security" และค้นหาหน่วยความจำเกี่ยวกับ "OAuth PKCE" MeMesh ขยายการค้นหาด้วยคำที่เกี่ยวข้องโดยใช้ LLM ที่ตั้งค่าไว้
307
+ **🧠 ค้นหาอัจฉริยะ** — ค้นหา "login security" และค้นหาหน่วยความจำเกี่ยวกับ "OAuth PKCE" MeMesh ใช้ FTS5 + sqlite-vec บนเส้นทางหลัก โดยไม่ใช้ LLM ส่วนเสริมเวกเตอร์ยังเข้าถึงถ้อยคำที่เกี่ยวข้องได้
308
308
 
309
- **📊 การจัดอันดับแบบให้คะแนน**ผลลัพธ์อันดับตามความเกี่ยวข้อง (30%) + ความเพิ่งพ้อง (25%) + ความถี่ (15%) + ความมั่นใจ (15%) + ผลกระทบการเรียกคืน (10%) + ความถูกต้องชั่วคราว (5%)
309
+ **🌏 ค้นหาในภาษาที่ไม่เว้นวรรคระหว่างคำ**ภาษาจีน ญี่ปุ่น เกาหลี ไทย ลาว เขมร และคาตากานะครึ่งความกว้าง จะถูกทำดัชนีเป็นคู่อักขระที่ต่อเนื่องกัน ดังนั้นความทรงจำที่บันทึกว่า "สำรองข้อมูลก่อนย้ายฐานข้อมูล" จึงค้นเจอได้ด้วยคำว่า "สำรอง" ไม่ต้องพิมพ์ข้อความเต็มให้ตรงทุกตัวอักษร ข้อความจะถูกทำให้เป็นรูปแบบมาตรฐาน (NFC) ทั้งตอนบันทึกและตอนค้นหา ความทรงจำที่พิมพ์บน macOS หรือด้วย IME ภาษาเกาหลีหรือเวียดนามจึงค้นเจอได้ทั้งสองรูปแบบ
310
+
311
+ **📊 การจัดอันดับแบบให้คะแนน** — ผลลัพธ์อันดับตามความเกี่ยวข้อง (30%) + ความเพิ่งพ้อง (25%) + ความถี่ (18%) + ความมั่นใจ (17%) + ผลกระทบการเรียกคืน (10%)
310
312
 
311
313
  **🔄 วิวัฒนาการของความรู้** — การตัดสินใจเปลี่ยนแปลง `forget` เก็บหน่วยความจำเก่า (ไม่เคยลบ) `supersedes` ความสัมพันธ์เชื่อมโยงเก่า → ใหม่ AI เห็นรุ่นล่าสุดเสมอ
312
314
 
@@ -334,7 +336,7 @@ memesh export-schema \
334
336
 
335
337
  ## ปลดล็อค Smart Mode (ทางเลือก)
336
338
 
337
- MeMesh ทำงานแบบออฟไลน์โดยค่าเริ่มต้น เพิ่มคีย์ API LLM เฉพาะเมื่อต้องการการขยายการค้นหา การสกัดที่ชาญฉลาดกว่า และการบีบอัด:
339
+ MeMesh ทำงานแบบออฟไลน์โดยค่าเริ่มต้น — การเรียกคืนไม่ใช้ LLM เลย (95.60% R@5 บน LongMemEval-S ทันทีที่ติดตั้ง) เพิ่มคีย์ API LLM เฉพาะเมื่อต้องการโฟลว์วิเคราะห์ที่เสริมด้วย LLM เท่านั้น ได้แก่ การสกัดเซสชันที่ฉลาดขึ้น การติดแท็กหน่วยความจำใหม่อัตโนมัติ การสร้างบทเรียนจากความล้มเหลว และการบีบอัดด้วย `dream`:
338
340
 
339
341
  ```bash
340
342
  memesh config set llm.provider anthropic
@@ -360,11 +362,11 @@ embedder ถูกตั้งค่า**แยกจาก LLM แชท** —
360
362
 
361
363
  | | ระดับ 0 (ค่าเริ่มต้น) | ระดับ 1 (Smart Mode) |
362
364
  |---|---|---|
363
- | **Search** | FTS5 + sqlite-vec, 95.40% R@5 (~18ms ต่อ query) | คงเดิม — recall ไม่ใช้ LLM ในทุก level |
365
+ | **Search** | FTS5 + sqlite-vec, 95.60% R@5 (~4ms ต่อการ recall) | คงเดิม — recall ไม่ใช้ LLM ในทุก level |
364
366
  | **Auto-capture** | รูปแบบตามกฎ | + LLM สกัดการตัดสินใจ & บทเรียน |
365
367
  | **Auto-tagging** | แท็กด้วยตนเองเท่านั้น | + LLM สร้างแท็กให้ entity ใหม่ |
366
368
  | **วิเคราะห์ความล้มเหลว** | ไม่พร้อมใช้ | + LLM แปลง session errors เป็น structured lessons |
367
- | **Compression** | ไม่พร้อมใช้ | `consolidate` + `dream` บีบอัดหน่วยความจำ |
369
+ | **Compression** | ไม่พร้อมใช้ | `dream` บีบอัดหน่วยความจำ |
368
370
  | **Cost** | ฟรี ไม่ต้องคีย์ API | ~$0.0001 ต่อ analysis call (Haiku) |
369
371
 
370
372
  ---
@@ -374,9 +376,8 @@ embedder ถูกตั้งค่า**แยกจาก LLM แชท** —
374
376
  | เครื่องมือ | ทำอะไร |
375
377
  |---|---|
376
378
  | `remember` | เก็บความรู้พร้อมการสังเกต ความสัมพันธ์ และแท็ก |
377
- | `recall` | ค้นหาอัจฉริยะพร้อมการให้คะแนนหลายปัจจัยและการขยายการค้นหา LLM |
379
+ | `recall` | ค้นหา FTS5 + sqlite-vec พร้อมการให้คะแนนหลายปัจจัย (ความเกี่ยวข้อง, ความเพิ่งพ้อง, ความถี่, ความมั่นใจ, ผลกระทบการเรียกคืน) — ไม่ใช้ LLM ใน hot path |
378
380
  | `forget` | เก็บแบบนุ่ม (ไม่เคยลบ) หรือลบการสังเกตเฉพาะ |
379
- | `consolidate` | การบีบอัดหน่วยความจำที่ขับเคลื่อนโดย LLM |
380
381
  | `export` | แบ่งปันหน่วยความจำเป็น JSON ระหว่างโครงการหรือสมาชิกทีม |
381
382
  | `import` | นำเข้าหน่วยความจำพร้อมกลยุทธ์ผสาน (ข้าม / เขียนทับ / ผนวก) |
382
383
  | `learn` | บันทึกบทเรียนโครงสร้างจากข้อผิดพลาด (ข้อผิดพลาด สาเหตุ การแก้ไข การป้องกัน) |
package/README.vi.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
11
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%3D20-22c55e?style=flat-square" alt="Node" /></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
13
  <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
14
14
  </p>
15
15
  </p>
@@ -29,13 +29,13 @@ Package này là tầng bộ nhớ cục bộ của dòng sản phẩm MeMesh. N
29
29
 
30
30
  ---
31
31
 
32
- ## Proof — 95.40% R@5 trên LongMemEval-S
32
+ ## Proof — 95.60% R@5 trên LongMemEval-S
33
33
 
34
34
  Engine truy hồi của MeMesh là **chỉ FTS5** (không LLM, không embeddings trên hot path), được đo trên benchmark công khai [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 câu hỏi, giấy phép MIT):
35
35
 
36
36
  | Hệ thống | R@5 | Nguồn |
37
37
  |---|---|---|
38
- | **MeMesh (Mode A, FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
38
+ | **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
39
39
  | MemPalace | 96.6% | Vendor self-report |
40
40
  | Supermemory | ~82% | Vendor estimate |
41
41
  | Zep | 63.8% | LongMemEval paper |
@@ -289,9 +289,11 @@ Khi npm gắn cờ phiên bản đã cài là deprecated (thường là security
289
289
 
290
290
  ## Tính năng thông minh
291
291
 
292
- **🧠 Smart Search** — Tìm "login security" và tìm thấy memories về "OAuth PKCE". MeMesh mở rộng queries với các terms liên quan bằng LLM được cấu hình của bạn.
292
+ **🧠 Smart Search** — Tìm "login security" và tìm thấy memories về "OAuth PKCE". MeMesh dùng FTS5 + sqlite-vec trên hot path, không dùng LLM; phần bổ sung vector vẫn tiếp cận được các cách diễn đạt liên quan.
293
293
 
294
- **📊 Scored Ranking** — Kết quả được xếp hạng theo relevance (30%) + recency (25%) + frequency (15%) + confidence (15%) + recall impact (10%) + temporal validity (5%).
294
+ **🌏 Tìm kiếm trong các hệ chữ không dùng khoảng trắng** — Tiếng Trung, Nhật, Hàn, Thái, Lào, Khmer và katakana nửa chiều rộng được lập chỉ mục theo từng cặp tự liền nhau, nên một ghi nhớ viết 「資料庫遷移前一定要先備份」 sẽ tìm thấy bằng 「備份」 — không cần gõ lại đúng nguyên văn. Văn bản được chuẩn hóa (NFC) cả phía ghi lẫn phía truy vấn, nên ghi nhớ gõ trên macOS hoặc bằng IME tiếng Hàn, tiếng Việt đều tìm được ở cả hai cách viết.
295
+
296
+ **📊 Scored Ranking** — Kết quả được xếp hạng theo relevance (30%) + recency (25%) + frequency (18%) + confidence (17%) + recall impact (10%).
295
297
 
296
298
  **🔄 Knowledge Evolution** — Quyết định thay đổi. `forget` archives old memories (không bao giờ xóa). `supersedes` relations liên kết old → new. AI của bạn luôn thấy phiên bản mới nhất.
297
299
 
@@ -319,7 +321,7 @@ Các imported bundles vẫn có thể tìm kiếm được, nhưng MeMesh không
319
321
 
320
322
  ## Mở khóa Smart Mode (Tuỳ chọn)
321
323
 
322
- MeMesh hoạt động offline theo mặc định — recall luôn LLM-free (95.40% R@5 trên LongMemEval-S, không cần LLM). Thêm LLM API key chỉ nếu bạn muốn các luồng phân tích LLM-augmented bổ sung: trích xuất session thông minh hơn, auto-tagging cho memories mới, phân tích lỗi thành lessons có cấu trúc, và compression `consolidate` / `dream`:
324
+ MeMesh hoạt động offline theo mặc định — recall luôn LLM-free (95.60% R@5 trên LongMemEval-S, không cần LLM). Thêm LLM API key chỉ nếu bạn muốn các luồng phân tích LLM-augmented bổ sung: trích xuất session thông minh hơn, auto-tagging cho memories mới, phân tích lỗi thành lessons có cấu trúc, và compression `dream`:
323
325
 
324
326
  ```bash
325
327
  memesh config set llm.provider anthropic
@@ -345,11 +347,11 @@ Embedder được cấu hình **độc lập với LLM chat** — thay đổi `l
345
347
 
346
348
  | | Level 0 (default) | Level 1 (Smart Mode) |
347
349
  |---|---|---|
348
- | **Search** | FTS5 + sqlite-vec, 95.40% R@5 (~18ms/query) | giữ nguyên — recall luôn LLM-free ở mọi level |
350
+ | **Search** | FTS5 + sqlite-vec, 95.60% R@5 (~4ms mỗi recall) | giữ nguyên — recall luôn LLM-free ở mọi level |
349
351
  | **Auto-capture** | Rule-based patterns | + LLM extracts decisions & lessons |
350
352
  | **Auto-tagging** | Chỉ thẻ thủ công | + LLM tự động gắn nhãn entity mới |
351
353
  | **Phân tích lỗi** | Không có sẵn | + LLM chuyển session errors thành structured lessons |
352
- | **Compression** | Không có sẵn | `consolidate` + `dream` nén verbose memories |
354
+ | **Compression** | Không có sẵn | `dream` nén verbose memories |
353
355
  | **Chi phí** | Free, no API key | ~$0.0001 mỗi analysis call (Haiku) |
354
356
 
355
357
  ---
@@ -359,9 +361,8 @@ Embedder được cấu hình **độc lập với LLM chat** — thay đổi `l
359
361
  | Tool | Nó làm gì |
360
362
  |------|-------------|
361
363
  | `remember` | Lưu trữ kiến thức với observations, relations, và tags |
362
- | `recall` | Tìm kiếm FTS5 + sqlite-vec với multi-factor scoring (relevance, recency, frequency, confidence, temporal validity) — không có LLM trong hot path |
364
+ | `recall` | Tìm kiếm FTS5 + sqlite-vec với multi-factor scoring (relevance, recency, frequency, confidence, recall impact) — không có LLM trong hot path |
363
365
  | `forget` | Soft-archive (không bao giờ xóa) hoặc xóa observations cụ thể |
364
- | `consolidate` | LLM-powered compression của verbose memories |
365
366
  | `export` | Chia sẻ memories dưới dạng JSON giữa các dự án hoặc thành viên team |
366
367
  | `import` | Import memories với merge strategies (skip / overwrite / append) |
367
368
  | `learn` | Ghi lại structured lessons từ những sai lầm (error, root cause, fix, prevention) |
package/README.zh-CN.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
11
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%3D20-22c55e?style=flat-square" alt="Node" /></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
13
  <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
14
14
  </p>
15
15
  </p>
@@ -29,13 +29,13 @@
29
29
 
30
30
  ---
31
31
 
32
- ## 实测数据 — LongMemEval-S 上 R@5 达到 95.40%
32
+ ## 实测数据 — LongMemEval-S 上 R@5 达到 95.60%
33
33
 
34
34
  MeMesh 的检索引擎**只用 FTS5**(热路径上没有 LLM、也没有 embeddings),在公开的 [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) 基准(500 道题,MIT 许可)上的实测结果:
35
35
 
36
36
  | 系统 | R@5 | 来源 |
37
37
  |---|---|---|
38
- | **MeMesh (Mode A, FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
38
+ | **MeMesh (Mode A, via `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
39
39
  | MemPalace | 96.6% | 厂商自报 |
40
40
  | Supermemory | ~82% | 厂商估计 |
41
41
  | Zep | 63.8% | LongMemEval 论文 |
@@ -318,7 +318,9 @@ memesh export-schema \
318
318
 
319
319
  **🧠 智能搜索** — 搜索"登录安全"也能找到"OAuth PKCE"相关的记忆。MeMesh 在热路径上用 FTS5 + sqlite-vec,零 LLM。
320
320
 
321
- **📊 评分排序**结果按相关性(30%)+ 新近度(25%)+ 频率(15%)+ 置信度(15%)+ 回忆影响(10%)+ 时间有效性(5%)排序。
321
+ **🌏 支持不用空格分词的文字**中文、日文、韩文、泰文、老挝文、高棉文和半角片假名都会拆成相邻两字一组来建索引,所以写成「资料库迁移前一定要先备份」的记忆,搜索「备份」就找得到,不必打出一模一样的全文。写入和查询两边都会做 NFC 正规化,因此在 macOS 上或用韩文、越南文输入法打的记忆,两种写法都找得到。
322
+
323
+ **📊 评分排序** — 结果按相关性(30%)+ 新近度(25%)+ 频率(18%)+ 置信度(17%)+ 回忆影响(10%)排序。
322
324
 
323
325
  **🔄 知识演进** — 决策会变化。`forget` 归档旧记忆(永不删除)。`supersedes` 关系链接 旧 → 新。你的 AI 总是看到最新版本。
324
326
 
@@ -346,7 +348,7 @@ memesh export-schema \
346
348
 
347
349
  ## 解锁智能模式(可选)
348
350
 
349
- MeMesh 默认离线工作 — 回忆始终是严格无 LLM 的(开箱即用 LongMemEval-S R@5 95.40%)。仅当你想要在此之上叠加 LLM 增强分析流程时才添加 LLM API 密钥:更聪慧的会话提取、为新记忆自动打标签、从失败生成经验教训,以及 `consolidate` / `dream` 压缩:
351
+ MeMesh 默认离线工作 — 回忆始终是严格无 LLM 的(开箱即用 LongMemEval-S R@5 95.60%)。仅当你想要在此之上叠加 LLM 增强分析流程时才添加 LLM API 密钥:更聪慧的会话提取、为新记忆自动打标签、从失败生成经验教训,以及 `dream` 压缩:
350
352
 
351
353
  ```bash
352
354
  memesh config set llm.provider anthropic
@@ -372,11 +374,11 @@ memesh config set embedder.model text-embedding-3-small
372
374
 
373
375
  | | 级别 0(默认) | 级别 1(智能模式) |
374
376
  |---|---|---|
375
- | **搜索** | FTS5 + sqlite-vec,95.40% R@5(每次查询 ~18ms) | 不变 — 回忆在每个级别都是无 LLM 的 |
377
+ | **搜索** | FTS5 + sqlite-vec,95.60% R@5(每次回忆约 4ms) | 不变 — 回忆在每个级别都是无 LLM 的 |
376
378
  | **自动捕获** | 基于规则的模式 | + LLM 提取决策和经验教训 |
377
379
  | **自动打标签** | 仅手动标签 | + LLM 为新记忆生成标签 |
378
380
  | **失败分析** | 不可用 | + LLM 把会话错误转化为结构化经验教训 |
379
- | **压缩** | 不可用 | `consolidate` + `dream` 压缩冗长的记忆 |
381
+ | **压缩** | 不可用 | `dream` 压缩冗长的记忆 |
380
382
  | **成本** | 免费,无需 API 密钥 | ~$0.0001 每次分析调用(Haiku) |
381
383
 
382
384
  ---
@@ -386,9 +388,8 @@ memesh config set embedder.model text-embedding-3-small
386
388
  | 工具 | 它做什么 |
387
389
  |------|--------|
388
390
  | `remember` | 存储知识,附带观察、关系和标签 |
389
- | `recall` | FTS5 + sqlite-vec 搜索,附带多因素评分(相关性、新近度、频率、置信度、时间有效性)— 热路径上无 LLM |
391
+ | `recall` | FTS5 + sqlite-vec 搜索,附带多因素评分(相关性、新近度、频率、置信度、回忆影响)— 热路径上无 LLM |
390
392
  | `forget` | 软归档(永不删除)或移除特定观察 |
391
- | `consolidate` | LLM 驱动的冗长记忆压缩 |
392
393
  | `export` | 在项目或团队成员间共享内存,格式为 JSON |
393
394
  | `import` | 导入内存,支持合并策略(跳过 / 覆盖 / 追加) |
394
395
  | `learn` | 从错误中记录结构化经验教训(错误、根本原因、修复、预防) |
package/README.zh-TW.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
11
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%3D20-22c55e?style=flat-square" alt="Node" /></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
13
  <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
14
14
  </p>
15
15
  </p>
@@ -29,13 +29,13 @@
29
29
 
30
30
  ---
31
31
 
32
- ## 實證 — 在 LongMemEval-S 上 R@5 達 95.40%
32
+ ## 實證 — 在 LongMemEval-S 上 R@5 達 95.60%
33
33
 
34
34
  MeMesh 的檢索引擎**只用 FTS5**(熱路徑上不使用 LLM、不使用嵌入),對照公開的 [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) 基準測試(500 題,MIT 授權)量測:
35
35
 
36
36
  | 系統 | R@5 | 來源 |
37
37
  |---|---|---|
38
- | **MeMesh(Mode A,FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
38
+ | **MeMesh(Mode A,經由 `recallEnhanced()`)** | **95.60%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
39
39
  | MemPalace | 96.6% | 廠商自行回報 |
40
40
  | Supermemory | ~82% | 廠商估計值 |
41
41
  | Zep | 63.8% | LongMemEval 論文 |
@@ -318,7 +318,9 @@ memesh export-schema \
318
318
 
319
319
  **🧠 智慧搜尋** — 搜尋「登入安全」並找到關於「OAuth PKCE」的記憶。MeMesh 用 FTS5 + sqlite-vec 在熱路徑上保持 LLM-free,仍能跨同義詞匹配。
320
320
 
321
- **📊 評分排名**結果按相關性(30%)+ 近期性(25%)+ 頻率(15%)+ 信心(15%)+ 回憶影響(10%)+ 時間有效性(5%)排名。
321
+ **🌏 支援不用空格分詞的文字**中文、日文、韓文、泰文、寮文、高棉文和半形片假名都會拆成相鄰兩字一組來建索引,所以寫成「資料庫遷移前一定要先備份」的記憶,搜尋「備份」就找得到,不必打出一模一樣的全文。寫入和查詢兩邊都會做 NFC 正規化,因此在 macOS 上或用韓文、越南文輸入法打的記憶,兩種寫法都找得到。
322
+
323
+ **📊 評分排名** — 結果按相關性(30%)+ 近期性(25%)+ 頻率(18%)+ 信心(17%)+ 回憶影響(10%)排名。
322
324
 
323
325
  **🔄 知識演進** — 決策會改變。`forget` 歸檔舊記憶(永不刪除)。`supersedes` 關係連結舊 → 新。你的 AI 總是看到最新版本。
324
326
 
@@ -346,7 +348,7 @@ memesh export-schema \
346
348
 
347
349
  ## 解鎖智慧模式(可選)
348
350
 
349
- MeMesh 預設離線運作 — 回憶嚴格保持 LLM-free(開箱即用就有 LongMemEval-S 上 95.40% R@5)。只有當你想要在上層加入 LLM 增強的分析流程時,才需要加入 LLM API 金鑰:更聰明的 session 擷取、新記憶的自動標籤、從失敗產生教訓,以及 `consolidate` / `dream` 壓縮:
351
+ MeMesh 預設離線運作 — 回憶嚴格保持 LLM-free(開箱即用就有 LongMemEval-S 上 95.60% R@5)。只有當你想要在上層加入 LLM 增強的分析流程時,才需要加入 LLM API 金鑰:更聰明的 session 擷取、新記憶的自動標籤、從失敗產生教訓,以及 `dream` 壓縮:
350
352
 
351
353
  ```bash
352
354
  memesh config set llm.provider anthropic
@@ -372,11 +374,11 @@ memesh config set embedder.model text-embedding-3-small
372
374
 
373
375
  | | 等級 0(預設) | 等級 1(智慧模式) |
374
376
  |---|---|---|
375
- | **搜尋** | FTS5 + sqlite-vec,95.40% R@5(約 18ms/查詢) | 不變 — 回憶在每個等級都保持 LLM-free |
377
+ | **搜尋** | FTS5 + sqlite-vec,95.60% R@5(每次回憶約 4ms) | 不變 — 回憶在每個等級都保持 LLM-free |
376
378
  | **自動擷取** | 基於規則的模式 | + LLM 擷取決策與教訓 |
377
379
  | **自動標籤** | 僅手動標籤 | + LLM 為新記憶產生標籤 |
378
380
  | **失敗分析** | 不可用 | + LLM 將 session 錯誤轉為結構化教訓 |
379
- | **壓縮** | 不可用 | `consolidate` + `dream` 壓縮冗長記憶 |
381
+ | **壓縮** | 不可用 | `dream` 壓縮冗長記憶 |
380
382
  | **成本** | 免費,無需 API 金鑰 | 約 $0.0001 / 次分析呼叫(Haiku) |
381
383
 
382
384
  ---
@@ -386,9 +388,8 @@ memesh config set embedder.model text-embedding-3-small
386
388
  | 工具 | 做什麼 |
387
389
  |------|--------|
388
390
  | `remember` | 用觀察、關係和標籤儲存知識 |
389
- | `recall` | FTS5 + sqlite-vec 搜尋,包含多因素評分(相關性、近期性、頻率、信心、時間有效性)— 熱路徑上不使用 LLM |
391
+ | `recall` | FTS5 + sqlite-vec 搜尋,包含多因素評分(相關性、近期性、頻率、信心、回憶影響)— 熱路徑上不使用 LLM |
390
392
  | `forget` | 軟歸檔(永不刪除)或移除特定觀察 |
391
- | `consolidate` | LLM 驅動的冗長記憶壓縮 |
392
393
  | `export` | 在專案或團隊成員之間以 JSON 共享記憶 |
393
394
  | `import` | 匯入記憶,包含合併策略(跳過 / 覆寫 / 追加) |
394
395
  | `learn` | 記錄來自錯誤的結構化教訓(錯誤、根本原因、修復、預防) |