@memclaw/memclaw 0.9.10 → 0.9.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.
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ function memclawPlugin(api) {
38
38
  exports.plugin = {
39
39
  id: 'memclaw',
40
40
  name: 'MemClaw',
41
- version: '0.9.10',
41
+ version: '0.9.11',
42
42
  configSchema: {
43
43
  type: 'object',
44
44
  properties: {
@@ -12,38 +12,6 @@ interface PluginLogger {
12
12
  warn: (msg: string, ...args: unknown[]) => void;
13
13
  error: (msg: string, ...args: unknown[]) => void;
14
14
  }
15
- interface CronAPI {
16
- call(params: {
17
- method: "add" | "remove" | "list";
18
- params?: {
19
- name?: string;
20
- schedule?: {
21
- kind: string;
22
- expr: string;
23
- };
24
- sessionTarget?: string;
25
- payload?: {
26
- kind: string;
27
- message: string;
28
- };
29
- delivery?: {
30
- mode: string;
31
- };
32
- };
33
- }): Promise<unknown>;
34
- }
35
- interface RuntimeAPI {
36
- tools: {
37
- get(name: "cron"): CronAPI;
38
- };
39
- }
40
- interface ToolDefinition {
41
- name: string;
42
- description: string;
43
- parameters: object;
44
- execute: (_id: string, params: Record<string, unknown>) => Promise<unknown>;
45
- optional?: boolean;
46
- }
47
15
  interface PluginAPI {
48
16
  pluginConfig?: Record<string, unknown>;
49
17
  registerTool(tool: ToolDefinition, opts?: {
@@ -55,7 +23,13 @@ interface PluginAPI {
55
23
  stop: () => Promise<void>;
56
24
  }): void;
57
25
  logger: PluginLogger;
58
- runtime?: RuntimeAPI;
26
+ }
27
+ interface ToolDefinition {
28
+ name: string;
29
+ description: string;
30
+ parameters: object;
31
+ execute: (_id: string, params: Record<string, unknown>) => Promise<unknown>;
32
+ optional?: boolean;
59
33
  }
60
34
  export declare function createPlugin(api: PluginAPI): {
61
35
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-impl.d.ts","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0CH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CAClD;AAED,UAAU,OAAO;IACf,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QAClC,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,OAAO,CAAC,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;YACF,QAAQ,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;SAC7B,CAAC;KACH,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE;QACL,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;KAC5B,CAAC;CACH;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,eAAe,CAAC,OAAO,EAAE;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3B,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAqPD,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS;;;;EAwc1C"}
1
+ {"version":3,"file":"plugin-impl.d.ts","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0CH,UAAU,YAAY;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,UAAU,SAAS;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,eAAe,CAAC,OAAO,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,UAAU,cAAc;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AA+MD,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS;;;;EA4d1C"}
@@ -16,7 +16,7 @@ const migrate_js_1 = require("./src/migrate.js");
16
16
  // Tool schemas
17
17
  const toolSchemas = {
18
18
  cortex_search: {
19
- name: "cortex_search",
19
+ name: 'cortex_search',
20
20
  description: `Layered semantic search across memory using L0/L1/L2 tiered retrieval.
21
21
  Returns relevant memories ranked by relevance score.
22
22
 
@@ -25,32 +25,32 @@ Use this tool when you need to:
25
25
  - Search for specific information across all sessions
26
26
  - Discover related memories by semantic similarity`,
27
27
  inputSchema: {
28
- type: "object",
28
+ type: 'object',
29
29
  properties: {
30
30
  query: {
31
- type: "string",
32
- description: "The search query - can be natural language or keywords",
31
+ type: 'string',
32
+ description: 'The search query - can be natural language or keywords'
33
33
  },
34
34
  scope: {
35
- type: "string",
36
- description: "Optional session/thread ID to limit search scope",
35
+ type: 'string',
36
+ description: 'Optional session/thread ID to limit search scope'
37
37
  },
38
38
  limit: {
39
- type: "integer",
40
- description: "Maximum number of results to return (default: 10)",
41
- default: 10,
39
+ type: 'integer',
40
+ description: 'Maximum number of results to return (default: 10)',
41
+ default: 10
42
42
  },
43
43
  min_score: {
44
- type: "number",
45
- description: "Minimum relevance score threshold (0-1, default: 0.6)",
46
- default: 0.6,
47
- },
44
+ type: 'number',
45
+ description: 'Minimum relevance score threshold (0-1, default: 0.6)',
46
+ default: 0.6
47
+ }
48
48
  },
49
- required: ["query"],
50
- },
49
+ required: ['query']
50
+ }
51
51
  },
52
52
  cortex_recall: {
53
- name: "cortex_recall",
53
+ name: 'cortex_recall',
54
54
  description: `Recall memories using L0/L1/L2 tiered retrieval.
55
55
 
56
56
  The search engine internally performs tiered retrieval:
@@ -62,27 +62,27 @@ Returns results with snippet (summary) and content (if available).
62
62
 
63
63
  Use this when you need memories with more context than a simple search.`,
64
64
  inputSchema: {
65
- type: "object",
65
+ type: 'object',
66
66
  properties: {
67
67
  query: {
68
- type: "string",
69
- description: "The search query",
68
+ type: 'string',
69
+ description: 'The search query'
70
70
  },
71
71
  scope: {
72
- type: "string",
73
- description: "Optional session/thread ID to limit search scope",
72
+ type: 'string',
73
+ description: 'Optional session/thread ID to limit search scope'
74
74
  },
75
75
  limit: {
76
- type: "integer",
77
- description: "Maximum number of results (default: 10)",
78
- default: 10,
79
- },
76
+ type: 'integer',
77
+ description: 'Maximum number of results (default: 10)',
78
+ default: 10
79
+ }
80
80
  },
81
- required: ["query"],
82
- },
81
+ required: ['query']
82
+ }
83
83
  },
84
84
  cortex_add_memory: {
85
- name: "cortex_add_memory",
85
+ name: 'cortex_add_memory',
86
86
  description: `Add a message to memory for a specific session.
87
87
  This stores the message and automatically triggers:
88
88
  - Vector embedding for semantic search
@@ -90,37 +90,37 @@ This stores the message and automatically triggers:
90
90
 
91
91
  Use this to persist important information that should be searchable later.`,
92
92
  inputSchema: {
93
- type: "object",
93
+ type: 'object',
94
94
  properties: {
95
95
  content: {
96
- type: "string",
97
- description: "The content to store in memory",
96
+ type: 'string',
97
+ description: 'The content to store in memory'
98
98
  },
99
99
  role: {
100
- type: "string",
101
- enum: ["user", "assistant", "system"],
102
- description: "Role of the message sender (default: user)",
103
- default: "user",
100
+ type: 'string',
101
+ enum: ['user', 'assistant', 'system'],
102
+ description: 'Role of the message sender (default: user)',
103
+ default: 'user'
104
104
  },
105
105
  session_id: {
106
- type: "string",
107
- description: "Session/thread ID (uses default if not specified)",
108
- },
106
+ type: 'string',
107
+ description: 'Session/thread ID (uses default if not specified)'
108
+ }
109
109
  },
110
- required: ["content"],
111
- },
110
+ required: ['content']
111
+ }
112
112
  },
113
113
  cortex_list_sessions: {
114
- name: "cortex_list_sessions",
114
+ name: 'cortex_list_sessions',
115
115
  description: `List all memory sessions with their status.
116
116
  Shows session IDs, message counts, and creation/update times.`,
117
117
  inputSchema: {
118
- type: "object",
119
- properties: {},
120
- },
118
+ type: 'object',
119
+ properties: {}
120
+ }
121
121
  },
