@memclaw/memclaw 0.9.9 → 0.9.10
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 +23 -23
- package/dist/index.js.map +1 -1
- package/dist/src/binaries.d.ts.map +1 -1
- package/dist/src/binaries.js +32 -0
- package/dist/src/binaries.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +70 -66
- package/dist/src/config.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +21 -3
- package/skill/references/setup.md +29 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* MemClaw - Layered Semantic Memory for OpenClaw
|
|
4
4
|
*
|
|
@@ -26,33 +26,33 @@
|
|
|
26
26
|
* }
|
|
27
27
|
* }
|
|
28
28
|
*/
|
|
29
|
-
Object.defineProperty(exports,
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.plugin = void 0;
|
|
31
31
|
exports.default = memclawPlugin;
|
|
32
|
-
const plugin_impl_js_1 = require(
|
|
32
|
+
const plugin_impl_js_1 = require("./plugin-impl.js");
|
|
33
33
|
// Default export - main plugin function
|
|
34
34
|
function memclawPlugin(api) {
|
|
35
|
-
|
|
35
|
+
return (0, plugin_impl_js_1.createPlugin)(api);
|
|
36
36
|
}
|
|
37
37
|
// Named export - object style registration
|
|
38
38
|
exports.plugin = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
39
|
+
id: 'memclaw',
|
|
40
|
+
name: 'MemClaw',
|
|
41
|
+
version: '0.9.10',
|
|
42
|
+
configSchema: {
|
|
43
|
+
type: 'object',
|
|
44
|
+
properties: {
|
|
45
|
+
serviceUrl: { type: 'string', default: 'http://localhost:8085' },
|
|
46
|
+
defaultSessionId: { type: 'string', default: 'default' },
|
|
47
|
+
searchLimit: { type: 'integer', default: 10 },
|
|
48
|
+
minScore: { type: 'number', default: 0.6 },
|
|
49
|
+
tenantId: { type: 'string', default: 'tenant_claw' },
|
|
50
|
+
autoStartServices: { type: 'boolean', default: true }
|
|
51
|
+
},
|
|
52
|
+
required: []
|
|
53
|
+
},
|
|
54
|
+
register(api) {
|
|
55
|
+
return (0, plugin_impl_js_1.createPlugin)(api);
|
|
56
|
+
}
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=index.js.map
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAoCH,gCAEC;AApCD,qDAAgD;AAiChD,wCAAwC;AACxC,SAAwB,aAAa,CAAC,GAAc;IACnD,OAAO,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,2CAA2C;AAC9B,QAAA,MAAM,GAAG;IACrB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAoCH,gCAEC;AApCD,qDAAgD;AAiChD,wCAAwC;AACxC,SAAwB,aAAa,CAAC,GAAc;IACnD,OAAO,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,2CAA2C;AAC9B,QAAA,MAAM,GAAG;IACrB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,YAAY,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;YAChE,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;YACxD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;SACrD;QACD,QAAQ,EAAE,EAAE;KACZ;IACD,QAAQ,CAAC,GAAc;QACtB,OAAO,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD,CAAC"}
|
|
@@ -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,
|
|
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"}
|
package/dist/src/binaries.js
CHANGED
|
@@ -190,13 +190,29 @@ async function startQdrant(log) {
|
|
|
190
190
|
fs.mkdirSync(storagePath, { recursive: true });
|
|
191
191
|
}
|
|
192
192
|
log?.(`Starting Qdrant with storage at ${storagePath}...`);
|
|
193
|
+
log?.(`Binary path: ${binaryPath}`);
|
|
193
194
|
const proc = (0, child_process_1.spawn)(binaryPath, ['--storage-path', storagePath, '--http-port', '6333', '--grpc-port', '6334'], {
|
|
194
195
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
195
196
|
detached: true
|
|
196
197
|
});
|
|
198
|
+
// Drain stdout/stderr to prevent buffer blocking
|
|
199
|
+
proc.stdout?.on('data', (data) => {
|
|
200
|
+
log?.(`[qdrant stdout] ${data.toString().trim()}`);
|
|
201
|
+
});
|
|
202
|
+
proc.stderr?.on('data', (data) => {
|
|
203
|
+
log?.(`[qdrant stderr] ${data.toString().trim()}`);
|
|
204
|
+
});
|
|
197
205
|
proc.on('error', (err) => {
|
|
198
206
|
log?.(`Qdrant error: ${err.message}`);
|
|
199
207
|
});
|
|
208
|
+
proc.on('exit', (code, signal) => {
|
|
209
|
+
if (code !== null && code !== 0) {
|
|
210
|
+
log?.(`Qdrant exited with code ${code}`);
|
|
211
|
+
}
|
|
212
|
+
if (signal) {
|
|
213
|
+
log?.(`Qdrant killed by signal ${signal}`);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
200
216
|
proc.unref();
|
|
201
217
|
runningProcesses.set('qdrant', proc);
|
|
202
218
|
// Wait for Qdrant to start
|
|
@@ -224,14 +240,30 @@ async function startCortexMemService(log) {
|
|
|
224
240
|
}
|
|
225
241
|
const dataDir = (0, config_js_1.getDataDir)();
|
|
226
242
|
log?.(`Starting cortex-mem-service with data-dir ${dataDir}...`);
|
|
243
|
+
log?.(`Binary path: ${binaryPath}`);
|
|
227
244
|
// cortex-mem-service automatically reads config.toml from --data-dir
|
|
228
245
|
const proc = (0, child_process_1.spawn)(binaryPath, ['--data-dir', dataDir], {
|
|
229
246
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
230
247
|
detached: true
|
|
231
248
|
});
|
|
249
|
+
// Drain stdout/stderr to prevent buffer blocking
|
|
250
|
+
proc.stdout?.on('data', (data) => {
|
|
251
|
+
log?.(`[cortex-mem-service stdout] ${data.toString().trim()}`);
|
|
252
|
+
});
|
|
253
|
+
proc.stderr?.on('data', (data) => {
|
|
254
|
+
log?.(`[cortex-mem-service stderr] ${data.toString().trim()}`);
|
|
255
|
+
});
|
|
232
256
|
proc.on('error', (err) => {
|
|
233
257
|
log?.(`cortex-mem-service error: ${err.message}`);
|
|
234
258
|
});
|
|
259
|
+
proc.on('exit', (code, signal) => {
|
|
260
|
+
if (code !== null && code !== 0) {
|
|
261
|
+
log?.(`cortex-mem-service exited with code ${code}`);
|
|
262
|
+
}
|
|
263
|
+
if (signal) {
|
|
264
|
+
log?.(`cortex-mem-service killed by signal ${signal}`);
|
|
265
|
+
}
|
|
266
|
+
});
|
|
235
267
|
proc.unref();
|
|
236
268
|
runningProcesses.set('cortex-mem-service', proc);
|
|
237
269
|
// Wait for service to start
|
package/dist/src/binaries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binaries.js","sourceRoot":"","sources":["../../src/binaries.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcH,kCAWC;AAGD,kDAEC;AAGD,sEAWC;AA0BD,sCAeC;AAGD,8CAEC;AAGD,gEAEC;AAGD,wDAgBC;AAOD,gDAKC;AA2BD,
|
|
1
|
+
{"version":3,"file":"binaries.js","sourceRoot":"","sources":["../../src/binaries.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,UAAU,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACP,sBAAsB,EAAE,OAAO,CAAC;KAChC,CAAC;CACF;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CA2C/C;AAED,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAevE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhE;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAkF7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB,CAoBA;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb,CAgFA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,oBAAoB,GAChC,aAAa,CAgBf"}
|
package/dist/src/config.js
CHANGED
|
@@ -55,18 +55,18 @@ const child_process_1 = require("child_process");
|
|
|
55
55
|
// Platform-specific paths
|
|
56
56
|
function getDataDir() {
|
|
57
57
|
const platform = process.platform;
|
|
58
|
-
if (platform ===
|
|
59
|
-
return path.join(process.env.LOCALAPPDATA || path.join(os.homedir(),
|
|
58
|
+
if (platform === 'win32') {
|
|
59
|
+
return path.join(process.env.LOCALAPPDATA || path.join(os.homedir(), 'AppData', 'Local'), 'memclaw');
|
|
60
60
|
}
|
|
61
|
-
else if (platform ===
|
|
62
|
-
return path.join(os.homedir(),
|
|
61
|
+
else if (platform === 'darwin') {
|
|
62
|
+
return path.join(os.homedir(), 'Library', 'Application Support', 'memclaw');
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
|
-
return path.join(os.homedir(),
|
|
65
|
+
return path.join(os.homedir(), '.local', 'share', 'memclaw');
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
function getConfigPath() {
|
|
69
|
-
return path.join(getDataDir(),
|
|
69
|
+
return path.join(getDataDir(), 'config.toml');
|
|
70
70
|
}
|
|
71
71
|
function generateConfigTemplate() {
|
|
72
72
|
return `# MemClaw Configuration
|
|
@@ -86,7 +86,7 @@ api_base_url = "https://api.openai.com/v1"
|
|
|
86
86
|
api_key = ""
|
|
87
87
|
model_efficient = "gpt-5-mini"
|
|
88
88
|
temperature = 0.1
|
|
89
|
-
max_tokens =
|
|
89
|
+
max_tokens = 65536
|
|
90
90
|
|
|
91
91
|
# Embedding Configuration [REQUIRED for vector search]
|
|
92
92
|
[embedding]
|
|
@@ -120,7 +120,7 @@ function ensureConfigExists() {
|
|
|
120
120
|
}
|
|
121
121
|
if (!fs.existsSync(configPath)) {
|
|
122
122
|
const template = generateConfigTemplate();
|
|
123
|
-
fs.writeFileSync(configPath, template,
|
|
123
|
+
fs.writeFileSync(configPath, template, 'utf-8');
|
|
124
124
|
return { created: true, path: configPath };
|
|
125
125
|
}
|
|
126
126
|
return { created: false, path: configPath };
|
|
@@ -130,20 +130,20 @@ function openConfigFile(configPath) {
|
|
|
130
130
|
const platform = process.platform;
|
|
131
131
|
let command;
|
|
132
132
|
let args = [];
|
|
133
|
-
if (platform ===
|
|
134
|
-
command =
|
|
135
|
-
args = [
|
|
133
|
+
if (platform === 'win32') {
|
|
134
|
+
command = 'cmd';
|
|
135
|
+
args = ['/c', 'start', '""', configPath];
|
|
136
136
|
}
|
|
137
|
-
else if (platform ===
|
|
138
|
-
command =
|
|
137
|
+
else if (platform === 'darwin') {
|
|
138
|
+
command = 'open';
|
|
139
139
|
args = [configPath];
|
|
140
140
|
}
|
|
141
141
|
else {
|
|
142
|
-
command =
|
|
142
|
+
command = 'xdg-open';
|
|
143
143
|
args = [configPath];
|
|
144
144
|
}
|
|
145
|
-
const proc = (0, child_process_1.spawn)(command, args, { detached: true, stdio:
|
|
146
|
-
proc.on(
|
|
145
|
+
const proc = (0, child_process_1.spawn)(command, args, { detached: true, stdio: 'ignore' });
|
|
146
|
+
proc.on('error', (err) => {
|
|
147
147
|
reject(err);
|
|
148
148
|
});
|
|
149
149
|
proc.unref();
|
|
@@ -151,13 +151,13 @@ function openConfigFile(configPath) {
|
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
function parseConfig(configPath) {
|
|
154
|
-
const content = fs.readFileSync(configPath,
|
|
154
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
155
155
|
const config = {};
|
|
156
|
-
let currentSection =
|
|
157
|
-
for (const line of content.split(
|
|
156
|
+
let currentSection = '';
|
|
157
|
+
for (const line of content.split('\n')) {
|
|
158
158
|
const trimmed = line.trim();
|
|
159
159
|
// Skip comments and empty lines
|
|
160
|
-
if (trimmed.startsWith(
|
|
160
|
+
if (trimmed.startsWith('#') || trimmed === '')
|
|
161
161
|
continue;
|
|
162
162
|
// Section header
|
|
163
163
|
const sectionMatch = trimmed.match(/^\[(\w+)\]$/);
|
|
@@ -174,9 +174,9 @@ function parseConfig(configPath) {
|
|
|
174
174
|
const key = kvMatch[1];
|
|
175
175
|
let value = kvMatch[2];
|
|
176
176
|
// Convert to appropriate type
|
|
177
|
-
if (value ===
|
|
177
|
+
if (value === 'true')
|
|
178
178
|
value = true;
|
|
179
|
-
else if (value ===
|
|
179
|
+
else if (value === 'false')
|
|
180
180
|
value = false;
|
|
181
181
|
else if (/^\d+$/.test(value))
|
|
182
182
|
value = parseInt(value, 10);
|
|
@@ -189,61 +189,61 @@ function parseConfig(configPath) {
|
|
|
189
189
|
// Apply defaults
|
|
190
190
|
return {
|
|
191
191
|
qdrant: {
|
|
192
|
-
url:
|
|
193
|
-
collection_name:
|
|
192
|
+
url: 'http://localhost:6334',
|
|
193
|
+
collection_name: 'memclaw',
|
|
194
194
|
timeout_secs: 30,
|
|
195
|
-
...(config.qdrant || {})
|
|
195
|
+
...(config.qdrant || {})
|
|
196
196
|
},
|
|
197
197
|
llm: {
|
|
198
|
-
api_base_url:
|
|
199
|
-
api_key:
|
|
200
|
-
model_efficient:
|
|
198
|
+
api_base_url: 'https://api.openai.com/v1',
|
|
199
|
+
api_key: '',
|
|
200
|
+
model_efficient: 'gpt-5-mini',
|
|
201
201
|
temperature: 0.1,
|
|
202
202
|
max_tokens: 4096,
|
|
203
|
-
...(config.llm || {})
|
|
203
|
+
...(config.llm || {})
|
|
204
204
|
},
|
|
205
205
|
embedding: {
|
|
206
|
-
api_base_url:
|
|
207
|
-
api_key:
|
|
208
|
-
model_name:
|
|
206
|
+
api_base_url: 'https://api.openai.com/v1',
|
|
207
|
+
api_key: '',
|
|
208
|
+
model_name: 'text-embedding-3-small',
|
|
209
209
|
batch_size: 10,
|
|
210
210
|
timeout_secs: 30,
|
|
211
|
-
...(config.embedding || {})
|
|
211
|
+
...(config.embedding || {})
|
|
212
212
|
},
|
|
213
213
|
server: {
|
|
214
|
-
host:
|
|
214
|
+
host: 'localhost',
|
|
215
215
|
port: 8085,
|
|
216
|
-
...(config.server || {})
|
|
216
|
+
...(config.server || {})
|
|
217
217
|
},
|
|
218
218
|
logging: {
|
|
219
219
|
enabled: false,
|
|
220
|
-
log_directory:
|
|
221
|
-
level:
|
|
222
|
-
...(config.logging || {})
|
|
220
|
+
log_directory: 'logs',
|
|
221
|
+
level: 'info',
|
|
222
|
+
...(config.logging || {})
|
|
223
223
|
},
|
|
224
224
|
cortex: {
|
|
225
225
|
enable_intent_analysis: false,
|
|
226
|
-
...(config.cortex || {})
|
|
227
|
-
}
|
|
226
|
+
...(config.cortex || {})
|
|
227
|
+
}
|
|
228
228
|
};
|
|
229
229
|
}
|
|
230
230
|
function validateConfig(config) {
|
|
231
231
|
const errors = [];
|
|
232
|
-
if (!config.llm.api_key || config.llm.api_key ===
|
|
233
|
-
errors.push(
|
|
232
|
+
if (!config.llm.api_key || config.llm.api_key === '') {
|
|
233
|
+
errors.push('llm.api_key is required');
|
|
234
234
|
}
|
|
235
|
-
if (!config.embedding.api_key || config.embedding.api_key ===
|
|
235
|
+
if (!config.embedding.api_key || config.embedding.api_key === '') {
|
|
236
236
|
// Allow using llm.api_key for embedding if not specified
|
|
237
|
-
if (config.llm.api_key && config.llm.api_key !==
|
|
237
|
+
if (config.llm.api_key && config.llm.api_key !== '') {
|
|
238
238
|
config.embedding.api_key = config.llm.api_key;
|
|
239
239
|
}
|
|
240
240
|
else {
|
|
241
|
-
errors.push(
|
|
241
|
+
errors.push('embedding.api_key is required');
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
return {
|
|
245
245
|
valid: errors.length === 0,
|
|
246
|
-
errors
|
|
246
|
+
errors
|
|
247
247
|
};
|
|
248
248
|
}
|
|
249
249
|
/**
|
|
@@ -261,43 +261,47 @@ function updateConfigFromPlugin(pluginConfig) {
|
|
|
261
261
|
// Build updated config sections
|
|
262
262
|
const updates = [];
|
|
263
263
|
// LLM config updates
|
|
264
|
-
if (pluginConfig.llmApiKey && pluginConfig.llmApiKey !==
|
|
265
|
-
updates.push({ section:
|
|
264
|
+
if (pluginConfig.llmApiKey && pluginConfig.llmApiKey !== '') {
|
|
265
|
+
updates.push({ section: 'llm', key: 'api_key', value: pluginConfig.llmApiKey });
|
|
266
266
|
updated = true;
|
|
267
267
|
}
|
|
268
|
-
if (pluginConfig.llmApiBaseUrl && pluginConfig.llmApiBaseUrl !==
|
|
269
|
-
updates.push({ section:
|
|
268
|
+
if (pluginConfig.llmApiBaseUrl && pluginConfig.llmApiBaseUrl !== '') {
|
|
269
|
+
updates.push({ section: 'llm', key: 'api_base_url', value: pluginConfig.llmApiBaseUrl });
|
|
270
270
|
updated = true;
|
|
271
271
|
}
|
|
272
|
-
if (pluginConfig.llmModel && pluginConfig.llmModel !==
|
|
273
|
-
updates.push({ section:
|
|
272
|
+
if (pluginConfig.llmModel && pluginConfig.llmModel !== '') {
|
|
273
|
+
updates.push({ section: 'llm', key: 'model_efficient', value: pluginConfig.llmModel });
|
|
274
274
|
updated = true;
|
|
275
275
|
}
|
|
276
276
|
// Embedding config updates
|
|
277
|
-
if (pluginConfig.embeddingApiKey && pluginConfig.embeddingApiKey !==
|
|
278
|
-
updates.push({ section:
|
|
277
|
+
if (pluginConfig.embeddingApiKey && pluginConfig.embeddingApiKey !== '') {
|
|
278
|
+
updates.push({ section: 'embedding', key: 'api_key', value: pluginConfig.embeddingApiKey });
|
|
279
279
|
updated = true;
|
|
280
280
|
}
|
|
281
|
-
if (pluginConfig.embeddingApiBaseUrl && pluginConfig.embeddingApiBaseUrl !==
|
|
282
|
-
updates.push({
|
|
281
|
+
if (pluginConfig.embeddingApiBaseUrl && pluginConfig.embeddingApiBaseUrl !== '') {
|
|
282
|
+
updates.push({
|
|
283
|
+
section: 'embedding',
|
|
284
|
+
key: 'api_base_url',
|
|
285
|
+
value: pluginConfig.embeddingApiBaseUrl
|
|
286
|
+
});
|
|
283
287
|
updated = true;
|
|
284
288
|
}
|
|
285
|
-
if (pluginConfig.embeddingModel && pluginConfig.embeddingModel !==
|
|
286
|
-
updates.push({ section:
|
|
289
|
+
if (pluginConfig.embeddingModel && pluginConfig.embeddingModel !== '') {
|
|
290
|
+
updates.push({ section: 'embedding', key: 'model_name', value: pluginConfig.embeddingModel });
|
|
287
291
|
updated = true;
|
|
288
292
|
}
|
|
289
293
|
if (!updated) {
|
|
290
294
|
return { updated: false, path: configPath };
|
|
291
295
|
}
|
|
292
296
|
// Read current content
|
|
293
|
-
let content = fs.readFileSync(configPath,
|
|
297
|
+
let content = fs.readFileSync(configPath, 'utf-8');
|
|
294
298
|
// Apply each update
|
|
295
299
|
for (const { section, key, value } of updates) {
|
|
296
300
|
// Escape value for TOML string
|
|
297
|
-
const escapedValue = value.replace(/\\/g,
|
|
301
|
+
const escapedValue = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
298
302
|
// Pattern to match the key in the correct section
|
|
299
303
|
// This handles both existing keys and missing keys
|
|
300
|
-
const sectionPattern = new RegExp(`(\\[${section}\\][^\\[]*?)(${key}\\s*=\\s*)"[^"]*"`,
|
|
304
|
+
const sectionPattern = new RegExp(`(\\[${section}\\][^\\[]*?)(${key}\\s*=\\s*)"[^"]*"`, 's');
|
|
301
305
|
const keyExistsInSection = sectionPattern.test(content);
|
|
302
306
|
if (keyExistsInSection) {
|
|
303
307
|
// Update existing key
|
|
@@ -305,14 +309,14 @@ function updateConfigFromPlugin(pluginConfig) {
|
|
|
305
309
|
}
|
|
306
310
|
else {
|
|
307
311
|
// Add key to section
|
|
308
|
-
const sectionStartPattern = new RegExp(`(\\[${section}\\]\\n)`,
|
|
312
|
+
const sectionStartPattern = new RegExp(`(\\[${section}\\]\\n)`, '');
|
|
309
313
|
if (sectionStartPattern.test(content)) {
|
|
310
314
|
content = content.replace(sectionStartPattern, `$1${key} = "${escapedValue}"\n`);
|
|
311
315
|
}
|
|
312
316
|
}
|
|
313
317
|
}
|
|
314
318
|
// Write updated content
|
|
315
|
-
fs.writeFileSync(configPath, content,
|
|
319
|
+
fs.writeFileSync(configPath, content, 'utf-8');
|
|
316
320
|
return { updated: true, path: configPath };
|
|
317
321
|
}
|
|
318
322
|
/**
|
|
@@ -325,14 +329,14 @@ function mergeConfigWithPlugin(fileConfig, pluginConfig) {
|
|
|
325
329
|
...fileConfig.llm,
|
|
326
330
|
api_base_url: pluginConfig.llmApiBaseUrl || fileConfig.llm.api_base_url,
|
|
327
331
|
api_key: pluginConfig.llmApiKey || fileConfig.llm.api_key,
|
|
328
|
-
model_efficient: pluginConfig.llmModel || fileConfig.llm.model_efficient
|
|
332
|
+
model_efficient: pluginConfig.llmModel || fileConfig.llm.model_efficient
|
|
329
333
|
},
|
|
330
334
|
embedding: {
|
|
331
335
|
...fileConfig.embedding,
|
|
332
336
|
api_base_url: pluginConfig.embeddingApiBaseUrl || fileConfig.embedding.api_base_url,
|
|
333
337
|
api_key: pluginConfig.embeddingApiKey || fileConfig.embedding.api_key,
|
|
334
|
-
model_name: pluginConfig.embeddingModel || fileConfig.embedding.model_name
|
|
335
|
-
}
|
|
338
|
+
model_name: pluginConfig.embeddingModel || fileConfig.embedding.model_name
|
|
339
|
+
}
|
|
336
340
|
};
|
|
337
341
|
}
|
|
338
342
|
//# sourceMappingURL=config.js.map
|
package/dist/src/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQH,gCAaC;AAED,sCAEC;AAoCD,wDA2CC;AAED,gDAeC;AAED,wCAwBC;AAED,kCAkFC;AAED,wCAuBC;AAmBD,wDAmFC;AAKD,sDAmBC;AA5XD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAsC;AAEtC,0BAA0B;AAC1B,SAAgB,UAAU;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CACf,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EACvE,SAAS,CACT,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;AACF,CAAC;AAED,SAAgB,aAAa;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC;AAoCD,SAAgB,sBAAsB;IACrC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCP,CAAC;AACF,CAAC;AAED,SAAgB,kBAAkB;IACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;QAC1C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC;AAED,SAAgB,cAAc,CAAC,UAAkB;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,OAAe,CAAC;QACpB,IAAI,IAAI,GAAa,EAAE,CAAC;QAExB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,GAAG,MAAM,CAAC;YACjB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,OAAO,GAAG,UAAU,CAAC;YACrB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,UAAkB;IAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,gCAAgC;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE;YAAE,SAAS;QAExD,iBAAiB;QACjB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,YAAY,EAAE,CAAC;YAClB,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,cAAqC,CAAC,GAAG,EAAS,CAAC;YAC1D,SAAS;QACV,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GACZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAEzD,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,KAAK,GAA8B,OAAO,CAAC,CAAC,CAAC,CAAC;YAElD,8BAA8B;YAC9B,IAAI,KAAK,KAAK,MAAM;gBAAE,KAAK,GAAG,IAAI,CAAC;iBAC9B,IAAI,KAAK,KAAK,OAAO;gBAAE,KAAK,GAAG,KAAK,CAAC;iBACrC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iBACrD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAE5D,MAAc,CAAC,cAAc,CAAC,GAAI,MAAc,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACvE,MAAc,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,iBAAiB;IAEjB,OAAO;QACN,MAAM,EAAE;YACP,GAAG,EAAE,uBAAuB;YAC5B,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,EAAE;YAChB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACxB;QACD,GAAG,EAAE;YACJ,YAAY,EAAE,2BAA2B;YACzC,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,IAAI;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;SACrB;QACD,SAAS,EAAE;YACV,YAAY,EAAE,2BAA2B;YACzC,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,wBAAwB;YACpC,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,EAAE;YAChB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SAC3B;QACD,MAAM,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;YACV,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACxB;QACD,OAAO,EAAE;YACR,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,MAAM;YACb,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACzB;QACD,MAAM,EAAE;YACP,sBAAsB,EAAE,KAAK;YAC7B,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACxB;KACD,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,MAAqB;IAInD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QAClE,yDAAyD;QACzD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACN,CAAC;AACH,CAAC;AAeD;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,YAAkC;IAIxE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,4BAA4B;IAC5B,kBAAkB,EAAE,CAAC;IAErB,wBAAwB;IACxB,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE/C,iCAAiC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,gCAAgC;IAChC,MAAM,OAAO,GAAsD,EAAE,CAAC;IAEtE,qBAAqB;IACrB,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QACzF,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,2BAA2B;IAC3B,IAAI,YAAY,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe,KAAK,EAAE,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5F,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,YAAY,CAAC,mBAAmB,IAAI,YAAY,CAAC,mBAAmB,KAAK,EAAE,EAAE,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,YAAY,CAAC,mBAAmB;SACvC,CAAC,CAAC;QACH,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,KAAK,EAAE,EAAE,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9F,OAAO,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEnD,oBAAoB;IACpB,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/C,+BAA+B;QAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEvE,kDAAkD;QAClD,mDAAmD;QACnD,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,OAAO,OAAO,gBAAgB,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAC7F,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,kBAAkB,EAAE,CAAC;YACxB,sBAAsB;YACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,YAAY,GAAG,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACP,qBAAqB;YACrB,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,OAAO,OAAO,SAAS,EAAE,EAAE,CAAC,CAAC;YACpE,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC;YAClF,CAAC;QACF,CAAC;IACF,CAAC;IAED,wBAAwB;IACxB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACpC,UAAyB,EACzB,YAAkC;IAElC,OAAO;QACN,GAAG,UAAU;QACb,GAAG,EAAE;YACJ,GAAG,UAAU,CAAC,GAAG;YACjB,YAAY,EAAE,YAAY,CAAC,aAAa,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY;YACvE,OAAO,EAAE,YAAY,CAAC,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO;YACzD,eAAe,EAAE,YAAY,CAAC,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe;SACxE;QACD,SAAS,EAAE;YACV,GAAG,UAAU,CAAC,SAAS;YACvB,YAAY,EAAE,YAAY,CAAC,mBAAmB,IAAI,UAAU,CAAC,SAAS,CAAC,YAAY;YACnF,OAAO,EAAE,YAAY,CAAC,eAAe,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO;YACrE,UAAU,EAAE,YAAY,CAAC,cAAc,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU;SAC1E;KACD,CAAC;AACH,CAAC"}
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memclaw/memclaw",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.10",
|
|
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": {
|
package/skill/SKILL.md
CHANGED
|
@@ -28,8 +28,10 @@ The search engine queries all three layers internally and returns unified result
|
|
|
28
28
|
### Step 1: Check if Plugin is Installed
|
|
29
29
|
|
|
30
30
|
Check if `@memclaw/memclaw` is in the OpenClaw plugins list:
|
|
31
|
-
- Look for `memclaw` in
|
|
32
|
-
- Or check `plugins.installs` in
|
|
31
|
+
- Look for `memclaw` in `{claw-data-dir}/extensions/`
|
|
32
|
+
- Or check `plugins.installs` in your Claw config file
|
|
33
|
+
|
|
34
|
+
> **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. Use your actual Claw data directory for custom versions.
|
|
33
35
|
|
|
34
36
|
### Step 2: Install if Missing
|
|
35
37
|
|
|
@@ -64,7 +66,23 @@ Enable MemClaw in your `openclaw.json`:
|
|
|
64
66
|
|
|
65
67
|
Restart OpenClaw to activate the plugin and start services.
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
## Binary File Locations
|
|
70
|
+
|
|
71
|
+
The platform-specific binaries (Qdrant, cortex-mem-service, cortex-mem-cli) are installed in:
|
|
72
|
+
|
|
73
|
+
| Platform | Binary Path |
|
|
74
|
+
|----------|-------------|
|
|
75
|
+
| macOS | `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-darwin-arm64/bin/` |
|
|
76
|
+
| Windows | `{claw-data-dir}\extensions\memclaw\node_modules\@memclaw\bin-win-x64\bin\` |
|
|
77
|
+
|
|
78
|
+
> **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. For custom or modified versions, check your Claw's actual data directory name.
|
|
79
|
+
|
|
80
|
+
**Binaries included:**
|
|
81
|
+
- `qdrant` / `qdrant.exe` — Vector database
|
|
82
|
+
- `cortex-mem-service` / `cortex-mem-service.exe` — Memory service
|
|
83
|
+
- `cortex-mem-cli` / `cortex-mem-cli.exe` — CLI tool
|
|
84
|
+
|
|
85
|
+
> **Note**: The plugin auto-starts these services. You don't need to run them manually.
|
|
68
86
|
|
|
69
87
|
## Pre-Use Requirements
|
|
70
88
|
|
|
@@ -29,6 +29,34 @@ MemClaw binaries (Qdrant, cortex-mem-service, cortex-mem-cli) are distributed vi
|
|
|
29
29
|
|
|
30
30
|
These packages are installed automatically as optional dependencies when installing `@memclaw/memclaw`.
|
|
31
31
|
|
|
32
|
+
### Binary Locations After Installation
|
|
33
|
+
|
|
34
|
+
When installed via OpenClaw (`openclaw plugins install @memclaw/memclaw`), binaries are located at:
|
|
35
|
+
|
|
36
|
+
| Platform | Path |
|
|
37
|
+
|----------|------|
|
|
38
|
+
| macOS | `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-darwin-arm64/bin/` |
|
|
39
|
+
| Windows | `{claw-data-dir}\extensions\memclaw\node_modules\@memclaw\bin-win-x64\bin\` |
|
|
40
|
+
|
|
41
|
+
> **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. For custom or modified Claw versions, replace with your actual Claw data directory (e.g., `~/.claw`, `~/.myclaw`, etc.).
|
|
42
|
+
|
|
43
|
+
**Binaries included:**
|
|
44
|
+
- `qdrant` (or `qdrant.exe`) — Vector database server
|
|
45
|
+
- `cortex-mem-service` (or `cortex-mem-service.exe`) — Memory extraction service
|
|
46
|
+
- `cortex-mem-cli` (or `cortex-mem-cli.exe`) — Command-line maintenance tool
|
|
47
|
+
|
|
48
|
+
### Verify Binary Installation
|
|
49
|
+
|
|
50
|
+
Check if binaries exist:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# macOS (adjust claw-data-dir as needed)
|
|
54
|
+
ls ~/.openclaw/extensions/memclaw/node_modules/@memclaw/bin-darwin-arm64/bin/
|
|
55
|
+
|
|
56
|
+
# Windows (adjust claw-data-dir as needed)
|
|
57
|
+
dir %USERPROFILE%\.openclaw\extensions\memclaw\node_modules\@memclaw\bin-win-x64\bin\
|
|
58
|
+
```
|
|
59
|
+
|
|
32
60
|
### Manual Binary Installation
|
|
33
61
|
|
|
34
62
|
If binaries are not installed, run:
|
|
@@ -103,7 +131,7 @@ api_base_url = "https://your-llm-provider.com/v1"
|
|
|
103
131
|
api_key = "your-api-key-here"
|
|
104
132
|
model_efficient = "gpt-5-mini"
|
|
105
133
|
temperature = 0.1
|
|
106
|
-
max_tokens =
|
|
134
|
+
max_tokens = 65536
|
|
107
135
|
|
|
108
136
|
# Embedding Configuration [REQUIRED]
|
|
109
137
|
[embedding]
|