@memtensor/memos-local-openclaw-plugin 1.0.2-beta.5 → 1.0.2

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 (86) hide show
  1. package/dist/capture/index.js +52 -8
  2. package/dist/capture/index.js.map +1 -1
  3. package/dist/ingest/chunker.d.ts +3 -4
  4. package/dist/ingest/chunker.d.ts.map +1 -1
  5. package/dist/ingest/chunker.js +19 -24
  6. package/dist/ingest/chunker.js.map +1 -1
  7. package/dist/ingest/providers/anthropic.d.ts +3 -1
  8. package/dist/ingest/providers/anthropic.d.ts.map +1 -1
  9. package/dist/ingest/providers/anthropic.js +79 -39
  10. package/dist/ingest/providers/anthropic.js.map +1 -1
  11. package/dist/ingest/providers/bedrock.d.ts +3 -1
  12. package/dist/ingest/providers/bedrock.d.ts.map +1 -1
  13. package/dist/ingest/providers/bedrock.js +79 -39
  14. package/dist/ingest/providers/bedrock.js.map +1 -1
  15. package/dist/ingest/providers/gemini.d.ts +3 -1
  16. package/dist/ingest/providers/gemini.d.ts.map +1 -1
  17. package/dist/ingest/providers/gemini.js +77 -39
  18. package/dist/ingest/providers/gemini.js.map +1 -1
  19. package/dist/ingest/providers/index.d.ts +3 -1
  20. package/dist/ingest/providers/index.d.ts.map +1 -1
  21. package/dist/ingest/providers/index.js +70 -30
  22. package/dist/ingest/providers/index.js.map +1 -1
  23. package/dist/ingest/providers/openai.d.ts +3 -1
  24. package/dist/ingest/providers/openai.d.ts.map +1 -1
  25. package/dist/ingest/providers/openai.js +80 -39
  26. package/dist/ingest/providers/openai.js.map +1 -1
  27. package/dist/ingest/task-processor.d.ts +1 -0
  28. package/dist/ingest/task-processor.d.ts.map +1 -1
  29. package/dist/ingest/task-processor.js +33 -9
  30. package/dist/ingest/task-processor.js.map +1 -1
  31. package/dist/ingest/worker.d.ts.map +1 -1
  32. package/dist/ingest/worker.js +29 -13
  33. package/dist/ingest/worker.js.map +1 -1
  34. package/dist/recall/engine.d.ts.map +1 -1
  35. package/dist/recall/engine.js +19 -14
  36. package/dist/recall/engine.js.map +1 -1
  37. package/dist/skill/bundled-memory-guide.d.ts +1 -5
  38. package/dist/skill/bundled-memory-guide.d.ts.map +1 -1
  39. package/dist/skill/bundled-memory-guide.js +38 -97
  40. package/dist/skill/bundled-memory-guide.js.map +1 -1
  41. package/dist/skill/evaluator.js +1 -1
  42. package/dist/storage/sqlite.d.ts +1 -2
  43. package/dist/storage/sqlite.d.ts.map +1 -1
  44. package/dist/storage/sqlite.js +90 -17
  45. package/dist/storage/sqlite.js.map +1 -1
  46. package/dist/tools/memory-get.d.ts.map +1 -1
  47. package/dist/tools/memory-get.js +1 -3
  48. package/dist/tools/memory-get.js.map +1 -1
  49. package/dist/types.d.ts +2 -2
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/types.js +1 -1
  52. package/dist/types.js.map +1 -1
  53. package/dist/update-check.d.ts +21 -0
  54. package/dist/update-check.d.ts.map +1 -0
  55. package/dist/update-check.js +111 -0
  56. package/dist/update-check.js.map +1 -0
  57. package/dist/viewer/html.d.ts.map +1 -1
  58. package/dist/viewer/html.js +444 -182
  59. package/dist/viewer/html.js.map +1 -1
  60. package/dist/viewer/server.d.ts +1 -1
  61. package/dist/viewer/server.d.ts.map +1 -1
  62. package/dist/viewer/server.js +142 -78
  63. package/dist/viewer/server.js.map +1 -1
  64. package/index.ts +206 -198
  65. package/openclaw.plugin.json +3 -0
  66. package/package.json +5 -1
  67. package/scripts/postinstall.cjs +69 -2
  68. package/skill/memos-memory-guide/SKILL.md +73 -36
  69. package/src/capture/index.ts +52 -8
  70. package/src/ingest/chunker.ts +22 -30
  71. package/src/ingest/providers/anthropic.ts +89 -41
  72. package/src/ingest/providers/bedrock.ts +90 -41
  73. package/src/ingest/providers/gemini.ts +89 -41
  74. package/src/ingest/providers/index.ts +81 -35
  75. package/src/ingest/providers/openai.ts +90 -41
  76. package/src/ingest/task-processor.ts +29 -8
  77. package/src/ingest/worker.ts +31 -13
  78. package/src/recall/engine.ts +20 -13
  79. package/src/skill/bundled-memory-guide.ts +5 -96
  80. package/src/skill/evaluator.ts +1 -1
  81. package/src/storage/sqlite.ts +93 -21
  82. package/src/tools/memory-get.ts +1 -4
  83. package/src/types.ts +2 -9
  84. package/src/update-check.ts +96 -0
  85. package/src/viewer/html.ts +444 -182
  86. package/src/viewer/server.ts +101 -66
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/ingest/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/ingest/worker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/recall/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAa,YAAY,EAAE,cAAc,EAAS,MAAM,UAAU,CAAC;AAO9F,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,qBAAa,YAAY;IAIrB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,GAAG;IALb,OAAO,CAAC,aAAa,CAAwF;gBAGnG,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,aAAa;IAGtB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA2HxD;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,WAAW;IAcb,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YA6D7F,mBAAmB;CAuBlC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/recall/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAa,YAAY,EAAE,cAAc,EAAS,MAAM,UAAU,CAAC;AAO9F,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,qBAAa,YAAY;IAIrB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,GAAG;IALb,OAAO,CAAC,aAAa,CAAwF;gBAGnG,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,aAAa;IAGtB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA0IxD;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,WAAW;IAcb,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YA6D7F,mBAAmB;CAuBlC"}
@@ -26,7 +26,7 @@ class RecallEngine {
26
26
  const repeatNote = this.checkRepeat(query, maxResults, minScore);
27
27
  const candidatePool = maxResults * 5;
28
28
  const ownerFilter = opts.ownerFilter;
29
- // Step 1: Gather candidates from both FTS and vector search
29
+ // Step 1: Gather candidates from FTS, vector search, and pattern search
30
30
  const ftsCandidates = query
31
31
  ? this.store.ftsSearch(query, candidatePool, ownerFilter)
32
32
  : [];
@@ -43,10 +43,23 @@ class RecallEngine {
43
43
  this.ctx.log.warn(`Vector search failed, using FTS only: ${err}`);
44
44
  }
45
45
  }