122
122
  cortex_close_session: {
123
- name: "cortex_close_session",
123
+ name: 'cortex_close_session',
124
124
  description: `Trigger memory extraction and archival for accumulated conversation content.
125
125
 
126
126
  **IMPORTANT - Call this tool proactively and periodically, NOT just at conversation end.**
@@ -145,17 +145,17 @@ This triggers the complete memory processing pipeline:
145
145
  - A good rhythm: once per significant topic completion
146
146
  - This is a long-running operation (30-60s) but runs asynchronously`,
147
147
  inputSchema: {
148
- type: "object",
148
+ type: 'object',
149
149
  properties: {
150
150
  session_id: {
151
- type: "string",
152
- description: "Session/thread ID to process (uses default if not specified)",
153
- },
154
- },
155
- },
151
+ type: 'string',
152
+ description: 'Session/thread ID to process (uses default if not specified)'
153
+ }
154
+ }
155
+ }
156
156
  },
157
157
  cortex_migrate: {
158
- name: "cortex_migrate",
158
+ name: 'cortex_migrate',
159
159
  description: `Migrate memories from OpenClaw's native memory system to MemClaw.
160
160
 
161
161
  This will:
@@ -165,12 +165,12 @@ This will:
165
165
 
166
166
  Use this once during initial setup to preserve your existing memories.`,
167
167
  inputSchema: {
168
- type: "object",
169
- properties: {},
170
- },
168
+ type: 'object',
169
+ properties: {}
170
+ }
171
171
  },
172
172
  cortex_maintenance: {
173
- name: "cortex_maintenance",
173
+ name: 'cortex_maintenance',
174
174
  description: `Perform periodic maintenance on MemClaw data.
175
175
 
176
176
  This executes:
@@ -188,75 +188,46 @@ You can also call it manually when:
188
188
  - dryRun: Preview changes without executing (default: false)
189
189
  - commands: Which commands to run (default: all)`,
190
190
  inputSchema: {
191
- type: "object",
191
+ type: 'object',
192
192
  properties: {
193
193
  dryRun: {
194
- type: "boolean",
195
- description: "Preview changes without executing",
196
- default: false,
194
+ type: 'boolean',
195
+ description: 'Preview changes without executing',
196
+ default: false
197
197
  },
198
198
  commands: {
199
- type: "array",
199
+ type: 'array',
200
200
  items: {
201
- type: "string",
202
- enum: ["prune", "reindex", "ensure-all"],
201
+ type: 'string',
202
+ enum: ['prune', 'reindex', 'ensure-all']
203
203
  },
204
- description: "Which maintenance commands to run",
205
- default: ["prune", "reindex", "ensure-all"],
206
- },
207
- },
208
- },
209
- },
210
- };
211
- // Cron Job name for maintenance
212
- const MAINTENANCE_CRON_NAME = "memclaw-maintenance";
213
- // Register maintenance Cron Job
214
- async function registerMaintenanceCronJob(api, log) {
215
- // Check if runtime API is available
216
- if (!api.runtime?.tools) {
217
- log("Runtime API not available, skipping Cron Job registration");
218
- return;
219
- }
220
- try {
221
- const cronApi = api.runtime.tools.get("cron");
222
- // Register the maintenance job (runs every 3 hours)
223
- await cronApi.call({
224
- method: "add",
225
- params: {
226
- name: MAINTENANCE_CRON_NAME,
227
- schedule: { kind: "cron", expr: "0 */3 * * *" },
228
- sessionTarget: "isolated",
229
- payload: {
230
- kind: "agentTurn",
231
- message: "Execute MemClaw maintenance using the cortex_maintenance tool with default settings. Run vector prune, reindex, and layer ensure-all commands. Report any errors encountered.",
232
- },
233
- delivery: { mode: "none" },
234
- },
235
- });
236
- log("Registered maintenance Cron Job (runs every 3 hours)");
237
- }
238
- catch (err) {
239
- log(`Failed to register Cron Job: ${err}`);
240
- // Non-fatal error, continue
204
+ description: 'Which maintenance commands to run',
205
+ default: ['prune', 'reindex', 'ensure-all']
206
+ }
207
+ }
208
+ }
241
209
  }
