@ubundi/openclaw-cortex 0.5.1 → 0.5.3
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/README.md +39 -1
- package/dist/features/capture/handler.d.ts.map +1 -1
- package/dist/features/capture/handler.js +7 -3
- package/dist/features/capture/handler.js.map +1 -1
- package/dist/features/recall/handler.d.ts.map +1 -1
- package/dist/features/recall/handler.js +2 -1
- package/dist/features/recall/handler.js.map +1 -1
- package/dist/plugin/index.d.ts +43 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +185 -3
- package/dist/plugin/index.js.map +1 -1
- package/openclaw.plugin.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
- **Auto-Recall** — injects relevant memories before every agent turn via `before_agent_start` hook
|
|
14
14
|
- **Auto-Capture** — extracts facts from conversations via `agent_end` hook
|
|
15
|
+
- **Agent Tools** — `cortex_search_memory` and `cortex_save_memory` tools the LLM can invoke directly
|
|
16
|
+
- **Commands** — `/memories` auto-reply command for quick status checks and memory search
|
|
15
17
|
- **File Sync** — watches `MEMORY.md`, daily logs, and session transcripts for background ingestion
|
|
18
|
+
- **Gateway RPC** — `cortex.status` method for programmatic health and metrics access
|
|
16
19
|
- **Resilience** — retry queue with exponential backoff, cold-start detection, latency metrics
|
|
17
20
|
|
|
18
21
|
> **Cortex availability:** Cortex is currently in early testing. The plugin ships with access built in — no API key or account required.
|
|
@@ -163,6 +166,41 @@ The plugin watches OpenClaw's memory files and ingests changes into Cortex:
|
|
|
163
166
|
|
|
164
167
|
Failed file sync operations are queued for retry, so transient network failures don't cause data loss.
|
|
165
168
|
|
|
169
|
+
### Agent Tools
|
|
170
|
+
|
|
171
|
+
The plugin registers two tools the LLM agent can invoke directly:
|
|
172
|
+
|
|
173
|
+
- **`cortex_search_memory`** — search long-term memory with a natural language query. Returns matching memories with confidence scores. Use when the agent needs to recall something specific.
|
|
174
|
+
- **`cortex_save_memory`** — explicitly save a fact, preference, or piece of information to long-term memory. Use when the user asks "remember this" or the agent identifies something worth persisting.
|
|
175
|
+
|
|
176
|
+
These work alongside Auto-Recall/Auto-Capture — the automatic hooks handle background memory flow, while the tools give the agent explicit control when needed.
|
|
177
|
+
|
|
178
|
+
> Agent tools require the OpenClaw runtime to support `api.registerTool()`. On older runtimes, the plugin gracefully skips tool registration.
|
|
179
|
+
|
|
180
|
+
### Commands
|
|
181
|
+
|
|
182
|
+
The plugin registers a `/memories` auto-reply command that executes without invoking the AI agent:
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
/memories # Show memory status (count, maturity, tier, latency)
|
|
186
|
+
/memories dark mode # Search memories for "dark mode"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Gateway RPC
|
|
190
|
+
|
|
191
|
+
The `cortex.status` RPC method exposes plugin health and metrics programmatically:
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"version": "0.5.2",
|
|
196
|
+
"healthy": true,
|
|
197
|
+
"knowledgeState": { "hasMemories": true, "totalSessions": 42, "maturity": "mature", "tier": 3 },
|
|
198
|
+
"recallMetrics": { "count": 120, "p50": 95, "p95": 280, "p99": 450 },
|
|
199
|
+
"retryQueuePending": 0,
|
|
200
|
+
"config": { "autoRecall": true, "autoCapture": true, "fileSync": true, "transcriptSync": true, "namespace": "myproject-a1b2c3d4" }
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
166
204
|
### Observability
|
|
167
205
|
|
|
168
206
|
On shutdown, the plugin logs recall latency percentiles:
|
|
@@ -190,7 +228,7 @@ If both this plugin and the Cortex SKILL.md are active, the `<cortex_memories>`
|
|
|
190
228
|
```bash
|
|
191
229
|
npm install
|
|
192
230
|
npm run build # TypeScript → dist/
|
|
193
|
-
npm test # Run vitest (
|
|
231
|
+
npm test # Run vitest (166 tests)
|
|
194
232
|
npm run test:watch # Watch mode
|
|
195
233
|
npm run test:integration # Live Cortex API tests (uses the baked-in API key)
|
|
196
234
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/capture/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,iCAAiC,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC,CAAC;AAkCF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,UAAU,EACvB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EACpC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAMb,OAAO,aAAa,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/capture/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,iCAAiC,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC,CAAC;AAkCF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,UAAU,EACvB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EACpC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAMb,OAAO,aAAa,KAAG,OAAO,CAAC,IAAI,CAAC,CA0FnD"}
|
|
@@ -33,6 +33,7 @@ export function createCaptureHandler(client, config, logger, retryQueue, knowled
|
|
|
33
33
|
let lastCapturedAt = 0;
|
|
34
34
|
let capturesSinceRefresh = 0;
|
|
35
35
|
return async (event) => {
|
|
36
|
+
logger.info("Cortex capture: hook fired");
|
|
36
37
|
if (!config.autoCapture)
|
|
37
38
|
return;
|
|
38
39
|
if (event.aborted)
|
|
@@ -52,9 +53,12 @@ export function createCaptureHandler(client, config, logger, retryQueue, knowled
|
|
|
52
53
|
}))
|
|
53
54
|
.filter((msg) => msg.content.length > 0);
|
|
54
55
|
if (!isWorthCapturing(normalized)) {
|
|
55
|
-
logger.
|
|
56
|
+
logger.info("Cortex capture: skipping — not enough substantive content");
|
|
56
57
|
return;
|
|
57
58
|
}
|
|
59
|
+
// API caps at 200 messages — take the most recent to stay within the limit
|
|
60
|
+
const MAX_MESSAGES = 200;
|
|
61
|
+
const trimmed = normalized.length > MAX_MESSAGES ? normalized.slice(-MAX_MESSAGES) : normalized;
|
|
58
62
|
// Advance watermark before async work so a second turn doesn't re-send this delta
|
|
59
63
|
lastCapturedAt = event.messages.length;
|
|
60
64
|
// Ensure userId is resolved before sending — in practice this resolves in <100ms
|
|
@@ -65,8 +69,8 @@ export function createCaptureHandler(client, config, logger, retryQueue, knowled
|
|
|
65
69
|
const doRemember = async () => {
|
|
66
70
|
// Re-evaluate userId at call time so retries pick up the resolved value
|
|
67
71
|
const userId = getUserId?.();
|
|
68
|
-
const res = await client.rememberConversation(
|
|
69
|
-
logger.
|
|
72
|
+
const res = await client.rememberConversation(trimmed, sessionId, undefined, undefined, userId);
|
|
73
|
+
logger.info(`Cortex capture: remembered ${res.memories_created} memories`);
|
|
70
74
|
if (knowledgeState && res.memories_created > 0) {
|
|
71
75
|
knowledgeState.hasMemories = true;
|
|
72
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/features/capture/handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/features/capture/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC,CAAC;AAUF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAI1F;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS;YAO3B,qBAAqB,QACtB,YAAY,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC,CAAC;AAUF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAI1F;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS;YAO3B,qBAAqB,QACtB,YAAY,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;;EAyE1C"}
|
|
@@ -23,11 +23,12 @@ export function createRecallHandler(client, config, logger, metrics, knowledgeSt
|
|
|
23
23
|
let consecutiveFailures = 0;
|
|
24
24
|
let coldStartUntil = 0;
|
|
25
25
|
const handler = async (event, _ctx) => {
|
|
26
|
+
logger.info("Cortex recall: hook fired");
|
|
26
27
|
if (!config.autoRecall)
|
|
27
28
|
return;
|
|
28
29
|
// Skip recall when we know there are no memories yet
|
|
29
30
|
if (knowledgeState && !knowledgeState.hasMemories) {
|
|
30
|
-
logger.
|
|
31
|
+
logger.info("Cortex recall: skipped (no memories yet)");
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
34
|
const prompt = event.prompt?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAyB3E;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,6CAA6C;AAC1E,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,2BAA2B;AAElE;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,aAAqB;IAChF,IAAI,aAAa,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IACvE,IAAI,aAAa,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IACvE,OAAO,YAAY,CAAC,CAAC,SAAS;AAChC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,MAAoB,EACpB,MAAc,EACd,OAAwB,EACxB,cAA+B,EAC/B,SAAoC;IAEpC,MAAM,aAAa,GAAG,OAAO,IAAI,IAAI,cAAc,EAAE,CAAC;IACtD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,KAAK,EACnB,KAA4B,EAC5B,IAAkB,EACsB,EAAE;QAC1C,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAE/B,qDAAqD;QACrD,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/features/recall/handler.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/index.d.ts
CHANGED
|
@@ -5,6 +5,40 @@ export interface KnowledgeState {
|
|
|
5
5
|
lastChecked: number;
|
|
6
6
|
}
|
|
7
7
|
export declare function deriveTier(totalSessions: number): 1 | 2 | 3;
|
|
8
|
+
interface HookMetadata {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}
|
|
12
|
+
interface ToolDefinition {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
parameters: Record<string, unknown>;
|
|
16
|
+
execute: (id: string, params: Record<string, unknown>) => Promise<{
|
|
17
|
+
content: Array<{
|
|
18
|
+
type: string;
|
|
19
|
+
text: string;
|
|
20
|
+
}>;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
interface CommandDefinition {
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
acceptsArgs?: boolean;
|
|
27
|
+
requireAuth?: boolean;
|
|
28
|
+
handler: (ctx: CommandContext) => Promise<{
|
|
29
|
+
text: string;
|
|
30
|
+
}> | {
|
|
31
|
+
text: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
interface CommandContext {
|
|
35
|
+
senderId?: string;
|
|
36
|
+
channel?: string;
|
|
37
|
+
isAuthorizedSender?: boolean;
|
|
38
|
+
args?: string;
|
|
39
|
+
commandBody?: string;
|
|
40
|
+
config?: Record<string, unknown>;
|
|
41
|
+
}
|
|
8
42
|
interface PluginApi {
|
|
9
43
|
pluginConfig?: Record<string, unknown>;
|
|
10
44
|
logger: {
|
|
@@ -13,9 +47,10 @@ interface PluginApi {
|
|
|
13
47
|
warn(...args: unknown[]): void;
|
|
14
48
|
error(...args: unknown[]): void;
|
|
15
49
|
};
|
|
16
|
-
on(hookName: string, handler: (...args: any[]) => any, opts?: {
|
|
50
|
+
on?(hookName: string, handler: (...args: any[]) => any, opts?: {
|
|
17
51
|
priority?: number;
|
|
18
52
|
}): void;
|
|
53
|
+
registerHook?(hookName: string, handler: (...args: any[]) => any, metadata: HookMetadata): void;
|
|
19
54
|
registerService(service: {
|
|
20
55
|
id: string;
|
|
21
56
|
start?: (ctx: {
|
|
@@ -25,6 +60,13 @@ interface PluginApi {
|
|
|
25
60
|
workspaceDir?: string;
|
|
26
61
|
}) => void;
|
|
27
62
|
}): void;
|
|
63
|
+
registerTool?(definition: ToolDefinition, options?: {
|
|
64
|
+
optional?: boolean;
|
|
65
|
+
}): void;
|
|
66
|
+
registerCommand?(definition: CommandDefinition): void;
|
|
67
|
+
registerGatewayMethod?(name: string, handler: (ctx: {
|
|
68
|
+
respond: (ok: boolean, data: unknown) => void;
|
|
69
|
+
}) => void): void;
|
|
28
70
|
}
|
|
29
71
|
declare const plugin: {
|
|
30
72
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { RetryQueue } from "../internal/queue/retry-queue.js";
|
|
|
10
10
|
import { LatencyMetrics } from "../internal/metrics/latency-metrics.js";
|
|
11
11
|
import { loadOrCreateUserId } from "../internal/identity/user-id.js";
|
|
12
12
|
import { BAKED_API_KEY } from "../internal/identity/api-key.js";
|
|
13
|
+
import { formatMemories } from "../features/recall/formatter.js";
|
|
13
14
|
export function deriveTier(totalSessions) {
|
|
14
15
|
if (totalSessions >= 30)
|
|
15
16
|
return 3;
|
|
@@ -63,6 +64,21 @@ async function bootstrapClient(client, logger, knowledgeState, userId) {
|
|
|
63
64
|
logger.debug?.("Cortex knowledge check skipped — endpoint unavailable");
|
|
64
65
|
}
|
|
65
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Registers a hook using the modern registerHook API if available,
|
|
69
|
+
* falling back to the legacy api.on() for older OpenClaw runtimes.
|
|
70
|
+
*/
|
|
71
|
+
function registerHookCompat(api, hookName, handler, metadata) {
|
|
72
|
+
if (api.registerHook) {
|
|
73
|
+
api.registerHook(hookName, handler, metadata);
|
|
74
|
+
}
|
|
75
|
+
else if (api.on) {
|
|
76
|
+
api.on(hookName, handler);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
api.logger.warn(`Cortex: cannot register hook "${hookName}" — no registerHook or on method available`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
66
82
|
const plugin = {
|
|
67
83
|
id: "openclaw-cortex",
|
|
68
84
|
name: "Cortex Memory",
|
|
@@ -116,11 +132,177 @@ const plugin = {
|
|
|
116
132
|
api.logger.info(`Cortex plugin registered (namespace=${namespace})`);
|
|
117
133
|
// Async health check + knowledge probe — chained after userId resolves
|
|
118
134
|
void userIdReady.then(() => bootstrapClient(client, api.logger, knowledgeState, userId));
|
|
135
|
+
// --- Hooks ---
|
|
119
136
|
// Auto-Recall: inject relevant memories before every agent turn
|
|
120
|
-
api
|
|
137
|
+
registerHookCompat(api, "before_agent_start", createRecallHandler(client, config, api.logger, recallMetrics, knowledgeState, () => userId), {
|
|
138
|
+
name: "openclaw-cortex.recall",
|
|
139
|
+
description: "Inject relevant Cortex memories before agent turn",
|
|
140
|
+
});
|
|
121
141
|
// Auto-Capture: extract facts after agent responses
|
|
122
|
-
api
|
|
123
|
-
|
|
142
|
+
registerHookCompat(api, "agent_end", createCaptureHandler(client, config, api.logger, retryQueue, knowledgeState, () => userId, userIdReady), {
|
|
143
|
+
name: "openclaw-cortex.capture",
|
|
144
|
+
description: "Extract and store facts from conversation after agent turn",
|
|
145
|
+
});
|
|
146
|
+
// --- Agent Tools ---
|
|
147
|
+
if (api.registerTool) {
|
|
148
|
+
api.registerTool({
|
|
149
|
+
name: "cortex_search_memory",
|
|
150
|
+
description: "Search long-term memory for facts, preferences, and past context. Use when you need to recall something the user mentioned before or retrieve stored knowledge.",
|
|
151
|
+
parameters: {
|
|
152
|
+
type: "object",
|
|
153
|
+
properties: {
|
|
154
|
+
query: {
|
|
155
|
+
type: "string",
|
|
156
|
+
description: "Natural language search query for memory retrieval",
|
|
157
|
+
},
|
|
158
|
+
limit: {
|
|
159
|
+
type: "number",
|
|
160
|
+
description: "Maximum number of memories to return (1-50)",
|
|
161
|
+
default: 10,
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
required: ["query"],
|
|
165
|
+
},
|
|
166
|
+
async execute(_id, params) {
|
|
167
|
+
const query = String(params.query ?? "");
|
|
168
|
+
const limit = Math.min(Math.max(Number(params.limit) || 10, 1), 50);
|
|
169
|
+
if (userIdReady)
|
|
170
|
+
await userIdReady;
|
|
171
|
+
try {
|
|
172
|
+
const response = await client.recall(query, config.recallTimeoutMs, {
|
|
173
|
+
limit,
|
|
174
|
+
userId: userId,
|
|
175
|
+
queryType: "combined",
|
|
176
|
+
});
|
|
177
|
+
if (!response.memories?.length) {
|
|
178
|
+
return { content: [{ type: "text", text: "No memories found matching that query." }] };
|
|
179
|
+
}
|
|
180
|
+
const formatted = formatMemories(response.memories);
|
|
181
|
+
return { content: [{ type: "text", text: formatted }] };
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
return { content: [{ type: "text", text: `Memory search failed: ${String(err)}` }] };
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
api.registerTool({
|
|
189
|
+
name: "cortex_save_memory",
|
|
190
|
+
description: "Explicitly save a fact, preference, or piece of information to long-term memory. Use when the user asks you to remember something specific.",
|
|
191
|
+
parameters: {
|
|
192
|
+
type: "object",
|
|
193
|
+
properties: {
|
|
194
|
+
text: {
|
|
195
|
+
type: "string",
|
|
196
|
+
description: "The information to save to memory (a fact, preference, or context)",
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
required: ["text"],
|
|
200
|
+
},
|
|
201
|
+
async execute(_id, params) {
|
|
202
|
+
const text = String(params.text ?? "");
|
|
203
|
+
if (!text || text.length < 5) {
|
|
204
|
+
return { content: [{ type: "text", text: "Text too short to save as a memory." }] };
|
|
205
|
+
}
|
|
206
|
+
if (userIdReady)
|
|
207
|
+
await userIdReady;
|
|
208
|
+
try {
|
|
209
|
+
const res = await client.remember(text, undefined, undefined, undefined, userId);
|
|
210
|
+
if (knowledgeState && res.memories_created > 0) {
|
|
211
|
+
knowledgeState.hasMemories = true;
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
content: [{
|
|
215
|
+
type: "text",
|
|
216
|
+
text: `Saved ${res.memories_created} memory/memories. Entities found: ${res.entities_found.join(", ") || "none"}.`,
|
|
217
|
+
}],
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
catch (err) {
|
|
221
|
+
return { content: [{ type: "text", text: `Failed to save memory: ${String(err)}` }] };
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
api.logger.info("Cortex agent tools registered: cortex_search_memory, cortex_save_memory");
|
|
226
|
+
}
|
|
227
|
+
// --- Auto-Reply Commands ---
|
|
228
|
+
if (api.registerCommand) {
|
|
229
|
+
api.registerCommand({
|
|
230
|
+
name: "memories",
|
|
231
|
+
description: "Show Cortex memory status or search memories",
|
|
232
|
+
acceptsArgs: true,
|
|
233
|
+
handler: async (ctx) => {
|
|
234
|
+
if (userIdReady)
|
|
235
|
+
await userIdReady;
|
|
236
|
+
const query = ctx.args?.trim();
|
|
237
|
+
// No args — show status
|
|
238
|
+
if (!query) {
|
|
239
|
+
try {
|
|
240
|
+
const knowledge = await client.knowledge(undefined, userId);
|
|
241
|
+
const tier = deriveTier(knowledge.total_sessions);
|
|
242
|
+
const recallSummary = recallMetrics.summary();
|
|
243
|
+
const lines = [
|
|
244
|
+
`**Cortex Memory Status**`,
|
|
245
|
+
`- Memories: ${knowledge.total_memories}`,
|
|
246
|
+
`- Sessions: ${knowledge.total_sessions}`,
|
|
247
|
+
`- Maturity: ${knowledge.maturity}`,
|
|
248
|
+
`- Tier: ${tier}`,
|
|
249
|
+
`- Recall latency: ${recallSummary.count > 0 ? `p50=${recallSummary.p50}ms, p95=${recallSummary.p95}ms (${recallSummary.count} samples)` : "no samples yet"}`,
|
|
250
|
+
`- Retry queue: ${retryQueue.pending} pending`,
|
|
251
|
+
];
|
|
252
|
+
return { text: lines.join("\n") };
|
|
253
|
+
}
|
|
254
|
+
catch (err) {
|
|
255
|
+
return { text: `Cortex status check failed: ${String(err)}` };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// With args — search memories
|
|
259
|
+
try {
|
|
260
|
+
const response = await client.recall(query, config.recallTimeoutMs, {
|
|
261
|
+
limit: config.recallLimit,
|
|
262
|
+
userId,
|
|
263
|
+
queryType: "combined",
|
|
264
|
+
});
|
|
265
|
+
if (!response.memories?.length) {
|
|
266
|
+
return { text: `No memories found for: "${query}"` };
|
|
267
|
+
}
|
|
268
|
+
const lines = response.memories.map((m) => `- [${m.confidence.toFixed(2)}] ${m.content}`);
|
|
269
|
+
return { text: `**Memories matching "${query}":**\n${lines.join("\n")}` };
|
|
270
|
+
}
|
|
271
|
+
catch (err) {
|
|
272
|
+
return { text: `Memory search failed: ${String(err)}` };
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
});
|
|
276
|
+
api.logger.info("Cortex command registered: /memories");
|
|
277
|
+
}
|
|
278
|
+
// --- Gateway RPC ---
|
|
279
|
+
if (api.registerGatewayMethod) {
|
|
280
|
+
api.registerGatewayMethod("cortex.status", ({ respond }) => {
|
|
281
|
+
const recallSummary = recallMetrics.summary();
|
|
282
|
+
respond(true, {
|
|
283
|
+
version,
|
|
284
|
+
healthy: knowledgeState.lastChecked > 0,
|
|
285
|
+
knowledgeState: {
|
|
286
|
+
hasMemories: knowledgeState.hasMemories,
|
|
287
|
+
totalSessions: knowledgeState.totalSessions,
|
|
288
|
+
maturity: knowledgeState.maturity,
|
|
289
|
+
tier: deriveTier(knowledgeState.totalSessions),
|
|
290
|
+
lastChecked: knowledgeState.lastChecked,
|
|
291
|
+
},
|
|
292
|
+
recallMetrics: recallSummary,
|
|
293
|
+
retryQueuePending: retryQueue.pending,
|
|
294
|
+
config: {
|
|
295
|
+
autoRecall: config.autoRecall,
|
|
296
|
+
autoCapture: config.autoCapture,
|
|
297
|
+
fileSync: config.fileSync,
|
|
298
|
+
transcriptSync: config.transcriptSync,
|
|
299
|
+
namespace,
|
|
300
|
+
},
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
api.logger.info("Cortex RPC registered: cortex.status");
|
|
304
|
+
}
|
|
305
|
+
// --- Services: retry queue, file sync ---
|
|
124
306
|
api.registerService({
|
|
125
307
|
id: "cortex-services",
|
|
126
308
|
start(ctx) {
|
package/dist/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "openclaw-cortex",
|
|
3
3
|
"name": "Cortex Memory",
|
|
4
|
-
"description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture,
|
|
5
|
-
"version": "0.5.
|
|
4
|
+
"description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture, agent tools, /memories command, transcript ingestion, and background file sync",
|
|
5
|
+
"version": "0.5.3",
|
|
6
6
|
"kind": "memory",
|
|
7
7
|
"configSchema": {
|
|
8
8
|
"type": "object",
|