46
+ // Step 1b: Pattern search (LIKE-based) as fallback for short terms that
47
+ // trigram FTS cannot match (trigram requires >= 3 chars).
48
+ const shortTerms = query
49
+ .replace(/[."""(){}[\]*:^~!@#$%&\\/<>,;'`??。,!、:""''()【】《》]/g, " ")
50
+ .split(/\s+/)
51
+ .filter((t) => t.length === 2);
52
+ const patternHits = shortTerms.length > 0
53
+ ? this.store.patternSearch(shortTerms, { limit: candidatePool })
54
+ : [];
55
+ const patternRanked = patternHits.map((h, i) => ({
56
+ id: h.chunkId,
57
+ score: 1 / (i + 1),
58
+ }));
46
59
  // Step 2: RRF fusion
47
60
  const ftsRanked = ftsCandidates.map((c) => ({ id: c.chunkId, score: c.score }));
48
61
  const vecRanked = vecCandidates.map((c) => ({ id: c.chunkId, score: c.score }));
49
- const rrfScores = (0, rrf_1.rrfFuse)([ftsRanked, vecRanked], recallCfg.rrfK);
62
+ const rrfScores = (0, rrf_1.rrfFuse)([ftsRanked, vecRanked, patternRanked], recallCfg.rrfK);
50
63
  if (rrfScores.size === 0) {
51
64
  this.recordQuery(query, maxResults, minScore, 0);
52
65
  return {
@@ -95,9 +108,10 @@ class RecallEngine {
95
108
  continue;
96
109
  if (roleFilter && chunk.role !== roleFilter)
97
110
  continue;
111
+ const excerpt = (chunk.mergeCount ?? 0) > 0 ? chunk.summary : makeExcerpt(chunk.content);
98
112
  hits.push({
99
113
  summary: chunk.summary,
100
- original_excerpt: makeExcerpt(chunk.content),
114
+ original_excerpt: excerpt,
101
115
  ref: {
102
116
  sessionKey: chunk.sessionKey,
103
117
  chunkId: chunk.id,
@@ -210,7 +224,7 @@ class RecallEngine {
210
224
  async judgeSkillRelevance(summarizer, query, candidates) {
211
225
  const candidateList = candidates.map((c, i) => ({
212
226
  index: i,
213
- summary: `[${c.skill.name}] ${c.skill.description}`,
227
+ content: `[${c.skill.name}] ${c.skill.description}`,
214
228
  role: "skill",
215
229
  }));
216
230
  try {
@@ -228,15 +242,6 @@ class RecallEngine {
228
242
  }
229
243
  exports.RecallEngine = RecallEngine;
230
244
  function makeExcerpt(content) {
231
- const min = 200;
232
- const max = 500;
233
- if (content.length <= max)
234
- return content;
235
- let cut = content.lastIndexOf(".", max);
236
- if (cut < min)
237
- cut = content.lastIndexOf(" ", max);
238
- if (cut < min)
239
- cut = max;
240
- return content.slice(0, cut) + "…";
245
+ return content;
241
246
  }
242
247
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/recall/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/recall/engine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,2 @@
1
- /**
2
- * Bundled MemOS memory-guide skill content.
3
- * Written to workspace/skills/memos-memory-guide on plugin register so OpenClaw loads it.
4
- */
5
- export declare const MEMORY_GUIDE_SKILL_MD = "---\nname: memos-memory-guide\ndescription: Use the MemOS Local memory system to search and use the user's past conversations. Use this skill whenever the user refers to past chats, their own preferences or history, or when you need to answer from prior context. When auto-recall returns nothing (long or unclear user query), generate your own short search query and call memory_search. Use task_summary when you need full task context, skill_get for experience guides, and memory_timeline to expand around a memory hit.\n---\n\n# MemOS Local Memory \u2014 Agent Guide\n\nThis skill describes how to use the MemOS memory tools so you can reliably search and use the user's long-term conversation history.\n\n## How memory is provided each turn\n\n- **Automatic recall (hook):** At the start of each turn, the system runs a memory search using the user's current message and injects relevant past memories into your context. You do not need to call any tool for that.\n- **When that is not enough:** If the user's message is very long, vague, or the automatic search returns **no memories**, you should **generate your own short, focused query** and call `memory_search` yourself. For example:\n - User sent a long paragraph \u2192 extract 1\u20132 key topics or a short question and search with that.\n - Auto-recall said \"no memories\" or you see no memory block \u2192 call `memory_search` with a query you derive (e.g. the user's name, a topic they often mention, or a rephrased question).\n- **When you need more detail:** Search results only give excerpts and IDs. Use the tools below to fetch full task context, skill content, or surrounding messages.\n\n## Tools \u2014 what they do and when to call\n\n### memory_search\n\n- **What it does:** Searches the user's stored conversation memory by a natural-language query. Returns a list of relevant excerpts with `chunkId` and optionally `task_id`.\n- **When to call:**\n - The automatic recall did not run or returned nothing (e.g. no `<memory_context>` block, or a note that no memories were found).\n - The user's query is long or unclear \u2014 **generate a short query yourself** (keywords, rephrased question, or a clear sub-question) and call `memory_search(query=\"...\")`.\n - You need to search with a different angle (e.g. filter by `role='user'` to find what the user said, or use a more specific query).\n- **Parameters:** `query` (required), optional `minScore`, `role` (e.g. `\"user\"`).\n- **Output:** List of items with role, excerpt, `chunkId`, and sometimes `task_id`. Use those IDs with the tools below when you need more context.\n\n### task_summary\n\n- **What it does:** Returns the full task summary for a given `task_id`: title, status, and the complete narrative summary of that conversation task (steps, decisions, URLs, commands, etc.).\n- **When to call:** A `memory_search` hit included a `task_id` and you need the full story of that task (e.g. what was done, what the user decided, what failed or succeeded).\n- **Parameters:** `taskId` (from a search hit).\n- **Effect:** You get one coherent summary of the whole task instead of isolated excerpts.\n\n### skill_get\n\n- **What it does:** Returns the content of a learned skill (experience guide) by `skillId` or by `taskId`. If you pass `taskId`, the system finds the skill linked to that task.\n- **When to call:** A search hit has a `task_id` and the task is the kind that has a \"how to do this again\" guide (e.g. a workflow the user has run before). Use this to follow the same approach or reuse steps.\n- **Parameters:** `skillId` (direct) or `taskId` (lookup).\n- **Effect:** You receive the full SKILL.md-style guide. You can then call `skill_install(skillId)` if the user or you want that skill loaded for future turns.\n\n### skill_install\n\n- **What it does:** Installs a skill (by `skillId`) into the workspace so it is loaded in future sessions.\n- **When to call:** After `skill_get` when the skill is useful for ongoing use (e.g. the user's recurring workflow). Optional; only when you want the skill to be permanently available.\n- **Parameters:** `skillId`.\n\n### memory_timeline\n\n- **What it does:** Expands context around a single memory chunk: returns the surrounding conversation messages (\u00B1N turns) so you see what was said before and after that excerpt.\n- **When to call:** A `memory_search` hit is relevant but you need the surrounding dialogue (e.g. who said what next, or the exact follow-up question).\n- **Parameters:** `chunkId` (from a search hit), optional `window` (default 2).\n- **Effect:** You get a short, linear slice of the conversation around that chunk.\n\n### memory_viewer\n\n- **What it does:** Returns the URL of the MemOS Memory Viewer (web UI) where the user can browse, search, and manage their memories.\n- **When to call:** The user asks how to view their memories, open the memory dashboard, or manage stored data.\n- **Parameters:** None.\n- **Effect:** You can tell the user to open that URL in a browser.\n\n## Quick decision flow\n\n1. **No memories in context or auto-recall reported nothing**\n \u2192 Call `memory_search` with a **self-generated short query** (e.g. key topic or rephrased question).\n\n2. **Search returned hits with `task_id` and you need full context**\n \u2192 Call `task_summary(taskId)`.\n\n3. **Task has an experience guide you want to follow**\n \u2192 Call `skill_get(taskId=...)` (or `skill_get(skillId=...)` if you have the id). Optionally `skill_install(skillId)` for future use.\n\n4. **You need the exact surrounding conversation of a hit**\n \u2192 Call `memory_timeline(chunkId=...)`.\n\n5. **User asks where to see or manage their memories**\n \u2192 Call `memory_viewer()` and share the URL.\n\n## Writing good search queries\n\n- Prefer **short, focused** queries (a few words or one clear question).\n- Use **concrete terms**: names, topics, tools, or decisions (e.g. \"preferred editor\", \"deploy script\", \"API key setup\").\n- If the user's message is long, **derive one or two sub-queries** rather than pasting the whole message.\n- Use `role='user'` when you specifically want to find what the user said (e.g. preferences, past questions).\n\n## Memory ownership and agent isolation\n\nEach memory is tagged with an `owner` (e.g. `agent:main`, `agent:sales-bot`). This is handled **automatically** \u2014 you do not need to pass any owner parameter.\n\n- **Your memories:** All tools (`memory_search`, `memory_get`, `memory_timeline`) automatically scope queries to your agent's own memories.\n- **Public memories:** Memories marked as `public` are visible to all agents. Use `memory_write_public` to write shared knowledge.\n- **Cross-agent isolation:** You cannot see memories owned by other agents (unless they are public).\n- **How it works:** The system identifies your agent ID from the OpenClaw runtime context and applies owner filtering automatically on every search, recall, and retrieval.\n";
1
+ export declare const MEMORY_GUIDE_SKILL_MD: string;
6
2
  //# sourceMappingURL=bundled-memory-guide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundled-memory-guide.d.ts","sourceRoot":"","sources":["../../src/skill/bundled-memory-guide.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,2zNA+FjC,CAAC"}
1
+ {"version":3,"file":"bundled-memory-guide.d.ts","sourceRoot":"","sources":["../../src/skill/bundled-memory-guide.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,EAAE,MAA4C,CAAC"}
@@ -1,104 +1,45 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.MEMORY_GUIDE_SKILL_MD = void 0;
4
37
  /**
5
38
  * Bundled MemOS memory-guide skill content.
6
- * Written to workspace/skills/memos-memory-guide on plugin register so OpenClaw loads it.
39
+ * Reads from skill/memos-memory-guide/SKILL.md at runtime (single source of truth).
7
40
  */
8
- exports.MEMORY_GUIDE_SKILL_MD = `---
9
- name: memos-memory-guide
10
- description: Use the MemOS Local memory system to search and use the user's past conversations. Use this skill whenever the user refers to past chats, their own preferences or history, or when you need to answer from prior context. When auto-recall returns nothing (long or unclear user query), generate your own short search query and call memory_search. Use task_summary when you need full task context, skill_get for experience guides, and memory_timeline to expand around a memory hit.
11
- ---
12
-
13
- # MemOS Local Memory — Agent Guide
14
-
15
- This skill describes how to use the MemOS memory tools so you can reliably search and use the user's long-term conversation history.
16
-
17
- ## How memory is provided each turn
18
-
19
- - **Automatic recall (hook):** At the start of each turn, the system runs a memory search using the user's current message and injects relevant past memories into your context. You do not need to call any tool for that.
20
- - **When that is not enough:** If the user's message is very long, vague, or the automatic search returns **no memories**, you should **generate your own short, focused query** and call \`memory_search\` yourself. For example:
21
- - User sent a long paragraph → extract 1–2 key topics or a short question and search with that.
22
- - Auto-recall said "no memories" or you see no memory block → call \`memory_search\` with a query you derive (e.g. the user's name, a topic they often mention, or a rephrased question).
23
- - **When you need more detail:** Search results only give excerpts and IDs. Use the tools below to fetch full task context, skill content, or surrounding messages.
24
-
25
- ## Tools — what they do and when to call
26
-
27
- ### memory_search
28
-
29
- - **What it does:** Searches the user's stored conversation memory by a natural-language query. Returns a list of relevant excerpts with \`chunkId\` and optionally \`task_id\`.
30
- - **When to call:**
31
- - The automatic recall did not run or returned nothing (e.g. no \`<memory_context>\` block, or a note that no memories were found).
32
- - The user's query is long or unclear — **generate a short query yourself** (keywords, rephrased question, or a clear sub-question) and call \`memory_search(query="...")\`.
33
- - You need to search with a different angle (e.g. filter by \`role='user'\` to find what the user said, or use a more specific query).
34
- - **Parameters:** \`query\` (required), optional \`minScore\`, \`role\` (e.g. \`"user"\`).
35
- - **Output:** List of items with role, excerpt, \`chunkId\`, and sometimes \`task_id\`. Use those IDs with the tools below when you need more context.
36
-
37
- ### task_summary
38
-
39
- - **What it does:** Returns the full task summary for a given \`task_id\`: title, status, and the complete narrative summary of that conversation task (steps, decisions, URLs, commands, etc.).
40
- - **When to call:** A \`memory_search\` hit included a \`task_id\` and you need the full story of that task (e.g. what was done, what the user decided, what failed or succeeded).
41
- - **Parameters:** \`taskId\` (from a search hit).
42
- - **Effect:** You get one coherent summary of the whole task instead of isolated excerpts.
43
-
44
- ### skill_get
45
-
46
- - **What it does:** Returns the content of a learned skill (experience guide) by \`skillId\` or by \`taskId\`. If you pass \`taskId\`, the system finds the skill linked to that task.
47
- - **When to call:** A search hit has a \`task_id\` and the task is the kind that has a "how to do this again" guide (e.g. a workflow the user has run before). Use this to follow the same approach or reuse steps.
48
- - **Parameters:** \`skillId\` (direct) or \`taskId\` (lookup).
49
- - **Effect:** You receive the full SKILL.md-style guide. You can then call \`skill_install(skillId)\` if the user or you want that skill loaded for future turns.
50
-
51
- ### skill_install
52
-
53
- - **What it does:** Installs a skill (by \`skillId\`) into the workspace so it is loaded in future sessions.
54
- - **When to call:** After \`skill_get\` when the skill is useful for ongoing use (e.g. the user's recurring workflow). Optional; only when you want the skill to be permanently available.
55
- - **Parameters:** \`skillId\`.
56
-
57
- ### memory_timeline
58
-
59
- - **What it does:** Expands context around a single memory chunk: returns the surrounding conversation messages (±N turns) so you see what was said before and after that excerpt.
60
- - **When to call:** A \`memory_search\` hit is relevant but you need the surrounding dialogue (e.g. who said what next, or the exact follow-up question).
61
- - **Parameters:** \`chunkId\` (from a search hit), optional \`window\` (default 2).
62
- - **Effect:** You get a short, linear slice of the conversation around that chunk.
63
-
64
- ### memory_viewer
65
-
66
- - **What it does:** Returns the URL of the MemOS Memory Viewer (web UI) where the user can browse, search, and manage their memories.
67
- - **When to call:** The user asks how to view their memories, open the memory dashboard, or manage stored data.
68
- - **Parameters:** None.
69
- - **Effect:** You can tell the user to open that URL in a browser.
70
-
71
- ## Quick decision flow
72
-
73
- 1. **No memories in context or auto-recall reported nothing**
74
- → Call \`memory_search\` with a **self-generated short query** (e.g. key topic or rephrased question).
75
-
76
- 2. **Search returned hits with \`task_id\` and you need full context**
77
- → Call \`task_summary(taskId)\`.
78
-
79
- 3. **Task has an experience guide you want to follow**
80
- → Call \`skill_get(taskId=...)\` (or \`skill_get(skillId=...)\` if you have the id). Optionally \`skill_install(skillId)\` for future use.
81
-
82
- 4. **You need the exact surrounding conversation of a hit**
83
- → Call \`memory_timeline(chunkId=...)\`.
84
-
85
- 5. **User asks where to see or manage their memories**
86
- → Call \`memory_viewer()\` and share the URL.
87
-
88
- ## Writing good search queries
89
-
90
- - Prefer **short, focused** queries (a few words or one clear question).
91
- - Use **concrete terms**: names, topics, tools, or decisions (e.g. "preferred editor", "deploy script", "API key setup").
92
- - If the user's message is long, **derive one or two sub-queries** rather than pasting the whole message.
93
- - Use \`role='user'\` when you specifically want to find what the user said (e.g. preferences, past questions).
94
-
95
- ## Memory ownership and agent isolation
96
-
97
- Each memory is tagged with an \`owner\` (e.g. \`agent:main\`, \`agent:sales-bot\`). This is handled **automatically** — you do not need to pass any owner parameter.
98
-
99
- - **Your memories:** All tools (\`memory_search\`, \`memory_get\`, \`memory_timeline\`) automatically scope queries to your agent's own memories.
100
- - **Public memories:** Memories marked as \`public\` are visible to all agents. Use \`memory_write_public\` to write shared knowledge.
101
- - **Cross-agent isolation:** You cannot see memories owned by other agents (unless they are public).
102
- - **How it works:** The system identifies your agent ID from the OpenClaw runtime context and applies owner filtering automatically on every search, recall, and retrieval.
103
- `;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const skillPath = path.join(__dirname, "..", "..", "skill", "memos-memory-guide", "SKILL.md");
44
+ exports.MEMORY_GUIDE_SKILL_MD = fs.readFileSync(skillPath, "utf-8");
104
45
  //# sourceMappingURL=bundled-memory-guide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundled-memory-guide.js","sourceRoot":"","sources":["../../src/skill/bundled-memory-guide.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+FpC,CAAC"}
1
+ {"version":3,"file":"bundled-memory-guide.js","sourceRoot":"","sources":["../../src/skill/bundled-memory-guide.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,uCAAyB;AACzB,2CAA6B;AAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC;AACjF,QAAA,qBAAqB,GAAW,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC"}
@@ -36,7 +36,7 @@ Task title: {TITLE}
36
36
  Task summary:
37
37
  {SUMMARY}
38
38
 
39
- LANGUAGE RULE: The "reason" field MUST use the SAME language as the task title/summary. Chinese input Chinese reason. English input English reason. "suggestedName" stays in English kebab-case.
39
+ LANGUAGE RULE (MUST FOLLOW): Detect the language of the task title/summary. If it is Chinese, the "reason" field MUST be in Chinese. If English, reason in English. Only "suggestedName" stays in English kebab-case. 如果任务标题/摘要是中文,reason 必须用中文。
40
40
 
41
41
  Reply in JSON only, no extra text:
42
42
  {
@@ -8,6 +8,7 @@ export declare class SqliteStore {
8
8
  private migrateOwnerFields;
9
9
  private migrateSkillVisibility;
10
10
  private migrateSkillEmbeddingsAndFts;
11
+ private migrateFtsToTrigram;
11
12
  private migrateTaskId;
12
13
  private migrateContentHash;
13
14
  private migrateSkillTables;
@@ -70,8 +71,6 @@ export declare class SqliteStore {
70
71
  search: number;
71
72
  total: number;
72
73
  }>;
73
- roleBreakdown: Record<string, number>;
74
- kindBreakdown: Record<string, number>;
75
74
  totals: {
76
75
  memories: number;
77
76
  sessions: number;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ class SqliteStore {
82
82
  content,
83
83
  content='chunks',
84
84
  content_rowid='rowid',
85
- tokenize='porter unicode61'
85
+ tokenize='trigram'
86
86
  );
87
87
 
88
88
  CREATE TRIGGER IF NOT EXISTS chunks_ai AFTER INSERT ON chunks BEGIN
@@ -144,6 +144,7 @@ class SqliteStore {
144
144
  this.migrateOwnerFields();
145
145
  this.migrateSkillVisibility();
146
146
  this.migrateSkillEmbeddingsAndFts();
147
+ this.migrateFtsToTrigram();
147
148
  this.log.debug("Database schema initialized");
148
149
  }
149
150
  migrateChunksIndexesForRecall() {
@@ -190,7 +191,7 @@ class SqliteStore {
190
191
  description,
191
192
  content='skills',
192
193
  content_rowid='rowid',
193
- tokenize='porter unicode61'
194
+ tokenize='trigram'
194
195
  );
195
196
  `);
196
197
  try {
@@ -225,6 +226,77 @@ class SqliteStore {
225
226
  }
226
227
  catch { /* best-effort */ }
227
228
  }
229
+ migrateFtsToTrigram() {
230
+ // Check if chunks_fts still uses the old tokenizer (porter unicode61)
231
+ try {
232
+ const row = this.db.prepare("SELECT sql FROM sqlite_master WHERE name='chunks_fts'").get();
233
+ if (row && row.sql && !row.sql.includes("trigram")) {
234
+ this.log.info("Migrating chunks_fts from porter/unicode61 to trigram tokenizer...");
235
+ this.db.exec("DROP TRIGGER IF EXISTS chunks_ai");
236
+ this.db.exec("DROP TRIGGER IF EXISTS chunks_ad");
237
+ this.db.exec("DROP TRIGGER IF EXISTS chunks_au");
238
+ this.db.exec("DROP TABLE IF EXISTS chunks_fts");
239
+ this.db.exec(`
240
+ CREATE VIRTUAL TABLE chunks_fts USING fts5(
241
+ summary, content, content='chunks', content_rowid='rowid',
242
+ tokenize='trigram'
243
+ )
244
+ `);
245
+ this.db.exec(`
246
+ CREATE TRIGGER chunks_ai AFTER INSERT ON chunks BEGIN
247
+ INSERT INTO chunks_fts(rowid, summary, content) VALUES (new.rowid, new.summary, new.content);
248
+ END;
249
+ CREATE TRIGGER chunks_ad AFTER DELETE ON chunks BEGIN
250
+ INSERT INTO chunks_fts(chunks_fts, rowid, summary, content) VALUES ('delete', old.rowid, old.summary, old.content);
251
+ END;
252
+ CREATE TRIGGER chunks_au AFTER UPDATE ON chunks BEGIN
253
+ INSERT INTO chunks_fts(chunks_fts, rowid, summary, content) VALUES ('delete', old.rowid, old.summary, old.content);
254
+ INSERT INTO chunks_fts(rowid, summary, content) VALUES (new.rowid, new.summary, new.content);
255
+ END
256
+ `);
257
+ this.db.exec("INSERT INTO chunks_fts(rowid, summary, content) SELECT rowid, summary, content FROM chunks");
258
+ const count = this.db.prepare("SELECT COUNT(*) as c FROM chunks_fts").get().c;
259
+ this.log.info(`Migrated chunks_fts to trigram: ${count} rows indexed`);
260
+ }
261
+ }
262
+ catch (err) {
263
+ this.log.warn(`Failed to migrate chunks_fts to trigram: ${err}`);
264
+ }
265
+ // Same for skills_fts
266
+ try {
267
+ const row = this.db.prepare("SELECT sql FROM sqlite_master WHERE name='skills_fts'").get();
268
+ if (row && row.sql && !row.sql.includes("trigram")) {
269
+ this.log.info("Migrating skills_fts to trigram tokenizer...");
270
+ this.db.exec("DROP TRIGGER IF EXISTS skills_ai");
271
+ this.db.exec("DROP TRIGGER IF EXISTS skills_ad");
272
+ this.db.exec("DROP TRIGGER IF EXISTS skills_au");
273
+ this.db.exec("DROP TABLE IF EXISTS skills_fts");
274
+ this.db.exec(`
275
+ CREATE VIRTUAL TABLE skills_fts USING fts5(
276
+ name, description, content='skills', content_rowid='rowid',
277
+ tokenize='trigram'
278
+ )
279
+ `);
280
+ this.db.exec(`
281
+ CREATE TRIGGER skills_ai AFTER INSERT ON skills BEGIN
282
+ INSERT INTO skills_fts(rowid, name, description) VALUES (new.rowid, new.name, new.description);
283
+ END;
284
+ CREATE TRIGGER skills_ad AFTER DELETE ON skills BEGIN
285
+ INSERT INTO skills_fts(skills_fts, rowid, name, description) VALUES ('delete', old.rowid, old.name, old.description);
286
+ END;
287
+ CREATE TRIGGER skills_au AFTER UPDATE ON skills BEGIN
288
+ INSERT INTO skills_fts(skills_fts, rowid, name, description) VALUES ('delete', old.rowid, old.name, old.description);
289
+ INSERT INTO skills_fts(rowid, name, description) VALUES (new.rowid, new.name, new.description);
290
+ END
291
+ `);
292
+ this.db.exec("INSERT INTO skills_fts(rowid, name, description) SELECT rowid, name, description FROM skills");
293
+ this.log.info("Migrated skills_fts to trigram");
294
+ }
295
+ }
296
+ catch (err) {
297
+ this.log.warn(`Failed to migrate skills_fts to trigram: ${err}`);
298
+ }
299
+ }
228
300
  migrateTaskId() {
229
301
  const cols = this.db.prepare("PRAGMA table_info(chunks)").all();
230
302
  if (!cols.some((c) => c.name === "task_id")) {
@@ -533,10 +605,6 @@ class SqliteStore {
533
605
  const viewerCallsPerDay = Array.from(byDate.entries())
534
606
  .sort((a, b) => a[0].localeCompare(b[0]))
535
607
  .map(([date, v]) => ({ date, list: v.list, search: v.search, total: v.list + v.search }));
536
- const roles = this.db.prepare("SELECT role, COUNT(*) as count FROM chunks GROUP BY role").all();
537
- const kinds = this.db.prepare("SELECT kind, COUNT(*) as count FROM chunks GROUP BY kind").all();
538
- const roleBreakdown = Object.fromEntries(roles.map((r) => [r.role, r.count]));
539
- const kindBreakdown = Object.fromEntries(kinds.map((k) => [k.kind, k.count]));
540
608
  const totalChunks = this.db.prepare("SELECT COUNT(*) as c FROM chunks").get().c;
541
609
  const totalSessions = this.db.prepare("SELECT COUNT(DISTINCT session_key) as c FROM chunks").get().c;
542
610
  const totalEmbeddings = this.db.prepare("SELECT COUNT(*) as c FROM embeddings").get().c;
@@ -545,8 +613,6 @@ class SqliteStore {
545
613
  return {
546
614
  writesPerDay,
547
615
  viewerCallsPerDay,
548
- roleBreakdown,
549
- kindBreakdown,
550
616
  totals: {
551
617
  memories: totalChunks,
552
618
  sessions: totalSessions,
@@ -768,6 +834,10 @@ class SqliteStore {
768
834
  { sql: "content LIKE '%=== MemOS LONG-TERM MEMORY%'", reason: "MemOS legacy injection" },
769
835
  { sql: "content LIKE '%[MemOS Auto-Recall]%'", reason: "MemOS Auto-Recall injection" },
770
836
  { sql: "content LIKE '%## Memory system%No memories were automatically recalled%'", reason: "Memory system no-recall hint" },
837
+ { sql: "content LIKE '%## Retrieved memories from past conversations%CRITICAL INSTRUCTION%'", reason: "prependContext recall injection" },
838
+ { sql: "content LIKE '%VERIFIED facts the user previously shared%'", reason: "VERIFIED facts injection" },
839
+ { sql: "content LIKE '%<memos_system_instruction>%'", reason: "memos_system_instruction injection" },
840
+ { sql: "content LIKE '%📝 Related memories:%'", reason: "Related memories injection" },
771
841
  ];
772
842
  for (const { sql, reason } of patterns) {
773
843
  const rows = this.db.prepare(`SELECT id, substr(content, 1, 120) AS preview FROM chunks WHERE role = 'user' AND ${sql}`).all();
@@ -968,11 +1038,13 @@ class SqliteStore {
968
1038
  */
969
1039
  findActiveChunkByHash(content, owner) {
970
1040
  const hash = contentHash(content);
1041
+ // Check ANY existing chunk with the same hash (regardless of dedup_status)
1042
+ // to prevent re-creating duplicates when all prior copies have been marked duplicate/merged.
971
1043
  if (owner) {
972
- const row = this.db.prepare("SELECT id FROM chunks WHERE content_hash = ? AND dedup_status = 'active' AND owner = ? LIMIT 1").get(hash, owner);
1044
+ const row = this.db.prepare("SELECT id FROM chunks WHERE content_hash = ? AND owner = ? ORDER BY CASE dedup_status WHEN 'active' THEN 0 ELSE 1 END LIMIT 1").get(hash, owner);
973
1045
  return row?.id ?? null;
974
1046
  }
975
- const row = this.db.prepare("SELECT id FROM chunks WHERE content_hash = ? AND dedup_status = 'active' LIMIT 1").get(hash);
1047
+ const row = this.db.prepare("SELECT id FROM chunks WHERE content_hash = ? ORDER BY CASE dedup_status WHEN 'active' THEN 0 ELSE 1 END LIMIT 1").get(hash);
976
1048
  return row?.id ?? null;
977
1049
  }
978
1050
  // ─── Util ───
@@ -1210,13 +1282,14 @@ exports.SqliteStore = SqliteStore;
1210
1282
  * with implicit AND (space-separated) for safe querying.
1211
1283
  */
1212
1284
  function sanitizeFtsQuery(raw) {
1213
- const tokens = raw
1214
- .replace(/[."""(){}[\]*:^~!@#$%&\\/<>,;'`]/g, " ")
1215
- .split(/\s+/)
1216
- .map((t) => t.trim().replace(/^-+|-+$/g, ""))
1217
- .filter((t) => t.length > 1)
1218
- .filter((t) => !FTS_RESERVED.has(t.toUpperCase()));
1219
- return tokens.join(" ");
1285
+ // With trigram tokenizer, the query string is matched as a substring.
1286
+ // Clean special chars but keep the text as-is (trigram needs >= 3 chars).
1287
+ const cleaned = raw
1288
+ .replace(/[."""(){}[\]*:^~!@#$%&\\/<>,;'`??。,!、:""''()【】《》]/g, " ")
1289
+ .trim();
1290
+ if (cleaned.length < 3)
1291
+ return "";
1292
+ return cleaned;
1220
1293
  }
1221
1294
  const FTS_RESERVED = new Set(["AND", "OR", "NOT", "NEAR"]);
1222
1295
  function rowToChunk(row) {