242
- }
210
+ };
211
+ // Maintenance interval: 3 hours
212
+ const MAINTENANCE_INTERVAL_MS = 3 * 60 * 60 * 1000;
243
213
  function createPlugin(api) {
244
214
  const config = (api.pluginConfig ?? {});
245
- const serviceUrl = config.serviceUrl ?? "http://localhost:8085";
246
- const defaultSessionId = config.defaultSessionId ?? "default";
215
+ const serviceUrl = config.serviceUrl ?? 'http://localhost:8085';
216
+ const defaultSessionId = config.defaultSessionId ?? 'default';
247
217
  const searchLimit = config.searchLimit ?? 10;
248
218
  const minScore = config.minScore ?? 0.6;
249
- const tenantId = config.tenantId ?? "tenant_claw";
219
+ const tenantId = config.tenantId ?? 'tenant_claw';
250
220
  const autoStartServices = config.autoStartServices ?? true;
251
221
  const client = new client_js_1.CortexMemClient(serviceUrl);
252
222
  let servicesStarted = false;
223
+ let maintenanceTimer = null;
253
224
  const log = (msg) => api.logger.info(`[memclaw] ${msg}`);
254
- log("Initializing MemClaw plugin...");
225
+ log('Initializing MemClaw plugin...');
255
226
  // Ensure config file exists
256
227
  const { created, path: configPath } = (0, config_js_1.ensureConfigExists)();
257
228
  if (created) {
258
229
  log(`Created configuration file: ${configPath}`);
259
- log("Opening configuration file for editing...");
230
+ log('Opening configuration file for editing...');
260
231
  (0, config_js_1.openConfigFile)(configPath).catch((err) => {
261
232
  api.logger.warn(`Could not open config file: ${err}`);
262
233
  api.logger.warn(`Please manually edit: ${configPath}`);
@@ -278,16 +249,16 @@ function createPlugin(api) {
278
249
  }
279
250
  // Register service lifecycle
280
251
  api.registerService({
281
- id: "memclaw",
252
+ id: 'memclaw',
282
253
  start: async () => {
283
254
  // Skip service startup if config was just created (first run)
284
255
  // User needs to fill in API keys first
285
256
  if (created) {
286
- log("First run detected. Please complete configuration and restart OpenClaw.");
257
+ log('First run detected. Please complete configuration and restart OpenClaw.');
287
258
  return;
288
259
  }
289
260
  if (!autoStartServices) {
290
- log("Auto-start disabled, skipping service startup");
261
+ log('Auto-start disabled, skipping service startup');
291
262
  return;
292
263
  }
293
264
  // Sync plugin config to config.toml if LLM/Embedding settings provided
@@ -297,17 +268,17 @@ function createPlugin(api) {
297
268
  llmModel: config.llmModel,
298
269
  embeddingApiBaseUrl: config.embeddingApiBaseUrl,
299
270
  embeddingApiKey: config.embeddingApiKey,
300
- embeddingModel: config.embeddingModel,
271
+ embeddingModel: config.embeddingModel
301
272
  };
302
273
  const syncResult = (0, config_js_1.updateConfigFromPlugin)(pluginProvidedConfig);
303
274
  if (syncResult.updated) {
304
275
  log(`Synced LLM/Embedding config from OpenClaw to: ${syncResult.path}`);
305
276
  }
306
277
  // Check if binaries are available
307
- const hasQdrant = (0, binaries_js_1.isBinaryAvailable)("qdrant");
308
- const hasService = (0, binaries_js_1.isBinaryAvailable)("cortex-mem-service");
278
+ const hasQdrant = (0, binaries_js_1.isBinaryAvailable)('qdrant');
279
+ const hasService = (0, binaries_js_1.isBinaryAvailable)('cortex-mem-service');
309
280
  if (!hasQdrant || !hasService) {
310
- log("Some binaries are missing. Services may need manual setup.");
281
+ log('Some binaries are missing. Services may need manual setup.');
311
282
  log(`Run 'memclaw setup' or check the admin skill for installation instructions.`);
312
283
  }
313
284
  // Parse and merge config (plugin config takes precedence)
@@ -315,38 +286,66 @@ function createPlugin(api) {
315
286
  const mergedConfig = (0, config_js_1.mergeConfigWithPlugin)(fileConfig, pluginProvidedConfig);
316
287
  const validation = (0, config_js_1.validateConfig)(mergedConfig);
317
288
  if (!validation.valid) {
318
- api.logger.warn(`Configuration incomplete: ${validation.errors.join(", ")}`);
289
+ api.logger.warn(`Configuration incomplete: ${validation.errors.join(', ')}`);
319
290
  api.logger.warn(`Please configure LLM/Embedding API keys in OpenClaw plugin settings or edit: ${configPath}`);
320
291
  return;
321
292
  }
322
293
  // Start services
323
294
  try {
324
- log("Starting services...");
295
+ log('Starting services...');
325
296
  await (0, binaries_js_1.ensureAllServices)(log);
326
297
  servicesStarted = true;
327
298
  // Switch tenant
328
299
  await client.switchTenant(tenantId);
329
300
  log(`Switched to tenant: ${tenantId}`);
330
- log("MemClaw services started successfully");
331
- // Register scheduled maintenance Cron Job
332
- await registerMaintenanceCronJob(api, log);
301
+ log('MemClaw services started successfully');
302
+ // Start maintenance timer (runs every 3 hours)
303
+ maintenanceTimer = setInterval(async () => {
304
+ try {
305
+ log('Running scheduled maintenance...');
306
+ const configPath = (0, config_js_1.getConfigPath)();
307
+ // Run maintenance commands
308
+ const commands = [
309
+ ['vector', 'prune'],
310
+ ['vector', 'reindex'],
311
+ ['layers', 'ensure-all']
312
+ ];
313
+ for (const cmd of commands) {
314
+ const result = await (0, binaries_js_1.executeCliCommand)(cmd, configPath, tenantId, 300000);
315
+ if (!result.success) {
316
+ log(`Maintenance command '${cmd.join(' ')}' failed: ${result.stderr}`);
317
+ }
318
+ }
319
+ log('Scheduled maintenance completed');
320
+ }
321
+ catch (err) {
322
+ log(`Maintenance error: ${err}`);
323
+ }
324
+ }, MAINTENANCE_INTERVAL_MS);
325
+ log('Maintenance timer started (runs every 3 hours)');
333
326
  }
334
327
  catch (err) {
335
328
  api.logger.error(`Failed to start services: ${err}`);
336
- api.logger.warn("Memory features may not work correctly");
329
+ api.logger.warn('Memory features may not work correctly');
337
330
  }
338
331
  },
339
332
  stop: async () => {
340
- log("Stopping MemClaw...");
333
+ log('Stopping MemClaw...');
334
+ // Clear maintenance timer
335
+ if (maintenanceTimer) {
336
+ clearInterval(maintenanceTimer);
337
+ maintenanceTimer = null;
338
+ log('Maintenance timer stopped');
339
+ }
341
340
  servicesStarted = false;
342
- },
341
+ }
343
342
  });
344
343
  // Helper to check if services are ready
345
344
  const ensureServicesReady = async () => {
346
345
  if (!servicesStarted) {
347
346
  const status = await (0, binaries_js_1.checkServiceStatus)();
348
347
  if (!status.cortexMemService) {
349
- throw new Error("cortex-mem-service is not running. Please start the service first.");
348
+ throw new Error('cortex-mem-service is not running. Please start the service first.');
350
349
  }
351
350
  }
352
351
  };
@@ -364,19 +363,19 @@ function createPlugin(api) {
364
363
  query: input.query,
365
364
  thread: input.scope,
366
365
  limit: input.limit ?? searchLimit,
367
- min_score: input.min_score ?? minScore,
366
+ min_score: input.min_score ?? minScore
368
367
  });
369
368
  const formatted = results
370
369
  .map((r, i) => `${i + 1}. [Score: ${r.score.toFixed(2)}] ${r.snippet}\n URI: ${r.uri}`)
371
- .join("\n\n");
370
+ .join('\n\n');
372
371
  return {
373
372
  content: `Found ${results.length} results for "${input.query}":\n\n${formatted}`,
374
373
  results: results.map((r) => ({
375
374
  uri: r.uri,
376
375
  score: r.score,
377
- snippet: r.snippet,
376
+ snippet: r.snippet
378
377
  })),
379
- total: results.length,
378
+ total: results.length
380
379
  };
381
380
  }
382
381
  catch (error) {
@@ -384,7 +383,7 @@ function createPlugin(api) {
384
383
  api.logger.error(`cortex_search failed: ${message}`);
385
384
  return { error: `Search failed: ${message}` };
386
385
  }
387
- },
386
+ }
388
387
  });
389
388
  // cortex_recall
390
389
  api.registerTool({
@@ -401,16 +400,16 @@ function createPlugin(api) {
401
400
  let content = `${i + 1}. [Score: ${r.score.toFixed(2)}] URI: ${r.uri}\n`;
402
401
  content += ` Snippet: ${r.snippet}\n`;
403
402
  if (r.content) {
404
- const preview = r.content.length > 300 ? r.content.substring(0, 300) + "..." : r.content;
403
+ const preview = r.content.length > 300 ? r.content.substring(0, 300) + '...' : r.content;
405
404
  content += ` Content: ${preview}\n`;
406
405
  }
407
406
  return content;
408
407
  })
409
- .join("\n");
408
+ .join('\n');
410
409
  return {
411
410
  content: `Recalled ${results.length} memories:\n\n${formatted}`,
412
411
  results,
413
- total: results.length,
412
+ total: results.length
414
413
  };
415
414
  }
416
415
  catch (error) {
@@ -418,7 +417,7 @@ function createPlugin(api) {
418
417
  api.logger.error(`cortex_recall failed: ${message}`);
419
418
  return { error: `Recall failed: ${message}` };
420
419
  }
421
- },
420
+ }
422
421
  });
423
422
  // cortex_add_memory
424
423
  api.registerTool({
@@ -431,13 +430,13 @@ function createPlugin(api) {
431
430
  await ensureServicesReady();
432
431
  const sessionId = input.session_id ?? defaultSessionId;
433
432
  const result = await client.addMessage(sessionId, {
434
- role: (input.role ?? "user"),
435
- content: input.content,
433
+ role: (input.role ?? 'user'),
434
+ content: input.content
436
435
  });
437
436
  return {
438
437
  content: `Memory stored successfully in session "${sessionId}".\nResult: ${result}`,
439
438
  success: true,
440
- message_uri: result,
439
+ message_uri: result
441
440
  };
442
441
  }
443
442
  catch (error) {
@@ -445,7 +444,7 @@ function createPlugin(api) {
445
444
  api.logger.error(`cortex_add_memory failed: ${message}`);
446
445
  return { error: `Failed to add memory: ${message}` };
447
446
  }
448
- },
447
+ }
449
448
  });
450
449
  // cortex_list_sessions
451
450
  api.registerTool({
@@ -457,22 +456,22 @@ function createPlugin(api) {
457
456
  await ensureServicesReady();
458
457
  const sessions = await client.listSessions();
459
458
  if (sessions.length === 0) {
460
- return { content: "No sessions found." };
459
+ return { content: 'No sessions found.' };
461
460
  }
462
461
  const formatted = sessions
463
462
  .map((s, i) => {
464
463
  const created = new Date(s.created_at).toLocaleDateString();
465
464
  return `${i + 1}. ${s.thread_id} (${s.status}, ${s.message_count} messages, created ${created})`;
466
465
  })
467
- .join("\n");
466
+ .join('\n');
468
467
  return {
469
468
  content: `Found ${sessions.length} sessions:\n\n${formatted}`,
470
469
  sessions: sessions.map((s) => ({
471
470
  thread_id: s.thread_id,
472
471
  status: s.status,
473
472
  message_count: s.message_count,
474
- created_at: s.created_at,
475
- })),
473
+ created_at: s.created_at
474
+ }))
476
475
  };
477
476
  }
478
477
  catch (error) {
@@ -480,7 +479,7 @@ function createPlugin(api) {
480
479
  api.logger.error(`cortex_list_sessions failed: ${message}`);
481
480
  return { error: `Failed to list sessions: ${message}` };
482
481
  }
483
- },
482
+ }
484
483
  });
485
484
  // cortex_close_session
486
485
  api.registerTool({
@@ -499,8 +498,8 @@ function createPlugin(api) {
499
498
  session: {
500
499
  thread_id: result.thread_id,
501
500
  status: result.status,
502
- message_count: result.message_count,
503
- },
501
+ message_count: result.message_count
502
+ }
504
503
  };
505
504
  }
506
505
  catch (error) {
@@ -508,7 +507,7 @@ function createPlugin(api) {
508
507
  api.logger.error(`cortex_close_session failed: ${message}`);
509
508
  return { error: `Failed to close session: ${message}` };
510
509
  }
511
- },
510
+ }
512
511
  });
513
512
  // cortex_migrate
514
513
  api.registerTool({
@@ -525,8 +524,8 @@ function createPlugin(api) {
525
524
  // Run migration
526
525
  const result = await (0, migrate_js_1.migrateFromOpenClaw)((msg) => api.logger.info(`[migrate] ${msg}`));
527
526
  return {
528
- content: `Migration completed!\n- Daily logs migrated: ${result.dailyLogsMigrated}\n- MEMORY.md migrated: ${result.memoryMdMigrated}\n- Sessions created: ${result.sessionsCreated.length}\n${result.errors.length > 0 ? `- Errors: ${result.errors.length}` : ""}`,
529
- result,
527
+ content: `Migration completed!\n- Daily logs migrated: ${result.dailyLogsMigrated}\n- MEMORY.md migrated: ${result.memoryMdMigrated}\n- Sessions created: ${result.sessionsCreated.length}\n${result.errors.length > 0 ? `- Errors: ${result.errors.length}` : ''}`,
528
+ result
530
529
  };
531
530
  }
532
531
  catch (error) {
@@ -534,7 +533,7 @@ function createPlugin(api) {
534
533
  api.logger.error(`cortex_migrate failed: ${message}`);
535
534
  return { error: `Migration failed: ${message}` };
536
535
  }
537
- },
536
+ }
538
537
  });
539
538
  // cortex_maintenance
540
539
  api.registerTool({
@@ -544,37 +543,38 @@ function createPlugin(api) {
544
543
  execute: async (_id, params) => {
545
544
  const input = params;
546
545
  const dryRun = input.dryRun ?? false;
547
- const commands = input.commands ?? ["prune", "reindex", "ensure-all"];
546
+ const commands = input.commands ?? ['prune', 'reindex', 'ensure-all'];
548
547
  const currentConfigPath = (0, config_js_1.getConfigPath)();
549
548
  const results = [];
550
549
  for (const cmd of commands) {
551
550
  let cliArgs;
552
551
  let description;
553
552
  switch (cmd) {
554
- case "prune":
555
- cliArgs = ["vector", "prune"];
553
+ case 'prune':
554
+ cliArgs = ['vector', 'prune'];
556
555
  if (dryRun)
557
- cliArgs.push("--dry-run");
558
- description = "Vector Prune";
556
+ cliArgs.push('--dry-run');
557
+ description = 'Vector Prune';
559
558
  break;
560
- case "reindex":
561
- cliArgs = ["vector", "reindex"];
562
- description = "Vector Reindex";
559
+ case 'reindex':
560
+ cliArgs = ['vector', 'reindex'];
561
+ description = 'Vector Reindex';
563
562
  break;
564
- case "ensure-all":
565
- cliArgs = ["layers", "ensure-all"];
566
- description = "Layers Ensure-All";
563
+ case 'ensure-all':
564
+ cliArgs = ['layers', 'ensure-all'];
565
+ description = 'Layers Ensure-All';
567
566
  break;
568
567
  default:
569
568
  continue;
570
569
  }
571
570
  api.logger.info(`[maintenance] Running: ${description}`);
572
571
  try {
573
- const result = await (0, binaries_js_1.executeCliCommand)(cliArgs, currentConfigPath, tenantId, 300000);
572
+ const result = await (0, binaries_js_1.executeCliCommand)(cliArgs, currentConfigPath, tenantId, 300000 // 5 minute timeout for maintenance
573
+ );
574
574
  results.push({
575
575
  command: description,
576
576
  success: result.success,
577
- output: result.stdout || result.stderr,
577
+ output: result.stdout || result.stderr
578
578
  });
579
579
  if (!result.success) {
580
580
  api.logger.warn(`[maintenance] ${description} failed: ${result.stderr}`);
@@ -585,28 +585,26 @@ function createPlugin(api) {
585
585
  results.push({
586
586
  command: description,
587
587
  success: false,
588
- output: message,
588
+ output: message
589
589
  });
590
590
  api.logger.error(`[maintenance] ${description} error: ${message}`);
591
591
  }
592
592
  }
593
- const summary = results
594
- .map((r) => `${r.command}: ${r.success ? "OK" : "FAILED"}`)
595
- .join("\n");
593
+ const summary = results.map((r) => `${r.command}: ${r.success ? 'OK' : 'FAILED'}`).join('\n');
596
594
  const successCount = results.filter((r) => r.success).length;
597
595
  return {
598
- content: `Maintenance ${dryRun ? "(dry run) " : ""}completed:\n${summary}\n\n${successCount}/${results.length} commands succeeded.`,
596
+ content: `Maintenance ${dryRun ? '(dry run) ' : ''}completed:\n${summary}\n\n${successCount}/${results.length} commands succeeded.`,
599
597
  dryRun,
600
598
  results,
601
- success: successCount === results.length,
599
+ success: successCount === results.length
602
600
  };
603
- },
601
+ }
604
602
  });
605
- log("MemClaw plugin initialized");
603
+ log('MemClaw plugin initialized');
606
604
  return {
607
- id: "memclaw",
608
- name: "MemClaw",
609
- version: "0.1.0",
605
+ id: 'memclaw',
606
+ name: 'MemClaw',
607
+ version: '0.1.0'
610
608
  };
611
609
  }
612
610
  //# sourceMappingURL=plugin-impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-impl.js","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-impl.js","sourceRoot":"","sources":["../plugin-impl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"binaries.d.ts","sourceRoot":"","sources":["../../src/binaries.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,KAAK,iBAAiB,GAAG,cAAc,GAAG,SAAS,CAAC;AAGpD,wBAAgB,WAAW,IAAI,iBAAiB,GAAG,IAAI,CAWtD;AAGD,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAGD,wBAAgB,6BAA6B,IAAI,MAAM,CAWtD;AA0BD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe3D;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAGD,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAGD,wBAAgB,sBAAsB,IAAI,MAAM,CAgB/C;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,CAKjE;AA2BD,wBAAsB,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE5E;AAED,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF;AAED,wBAAgB,eAAe,IAAI,IAAI,CAUtC;AAED,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAwB3F;AAGD,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAE1C;AAGD,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAe,GACtB,OAAO,CAAC,SAAS,CAAC,CA+DpB"}
1
+ {"version":3,"file":"binaries.d.ts","sourceRoot":"","sources":["../../src/binaries.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,KAAK,iBAAiB,GAAG,cAAc,GAAG,SAAS,CAAC;AAGpD,wBAAgB,WAAW,IAAI,iBAAiB,GAAG,IAAI,CAWtD;AAGD,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAGD,wBAAgB,6BAA6B,IAAI,MAAM,CAWtD;AA0BD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe3D;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAGD,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAGD,wBAAgB,sBAAsB,IAAI,MAAM,CAgB/C;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,CAKjE;AAsCD,wBAAsB,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F5E;AAED,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEtF;AAED,wBAAgB,eAAe,IAAI,IAAI,CAUtC;AAED,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAwB3F;AAGD,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAE1C;AAGD,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAe,GACtB,OAAO,CAAC,SAAS,CAAC,CA+DpB"}
@@ -145,33 +145,44 @@ Or reinstall memclaw: npm install memclaw
145
145
  `;
146
146
  }
147
147
  async function checkServiceStatus() {
148
- const qdrant = await isPortOpen(6333);
149
- const cortexMemService = await isPortOpen(8085);
148
+ const qdrant = await isQdrantRunning();
149
+ const cortexMemService = await isServiceRunning(8085);
150
150
  return { qdrant, cortexMemService };
151
151
  }
152
- async function isPortOpen(port) {
152
+ async function isQdrantRunning() {
153
+ // Qdrant uses root path or /collections for health check
153
154
  try {
154
- const response = await fetch(`http://localhost:${port}/health`, {
155
+ const response = await fetch(`http://localhost:6333/collections`, {
155
156
  method: 'GET',
156
157
  signal: AbortSignal.timeout(2000)
157
158
  });
158
- return response.ok;
159
+ return response.ok || response.status === 200;
159
160
  }
160
161
  catch {
161
- // Try alternate endpoints for Qdrant
162
+ // Try root path as fallback
162
163
  try {
163
- if (port === 6333 || port === 6334) {
164
- const response = await fetch(`http://localhost:${port}`, {
165
- method: 'GET',
166
- signal: AbortSignal.timeout(2000)
167
- });
168
- return response.ok;
169
- }
164
+ const response = await fetch(`http://localhost:6333`, {
165
+ method: 'GET',
166
+ signal: AbortSignal.timeout(2000)
167
+ });
168
+ return response.status === 200;
170
169
  }
171
170
  catch { }
172
171
  return false;
173
172
  }
174
173
  }
174
+ async function isServiceRunning(port) {
175
+ try {
176
+ const response = await fetch(`http://localhost:${port}/health`, {
177
+ method: 'GET',
178
+ signal: AbortSignal.timeout(2000)
179
+ });
180
+ return response.ok;
181
+ }
182
+ catch {
183
+ return false;
184
+ }
185
+ }
175
186
  // Running processes
176
187
  const runningProcesses = new Map();
177
188
  async function startQdrant(log) {
@@ -184,16 +195,40 @@ async function startQdrant(log) {
184
195
  if (!binaryPath) {
185
196
  throw new Error(`Qdrant binary not found. ${getInstallInstructions()}`);
186
197
  }
198
+ // Ensure binary has execute permission
199
+ try {
200
+ fs.chmodSync(binaryPath, 0o755);
201
+ }
202
+ catch (err) {
203
+ log?.(`Warning: Could not set execute permission on binary: ${err}`);
204
+ }
187
205
  const dataDir = (0, config_js_1.getDataDir)();
188
206
  const storagePath = path.join(dataDir, 'qdrant-storage');
189
207
  if (!fs.existsSync(storagePath)) {
190
208
  fs.mkdirSync(storagePath, { recursive: true });
191
209
  }
210
+ // Generate Qdrant config file
211
+ const qdrantConfigPath = path.join(dataDir, 'qdrant-config.yaml');
212
+ const qdrantConfig = `# Qdrant configuration for MemClaw
213
+ storage:
214
+ storage_path: ${storagePath}
215
+
216
+ listeners:
217
+ http:
218
+ port: 6333
219
+ grpc:
220
+ port: 6334
221
+
222
+ log_level: INFO
223
+ `;
224
+ fs.writeFileSync(qdrantConfigPath, qdrantConfig, 'utf-8');
192
225
  log?.(`Starting Qdrant with storage at ${storagePath}...`);
193
226
  log?.(`Binary path: ${binaryPath}`);
194
- const proc = (0, child_process_1.spawn)(binaryPath, ['--storage-path', storagePath, '--http-port', '6333', '--grpc-port', '6334'], {
227
+ log?.(`Config path: ${qdrantConfigPath}`);
228
+ const proc = (0, child_process_1.spawn)(binaryPath, ['--config-path', qdrantConfigPath], {
195
229
  stdio: ['ignore', 'pipe', 'pipe'],
196
- detached: true
230
+ detached: true,
231
+ cwd: dataDir // Set working directory to data dir so Qdrant can write .qdrant-initialized
197
232
  });
198
233
  // Drain stdout/stderr to prevent buffer blocking
199
234
  proc.stdout?.on('data', (data) => {
@@ -238,6 +273,13 @@ async function startCortexMemService(log) {
238
273
  if (!binaryPath) {
239
274
  throw new Error(`cortex-mem-service binary not found. ${getInstallInstructions()}`);
240
275
  }
276
+ // Ensure binary has execute permission
277
+ try {
278
+ fs.chmodSync(binaryPath, 0o755);
279
+ }
280
+ catch (err) {
281
+ log?.(`Warning: Could not set execute permission on binary: ${err}`);
282
+ }
241
283
  const dataDir = (0, config_js_1.getDataDir)();
242
284
  log?.(`Starting cortex-mem-service with data-dir ${dataDir}...`);
243
285
  log?.(`Binary path: ${binaryPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"binaries.js","sourceRoot":"","sources":["../../src/binaries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binaries.js","sourceRoot":"","sources":["../../src/binaries.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "memclaw",
3
3
  "name": "MemClaw",
4
- "version": "0.9.10",
4
+ "version": "0.9.11",
5
5
  "description": "Layered semantic memory for OpenClaw with L0/L1/L2 tiered retrieval, easy setup, and migration from native memory",
6
6
  "kind": "memory",
7
7
  "skills": ["skill"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memclaw/memclaw",
3
- "version": "0.9.10",
3
+ "version": "0.9.11",
4
4
  "description": "MemClaw - The Cortex Memory plugin for OpenClaw. Layered semantic memory for OpenClaw with easy setup and migration",
5
5
  "homepage": "https://github.com/sopaco/cortex-mem",
6
6
  "repository": {
@@ -1,42 +1,81 @@
1
1
  # Maintenance Guide
2
2
 
3
- MemClaw automatically maintains data health through scheduled tasks and provides tools for manual intervention when needed.
3
+ Periodic maintenance commands for MemClaw data health.
4
4
 
5
- ## Automatic Maintenance
5
+ ## CLI Tool Location
6
6
 
7
- **The plugin automatically registers a Cron Job that runs every 3 hours**, executing:
7
+ The `cortex-mem-cli` tool is installed with the platform-specific binary package:
8
8
 
9
- | Command | Purpose |
10
- |---------|---------|
11
- | `vector prune` | Remove vectors whose source files no longer exist |
12
- | `vector reindex` | Rebuild vector index and remove stale entries |
13
- | `layers ensure-all` | Generate missing L0/L1 layer files |
9
+ | Platform | CLI Path |
10
+ |----------|----------|
11
+ | macOS | `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli` |
12
+ | Windows | `{claw-data-dir}\extensions\memclaw\node_modules\@memclaw\bin-win-x64\bin\cortex-mem-cli.exe` |
14
13
 
15
- No manual setup required. The job is registered when the plugin starts.
14
+ > **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. Use your actual Claw data directory for custom versions.
16
15
 
17
- ## Manual Maintenance Tool
16
+ ## Maintenance Commands
18
17
 
19
- Use `cortex_maintenance` tool to run maintenance on demand:
18
+ All commands require `--config` and `--tenant` parameters:
20
19
 
21
- ```json
22
- // Full maintenance
23
- { "dryRun": false }
20
+ ```bash
21
+ cortex-mem-cli --config <config-path> --tenant tenant_claw <command>
22
+ ```
24
23
 
25
- // Preview changes without executing
26
- { "dryRun": true }
24
+ Config file location:
25
+ - macOS: `~/Library/Application Support/memclaw/config.toml`
26
+ - Windows: `%LOCALAPPDATA%\memclaw\config.toml`
27
+
28
+ ### Vector Maintenance
29
+
30
+ ```bash
31
+ # Remove dangling vectors (source files no longer exist)
32
+ cortex-mem-cli --config config.toml --tenant tenant_claw vector prune
33
+
34
+ # Preview without making changes
35
+ cortex-mem-cli --config config.toml --tenant tenant_claw vector prune --dry-run
36
+
37
+ # Rebuild vector index
38
+ cortex-mem-cli --config config.toml --tenant tenant_claw vector reindex
39
+ ```
40
+
41
+ ### Layer Maintenance
42
+
43
+ ```bash
44
+ # Generate missing L0/L1 layer files
45
+ cortex-mem-cli --config config.toml --tenant tenant_claw layers ensure-all
27
46
 
28
- // Run specific commands only
29
- { "commands": ["prune", "reindex"] }
47
+ # Regenerate oversized abstracts
48
+ cortex-mem-cli --config config.toml --tenant tenant_claw layers regenerate-oversized
30
49
  ```
31
50
 
32
- **When to run manually:**
33
- - Search results seem incomplete or stale
34
- - After recovering from a crash or data corruption
35
- - When disk space cleanup is needed
51
+ ## Scheduled Maintenance
52
+
53
+ **You can set up a scheduled task in OpenClaw to run maintenance automatically:**
54
+
55
+ ### Option 1: OpenClaw Cron Job
56
+
57
+ Create a Cron Job in OpenClaw that runs every 3 hours:
58
+
59
+ 1. **Schedule**: `0 */3 * * *`
60
+ 2. **Task**: Execute maintenance commands using the CLI tool
61
+ 3. **Commands**:
62
+ ```
63
+ cortex-mem-cli --config <config-path> --tenant tenant_claw vector prune
64
+ cortex-mem-cli --config <config-path> --tenant tenant_claw vector reindex
65
+ cortex-mem-cli --config <config-path> --tenant tenant_claw layers ensure-all
66
+ ```
67
+
68
+ ### Option 2: Manual Tool Invocation
69
+
70
+ Use the `cortex_maintenance` tool for on-demand maintenance:
71
+
72
+ ```json
73
+ { "dryRun": false }
74
+ ```
36
75
 
37
76
  ## Diagnostic Commands
38
77
 
39
- ### Check System Health
78
+ ### Check System Status
40
79
 
41
80
  ```bash
42
81
  cortex-mem-cli --config config.toml --tenant tenant_claw stats
@@ -48,16 +87,12 @@ cortex-mem-cli --config config.toml --tenant tenant_claw stats
48
87
  cortex-mem-cli --config config.toml --tenant tenant_claw layers status
49
88
  ```
50
89
 
51
- Shows how many directories have L0/L1 layers vs missing.
52
-
53
- ### Check Vector Index Status
90
+ ### Check Vector Status
54
91
 
55
92
  ```bash
56
93
  cortex-mem-cli --config config.toml --tenant tenant_claw vector status
57
94
  ```
58
95
 
59
- Shows total vectors and stale entries.
60
-
61
96
  ## Quick Fix Flow
62
97
 
63
98
  1. **Search not working well?** → Check `layers status` and `vector status`
@@ -69,7 +104,7 @@ Shows total vectors and stale entries.
69
104
 
70
105
  | Issue | Solution |
71
106
  |-------|----------|
72
- | CLI not found | Ensure `@memclaw/bin-{platform}` is installed |
107
+ | CLI not found | Check the binary path in `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-{platform}/bin/` |
73
108
  | Connection refused | Check cortex-mem-service at `localhost:8085` |
74
109
  | Qdrant issues | Verify Qdrant at `localhost:6333` |
75
110
  | Layer generation fails | Check LLM API key in config.toml |