@ubundi/openclaw-cortex 2.6.0 → 2.8.0

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 CHANGED
@@ -55,25 +55,22 @@ openclaw plugins install -l ./path/to/openclaw-cortex
55
55
 
56
56
  > **Note:** OpenClaw defaults to the `messaging` tools profile, which excludes memory tools. The plugin's own tools (`cortex_search_memory`, `cortex_save_memory`) are registered directly and work on any profile, but the built-in `memory_search`, `read`, `write`, and other tools require `full`. This must be re-applied after running `openclaw configure` as the wizard resets it.
57
57
 
58
- 3. Add a minimal plugin config to `openclaw.json`:
59
-
60
- ```json
61
- {
62
- "plugins": {
63
- "entries": {
64
- "@ubundi/openclaw-cortex": {
65
- "enabled": true,
66
- "config": {}
67
- }
68
- },
69
- "slots": {
70
- "memory": "@ubundi/openclaw-cortex"
71
- }
72
- }
73
- }
58
+ 3. Add your API key to the plugin config:
59
+
60
+ ```bash
61
+ openclaw config set plugins.entries.openclaw-cortex.config.apiKey "your-cortex-api-key"
62
+ openclaw gateway restart
63
+ ```
64
+
65
+ Alternatively, set the `CORTEX_API_KEY` environment variable:
66
+
67
+ ```bash
68
+ export CORTEX_API_KEY="your-cortex-api-key"
74
69
  ```
75
70
 
76
- That's it no API key, no account, no setup. On first run the plugin generates a unique ID for this installation, persists it at `~/.openclaw/cortex-user-id`, and scopes all memories to that ID.
71
+ > **Note:** OpenClaw registers the plugin under the install name `openclaw-cortex` (without the npm scope). Always use `openclaw-cortex` when referencing the plugin in config keys.
72
+
73
+ On first run the plugin generates a unique ID for this installation, persists it at `~/.openclaw/cortex-user-id`, and scopes all memories to that ID.
77
74
 
78
75
  4. Run an agent turn. If configured correctly, recall data is prepended in a `<cortex_memories>` block before the model turn.
79
76
 
@@ -85,10 +82,10 @@ Add to your `openclaw.json`:
85
82
  {
86
83
  plugins: {
87
84
  entries: {
88
- "@ubundi/openclaw-cortex": {
85
+ "openclaw-cortex": {
89
86
  enabled: true,
90
87
  config: {
91
- // All fields are optional the plugin works with no config at all.
88
+ apiKey: "your-cortex-api-key", // requiredor set CORTEX_API_KEY env var
92
89
  autoRecall: true,
93
90
  autoCapture: true,
94
91
  recallLimit: 20,
@@ -99,7 +96,7 @@ Add to your `openclaw.json`:
99
96
  },
100
97
  },
101
98
  slots: {
102
- memory: "@ubundi/openclaw-cortex",
99
+ memory: "openclaw-cortex",
103
100
  },
104
101
  },
105
102
  }
@@ -109,6 +106,7 @@ Add to your `openclaw.json`:
109
106
 
110
107
  | Option | Type | Default | Description |
111
108
  | ------------------------ | ------- | ------------ | ------------------------------------------------------------------------------------------------ |
109
+ | `apiKey` | string | — | **Required.** Your Cortex API key. Can also be set via the `CORTEX_API_KEY` environment variable. |
112
110
  | `userId` | string | _auto_ | Memory scope ID. Auto-generated per install and persisted at `~/.openclaw/cortex-user-id`. Override to share memory across machines or team members. |
113
111
  | `autoRecall` | boolean | `true` | Inject relevant memories before each agent turn |
114
112
  | `autoCapture` | boolean | `true` | Extract and store facts after each agent turn |
@@ -304,7 +302,7 @@ If both this plugin and the Cortex SKILL.md are active, the `<cortex_memories>`
304
302
  ## Troubleshooting
305
303
 
306
304
  - **Agent not using plugin tools**: Check `tools.profile` in `openclaw.json` — OpenClaw defaults to `"messaging"`, which excludes memory tools. Run `openclaw config set tools.profile full && openclaw gateway restart`. The configure wizard resets this, so re-check after any reconfiguration.
307
- - Plugin installed but no memory behavior: verify both `"enabled": true` and `"slots.memory": "@ubundi/openclaw-cortex"` in `openclaw.json`.
305
+ - Plugin installed but no memory behavior: verify both `"enabled": true` and `"slots.memory": "openclaw-cortex"` in `openclaw.json`. Note: config uses the install name `openclaw-cortex`, not the npm scope.
308
306
  - `Cannot find module 'zod'` during plugin load (older installs): run `npm install --prefix ~/.openclaw/extensions/openclaw-cortex --omit=dev zod`.
309
307
  - Frequent recall timeouts: increase `recallTimeoutMs` for auto-recall or `toolTimeoutMs` for explicit searches.
310
308
  - No useful memories returned: ensure prior sessions were captured (`autoCapture`) or saved explicitly with `cortex_save_memory` or `/checkpoint`.
@@ -7,10 +7,28 @@ export declare function stripRuntimeMetadata(text: string): string;
7
7
  export declare function stripInjectedCortexBlocks(text: string): string;
8
8
  export declare function stripPlaintextMetadataArtifacts(text: string): string;
9
9
  export declare function sanitizeConversationText(text: string): string;
10
+ /**
11
+ * Returns true if a sentence is primarily a volatile/transient state assertion.
12
+ * Only matches when the volatile pattern dominates the sentence (short sentences
13
+ * or sentences where the volatile content is the main claim).
14
+ */
15
+ export declare function isVolatileStatement(sentence: string): boolean;
16
+ /**
17
+ * Strips volatile/transient sentences from message content while preserving
18
+ * durable facts. Operates on sentence boundaries (split by period, newline,
19
+ * or semicolon). Returns the cleaned text, or the original if nothing was stripped.
20
+ */
21
+ export declare function stripVolatileStatements(text: string): string;
10
22
  /** Returns true if the content matches a known low-signal pattern. */
11
23
  export declare function isLowSignal(content: string): boolean;
12
24
  /** Filters out messages whose content is entirely low-signal noise. */
13
25
  export declare function filterLowSignalMessages(messages: ConversationMessage[]): ConversationMessage[];
26
+ /**
27
+ * Strips volatile/transient statements from message content within a conversation.
28
+ * Unlike filterLowSignalMessages (which drops entire messages), this preserves
29
+ * messages but removes individual volatile sentences from their content.
30
+ */
31
+ export declare function stripVolatileContent(messages: ConversationMessage[]): ConversationMessage[];
14
32
  /** Filters out low-signal lines from a text block, returning the cleaned text. */
15
33
  export declare function filterLowSignalLines(text: string): string;
16
34
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/features/capture/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAsGlE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+BpE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKpD;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAE9F;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKzD"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/features/capture/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAsGlE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+BpE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7D;AA+BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKpD;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAK3F;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKzD"}
@@ -129,6 +129,55 @@ export function stripPlaintextMetadataArtifacts(text) {
129
129
  export function sanitizeConversationText(text) {
130
130
  return stripPlaintextMetadataArtifacts(stripRuntimeMetadata(stripInjectedCortexBlocks(text))).trim();
131
131
  }
132
+ /**
133
+ * Patterns that match volatile/transient state — facts likely to go stale
134
+ * quickly and pollute long-term memory when auto-captured.
135
+ *
136
+ * These are applied per-sentence within message content. Unlike LOW_SIGNAL_PATTERNS
137
+ * (which reject entire messages), volatile patterns strip individual sentences
138
+ * from otherwise valuable messages before they reach the capture pipeline.
139
+ */
140
+ const VOLATILE_STATE_PATTERNS = [
141
+ // Version/release statements: "version 2.5.0", "v3.1.2", "running node 20.11"
142
+ /\b(?:version|v)\s*\d+\.\d+(?:\.\d+)?(?:-[\w.]+)?\b/i,
143
+ /\brunning (?:node|python|ruby|go|java|php|deno|bun)\s*\d+/i,
144
+ // Task/progress status: "task X is in progress", "currently working on", "is done/complete"
145
+ /\b(?:task|ticket|issue|PR|pull request)\s+\S+\s+(?:is|are|was)\s+(?:in[- ]progress|pending|blocked|done|complete|finished|closed|merged)\b/i,
146
+ /\bcurrently (?:working on|building|debugging|investigating|deploying|testing|fixing|running|implementing)\b/i,
147
+ /\b(?:is|are) currently (?:running|deploying|building|testing|failing|passing)\b/i,
148
+ // Ephemeral runtime state: ports, PIDs, active connections
149
+ /\b(?:running|listening|serving) (?:on|at) (?:port|:)\s*\d{2,5}\b/i,
150
+ /\bPID\s*(?:is\s*)?\d+\b/i,
151
+ // Temporal markers that signal snapshot-in-time facts
152
+ /\b(?:right now|at the moment|at this point|as of (?:now|today)|for now)\b/i,
153
+ // Deploy/build status that changes frequently
154
+ /\b(?:deploy(?:ment)?|build|pipeline|CI)\s+(?:is|are|was)\s+(?:running|in[- ]progress|queued|pending|failing|passing|green|red)\b/i,
155
+ ];
156
+ /**
157
+ * Returns true if a sentence is primarily a volatile/transient state assertion.
158
+ * Only matches when the volatile pattern dominates the sentence (short sentences
159
+ * or sentences where the volatile content is the main claim).
160
+ */
161
+ export function isVolatileStatement(sentence) {
162
+ const trimmed = sentence.trim();
163
+ if (!trimmed || trimmed.length > 300)
164
+ return false;
165
+ return VOLATILE_STATE_PATTERNS.some((pattern) => pattern.test(trimmed));
166
+ }
167
+ /**
168
+ * Strips volatile/transient sentences from message content while preserving
169
+ * durable facts. Operates on sentence boundaries (split by period, newline,
170
+ * or semicolon). Returns the cleaned text, or the original if nothing was stripped.
171
+ */
172
+ export function stripVolatileStatements(text) {
173
+ // Split on sentence boundaries: newlines, periods followed by space/end, semicolons
174
+ const sentences = text.split(/(?<=\.)\s+|\n+|(?<=;)\s*/);
175
+ const kept = sentences.filter((sentence) => !isVolatileStatement(sentence));
176
+ if (kept.length === sentences.length)
177
+ return text; // nothing stripped
178
+ const result = kept.join("\n").replace(/\n{3,}/g, "\n\n").trim();
179
+ return result || text; // never return empty — preserve original if all sentences matched
180
+ }
132
181
  /** Returns true if the content matches a known low-signal pattern. */
133
182
  export function isLowSignal(content) {
134
183
  const trimmed = content.trim();
@@ -142,6 +191,17 @@ export function isLowSignal(content) {
142
191
  export function filterLowSignalMessages(messages) {
143
192
  return messages.filter((m) => !isLowSignal(m.content));
144
193
  }
194
+ /**
195
+ * Strips volatile/transient statements from message content within a conversation.
196
+ * Unlike filterLowSignalMessages (which drops entire messages), this preserves
197
+ * messages but removes individual volatile sentences from their content.
198
+ */
199
+ export function stripVolatileContent(messages) {
200
+ return messages.map((m) => ({
201
+ ...m,
202
+ content: stripVolatileStatements(m.content),
203
+ }));
204
+ }
145
205
  /** Filters out low-signal lines from a text block, returning the cleaned text. */
146
206
  export function filterLowSignalLines(text) {
147
207
  return text
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/features/capture/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/features/capture/filter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/capture/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGvF,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,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,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,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;AA4GF,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,EAC3B,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,eAAe,EAC3B,cAAc,CAAC,EAAE,qBAAqB,IAKxB,OAAO,aAAa,KAAG,OAAO,CAAC,OAAO,CAAC,CAwNtD"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/features/capture/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAGvF,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,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,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,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;AA4GF,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,EAC3B,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,eAAe,EAC3B,cAAc,CAAC,EAAE,qBAAqB,IAKxB,OAAO,aAAa,KAAG,OAAO,CAAC,OAAO,CAAC,CA8NtD"}
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- import { filterLowSignalMessages, sanitizeConversationText } from "./filter.js";
2
+ import { filterLowSignalMessages, stripVolatileContent, sanitizeConversationText } from "./filter.js";
3
3
  import { containsHeartbeatPrompt } from "../../internal/heartbeat-detect.js";
4
4
  import { filterConversationMessagesForMemory } from "../../internal/message-provenance.js";
5
5
  const MIN_CONTENT_LENGTH = 50;
@@ -158,12 +158,17 @@ export function createCaptureHandler(client, config, logger, retryQueue, knowled
158
158
  const filtered = config.captureFilter !== false
159
159
  ? filterLowSignalMessages(normalized)
160
160
  : normalized;
161
+ // Strip volatile/transient statements (version numbers, task status, "currently" state)
162
+ // from message content before capture to prevent stale facts from entering long-term memory.
163
+ const volatileStripped = config.captureFilter !== false
164
+ ? stripVolatileContent(filtered)
165
+ : filtered;
161
166
  // Strip assistant messages that echo recently recalled memories.
162
167
  // This breaks the feedback loop: recall → agent parrots → capture → recall (stronger).
163
- let echoFiltered = filtered;
168
+ let echoFiltered = volatileStripped;
164
169
  if (echoStore) {
165
170
  let echoesStripped = 0;
166
- echoFiltered = filtered.filter((msg) => {
171
+ echoFiltered = volatileStripped.filter((msg) => {
167
172
  if (msg.role === "assistant" && echoStore.isEcho(msg.content)) {
168
173
  echoesStripped++;
169
174
  return false;
@@ -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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"}
@@ -2,6 +2,11 @@ export interface CortexInstructionOptions {
2
2
  captureInstructions?: string;
3
3
  captureCategories?: string[];
4
4
  }
5
+ /**
6
+ * Builds a slim pointer block for AGENTS.md. The full operational instructions
7
+ * live in the `cortex-memory` skill (skill/SKILL.md); this block only contains
8
+ * a brief orientation and any workspace-specific custom save guidance.
9
+ */
5
10
  export declare function buildCortexInstructions(opts?: CortexInstructionOptions): string;
6
11
  /** Short hash of the instructions content for staleness detection. */
7
12
  export declare function instructionsHash(opts?: CortexInstructionOptions): string;
@@ -11,10 +16,14 @@ interface Logger {
11
16
  warn(...args: unknown[]): void;
12
17
  }
13
18
  /**
14
- * Injects or updates Cortex memory instructions in AGENTS.md.
19
+ * Injects or updates a slim Cortex memory pointer in AGENTS.md.
20
+ *
21
+ * The full operational instructions live in the cortex-memory skill
22
+ * (skill/SKILL.md). This block provides a brief orientation and any
23
+ * workspace-specific custom save guidance from the plugin config.
15
24
  *
16
25
  * - If AGENTS.md doesn't exist, skip silently.
17
- * - If the marker is absent, append the full block.
26
+ * - If the marker is absent, append the pointer block.
18
27
  * - If the marker exists but the hash is stale (or missing), replace the section in-place.
19
28
  * - If the marker exists and the hash matches, do nothing.
20
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent-instructions.d.ts","sourceRoot":"","sources":["../../src/internal/agent-instructions.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AA6BD,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAgD/E;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAExE;AAOD,UAAU,MAAM;IACd,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;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Df"}
1
+ {"version":3,"file":"agent-instructions.d.ts","sourceRoot":"","sources":["../../src/internal/agent-instructions.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AA6BD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAkB/E;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAExE;AAOD,UAAU,MAAM;IACd,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;CAChC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Df"}
@@ -10,7 +10,7 @@ function buildCustomSaveGuidance(opts) {
10
10
  .filter(Boolean);
11
11
  if (!customInstructions && customCategories.length === 0)
12
12
  return "";
13
- const lines = ["### Custom save guidance", ""];
13
+ const lines = ["", "### Custom save guidance", ""];
14
14
  if (customInstructions) {
15
15
  lines.push(customInstructions);
16
16
  }
@@ -25,52 +25,27 @@ function buildCustomSaveGuidance(opts) {
25
25
  }
26
26
  return lines.join("\n");
27
27
  }
28
+ /**
29
+ * Builds a slim pointer block for AGENTS.md. The full operational instructions
30
+ * live in the `cortex-memory` skill (skill/SKILL.md); this block only contains
31
+ * a brief orientation and any workspace-specific custom save guidance.
32
+ */
28
33
  export function buildCortexInstructions(opts) {
29
34
  const customSaveGuidance = buildCustomSaveGuidance(opts);
30
35
  return `
31
36
 
32
37
  ## Cortex Memory
33
38
 
34
- You have a long-term memory system powered by Cortex. Before each conversation turn, relevant memories from past conversations are automatically injected in \`<cortex_memories>\` tags.
35
-
36
- ### How to use recalled memories
37
-
38
- - **Use recalled memories for historical context.** They are strongest for preferences, prior decisions, rationale, and cross-session continuity.
39
- - **For volatile current-state facts, verify against live workspace/runtime first.** Examples: versions, ports, env/config defaults, active dependencies, and script commands.
40
- - **If memory and live state conflict, report both with timing context.** Example: "Memory says X (from March 4, 2026), current repo shows Y."
41
- - **Memories include a confidence score** (e.g., \`[0.85]\`). Higher scores indicate stronger relevance to the current conversation.
42
- - **You also have \`cortex_search_memory\`, \`cortex_get_memory\`, \`cortex_save_memory\`, and \`cortex_forget\` tools** for explicit search, lookup by ID, save, and selective removal when the automatic recall isn't sufficient.
43
-
44
- ### When to search explicitly
45
-
46
- - When asked a specific factual question (port numbers, library choices, config values), use \`cortex_search_memory\` to look up the answer before responding from general knowledge.
47
- - When auto-recalled memories don't cover the topic being asked about, search before saying "I don't know."
48
- - Use \`mode\` to narrow results: \`"decisions"\` for "why did we do X?", \`"preferences"\` for style/config questions, \`"facts"\` for durable knowledge, \`"recent"\` when recency matters more than relevance.
49
- - Use \`scope\` to focus the search on the current session, older long-term memories, or all stored memories.
50
- - Use \`cortex_get_memory\` when you already have a specific memory ID and want the full details for that node.
39
+ You have long-term memory powered by the Cortex plugin. Refer to the **cortex-memory** skill for full usage instructions.
51
40
 
52
- ### When to save
53
-
54
- - When the user explicitly asks you to remember something.
55
- - When a significant **decision, preference, or durable fact** is stated — especially if it would be useful in future sessions.
56
- - Set \`type\` (\`"preference"\`, \`"decision"\`, \`"fact"\`, \`"transient"\`) and \`importance\` (\`"high"\`, \`"normal"\`, \`"low"\`) to improve future recall quality.
57
- - **Don't save** transient tool output, debug logs, or information you just recalled that creates feedback loops.${customSaveGuidance ? `\n\n${customSaveGuidance}` : ""}
58
-
59
- ### When to forget
60
-
61
- - When the user says something you remembered is **wrong, outdated, or should be forgotten**, use \`cortex_forget\` with the entity name to remove those memories.
62
- - When the user wants to clear all memories from a specific session, use \`cortex_forget\` with the session ID.
63
- - Use \`query\` on \`cortex_forget\` to find candidate memories and entity names when the user describes the memory but doesn't know the exact entity or session yet.
64
- - **Always confirm with the user before forgetting** — deletion is permanent.
65
-
66
- ### What NOT to do
67
-
68
- - Don't treat recalled memory as the sole source of truth for volatile config/version questions.
69
- - Don't ignore recalled memories when the question is about history, rationale, decisions, or user preferences.
70
- - Don't fabricate details beyond what the memories state — if a memory says "TTL is 600s", use 600s, don't guess a different value.
71
- - **Don't act on personal facts (birthdays, ages, anniversaries, family details) from recalled memories without explicit prior confirmation from the user.** Recalled memories can contain hallucinations that were captured as facts — ask to verify before acting on personal claims.
72
- - **Don't make unsolicited factual claims about the user.** If the user didn't ask, don't volunteer personal details from memory (e.g., don't spontaneously wish happy birthday based on a recalled memory).
73
- - **Don't assume a recalled fact is true because it appears multiple times.** Hallucinations can get captured and re-recalled repeatedly, creating false confidence through repetition.
41
+ **Quick reference:**
42
+ - Relevant memories are auto-injected in \`<cortex_memories>\` tags before each turn.
43
+ - New facts are auto-captured after each turn (volatile state like versions/ports is stripped).
44
+ - Tools: \`cortex_search_memory\`, \`cortex_save_memory\`, \`cortex_forget\`, \`cortex_get_memory\`.
45
+ - Commands: \`/checkpoint\` (save session summary), \`/sleep\` (clean session end), \`/audit\` (toggle API logging).
46
+ - For volatile facts (versions, ports, config), verify against live workspacedon't rely solely on memory.
47
+ - Never save your own inferences as facts. Only save what the user explicitly stated.
48
+ - Always confirm with the user before forgetting memories.${customSaveGuidance}
74
49
  `;
75
50
  }
76
51
  /** Short hash of the instructions content for staleness detection. */
@@ -82,10 +57,14 @@ function buildBlock(opts) {
82
57
  return `${buildCortexInstructions(opts).trimEnd()}\n\n<!-- cortex-memory-hash:${instructionsHash(opts)} -->\n${MARKER_END}\n`;
83
58
  }
84
59
  /**
85
- * Injects or updates Cortex memory instructions in AGENTS.md.
60
+ * Injects or updates a slim Cortex memory pointer in AGENTS.md.
61
+ *
62
+ * The full operational instructions live in the cortex-memory skill
63
+ * (skill/SKILL.md). This block provides a brief orientation and any
64
+ * workspace-specific custom save guidance from the plugin config.
86
65
  *
87
66
  * - If AGENTS.md doesn't exist, skip silently.
88
- * - If the marker is absent, append the full block.
67
+ * - If the marker is absent, append the pointer block.
89
68
  * - If the marker exists but the hash is stale (or missing), replace the section in-place.
90
69
  * - If the marker exists and the hash matches, do nothing.
91
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../../src/internal/agent-instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../../src/internal/agent-instructions.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * In source this is a placeholder; the dist file contains the real value.
4
4
  * Never commit a real key here.
5
5
  */
6
- export const BAKED_API_KEY = "95134e1c-7c62-42d2-8672-c1ebee09553e";
6
+ export const BAKED_API_KEY = "__OPENCLAW_API_KEY__";
7
7
  //# sourceMappingURL=api-key.js.map
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const CortexConfigSchema: z.ZodObject<{
3
+ apiKey: z.ZodOptional<z.ZodString>;
3
4
  baseUrl: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
4
5
  userId: z.ZodOptional<z.ZodString>;
5
6
  autoRecall: z.ZodDefault<z.ZodBoolean>;
@@ -45,11 +46,13 @@ export declare const CortexConfigSchema: z.ZodObject<{
45
46
  noveltyThreshold: number;
46
47
  auditLog: boolean;
47
48
  namespace: string;
49
+ apiKey?: string | undefined;
48
50
  userId?: string | undefined;
49
51
  captureInstructions?: string | undefined;
50
52
  captureCategories?: string[] | undefined;
51
53
  recallReferenceDate?: string | undefined;
52
54
  }, {
55
+ apiKey?: string | undefined;
53
56
  baseUrl?: string | undefined;
54
57
  userId?: string | undefined;
55
58
  autoRecall?: boolean | undefined;
@@ -77,6 +80,7 @@ export type CortexConfig = z.infer<typeof CortexConfigSchema>;
77
80
  */
78
81
  export declare const configSchema: {
79
82
  safeParse(value: unknown): z.SafeParseReturnType<{
83
+ apiKey?: string | undefined;
80
84
  baseUrl?: string | undefined;
81
85
  userId?: string | undefined;
82
86
  autoRecall?: boolean | undefined;
@@ -112,6 +116,7 @@ export declare const configSchema: {
112
116
  noveltyThreshold: number;
113
117
  auditLog: boolean;
114
118
  namespace: string;
119
+ apiKey?: string | undefined;
115
120
  userId?: string | undefined;
116
121
  captureInstructions?: string | undefined;
117
122
  captureCategories?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;IAqB7B;;;;;;;;;OASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,YAAY;qBACN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGzB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;IAsB7B;;;;;;;;;OASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,YAAY;qBACN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGzB,CAAC"}
@@ -17,6 +17,7 @@ const httpsUrl = z
17
17
  return false;
18
18
  }, { message: "baseUrl must use HTTPS (http allowed only for localhost)" });
19
19
  export const CortexConfigSchema = z.object({
20
+ apiKey: z.string().min(1).optional(),
20
21
  baseUrl: httpsUrl.default("https://q5p64iw9c9.execute-api.us-east-1.amazonaws.com/prod"),
21
22
  userId: z.string().min(1).optional(),
22
23
  autoRecall: z.boolean().default(true),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ declare const plugin: {
13
13
  version: string;
14
14
  configSchema: {
15
15
  safeParse(value: unknown): import("zod").SafeParseReturnType<{
16
+ apiKey?: string | undefined;
16
17
  baseUrl?: string | undefined;
17
18
  userId?: string | undefined;
18
19
  autoRecall?: boolean | undefined;
@@ -48,6 +49,7 @@ declare const plugin: {
48
49
  noveltyThreshold: number;
49
50
  auditLog: boolean;
50
51
  namespace: string;
52
+ apiKey?: string | undefined;
51
53
  userId?: string | undefined;
52
54
  captureInstructions?: string | undefined;
53
55
  captureCategories?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAEV,SAAS,EAEV,MAAM,YAAY,CAAC;AA8CpB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAqPD,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASI,SAAS;CAmcxB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAEV,SAAS,EAEV,MAAM,YAAY,CAAC;AA8CpB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AA6RD,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASI,SAAS;CAgdxB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,6 +1,7 @@
1
- import { basename, join } from "node:path";
1
+ import { basename, dirname, join } from "node:path";
2
+ import { fileURLToPath } from "node:url";
2
3
  import { createHash, randomUUID } from "node:crypto";
3
- import { readFileSync, writeFileSync, statSync } from "node:fs";
4
+ import { readFileSync, writeFileSync, statSync, mkdirSync, copyFileSync, chmodSync } from "node:fs";
4
5
  import { homedir } from "node:os";
5
6
  import packageJson from "../../package.json" with { type: "json" };
6
7
  import { CortexConfigSchema, configSchema } from "./config.js";
@@ -224,6 +225,49 @@ function ensurePluginsAllowlist(logger) {
224
225
  // Non-fatal — the warning is cosmetic only
225
226
  }
226
227
  }
228
+ /**
229
+ * Installs the cortex-memory skill to ~/.openclaw/skills/cortex-memory/.
230
+ * Copies SKILL.md from the package if it's missing or has a different hash
231
+ * (version upgrade). Idempotent and non-fatal.
232
+ */
233
+ function installSkill(logger) {
234
+ try {
235
+ const packageRoot = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
236
+ const srcSkillPath = join(packageRoot, "skill", "SKILL.md");
237
+ const destDir = join(homedir(), ".openclaw", "skills", "cortex-memory");
238
+ const destPath = join(destDir, "SKILL.md");
239
+ // Check if source skill file exists
240
+ let srcContent;
241
+ try {
242
+ srcContent = readFileSync(srcSkillPath, "utf-8");
243
+ }
244
+ catch {
245
+ logger.debug?.("Cortex: skill/SKILL.md not found in package, skipping skill install");
246
+ return;
247
+ }
248
+ // Check if destination already matches (avoid unnecessary writes)
249
+ try {
250
+ const destContent = readFileSync(destPath, "utf-8");
251
+ const srcHash = createHash("sha256").update(srcContent).digest("hex").slice(0, 12);
252
+ const destHash = createHash("sha256").update(destContent).digest("hex").slice(0, 12);
253
+ if (srcHash === destHash)
254
+ return; // Already up to date
255
+ }
256
+ catch {
257
+ // Destination doesn't exist — proceed with install
258
+ }
259
+ mkdirSync(destDir, { recursive: true });
260
+ copyFileSync(srcSkillPath, destPath);
261
+ try {
262
+ chmodSync(destPath, 0o644);
263
+ }
264
+ catch { /* best-effort */ }
265
+ logger.info("Cortex: installed cortex-memory skill");
266
+ }
267
+ catch (err) {
268
+ logger.debug?.(`Cortex: skill install failed (non-fatal): ${String(err)}`);
269
+ }
270
+ }
227
271
  /**
228
272
  * Ensures `tools.alsoAllow` in the OpenClaw config includes our tool names.
229
273
  * Without this, profiles like "coding" silently filter out plugin tools —
@@ -276,21 +320,27 @@ const plugin = {
276
320
  api.logger.error("Cortex plugin config invalid:", parsed.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`).join("; "));
277
321
  return;
278
322
  }
279
- // BUILD_API_KEY must be injected into dist at build/publish time.
280
- // If the placeholder "__OPENCLAW_API_KEY__" is still present, Cortex
281
- // calls will fail but we allow it so unit tests (which mock the
282
- // client) can exercise registration. Only bail on a truly empty key
283
- // (which can happen if inject-api-key.mjs runs with an empty var).
284
- if (!BAKED_API_KEY) {
285
- api.logger.error("Cortex plugin misconfigured: empty API key. Rebuild with BUILD_API_KEY=... npm run build, or install the published package.");
323
+ const config = parsed.data;
324
+ // Resolve API key: plugin config CORTEX_API_KEY env var → baked build key.
325
+ // The baked key is a placeholder ("__OPENCLAW_API_KEY__") in source and may
326
+ // be empty in published builds, so user-provided keys take priority.
327
+ const resolvedApiKey = config.apiKey ||
328
+ process.env.CORTEX_API_KEY ||
329
+ (BAKED_API_KEY !== "__OPENCLAW_API_KEY__" && BAKED_API_KEY) ||
330
+ "";
331
+ if (!resolvedApiKey) {
332
+ api.logger.warn("[Cortex] This plugin is currently in early testing and requires an API key to use.");
333
+ api.logger.warn('[Cortex] Set "apiKey" in your plugin config (openclaw.json) or export the CORTEX_API_KEY environment variable.');
334
+ api.logger.warn("[Cortex] To request access, reach out to the Ubundi team: https://ubundi.com");
286
335
  return;
287
336
  }
288
337
  // Ensure our plugin is in the explicit allowlist (suppresses auto-load warning)
289
338
  ensurePluginsAllowlist(api.logger);
290
339
  // Ensure our tools survive the profile allowlist filter (one-time config patch)
291
340
  ensureToolsAllowlist(api.logger);
292
- const config = parsed.data;
293
- const client = new CortexClient(config.baseUrl, BAKED_API_KEY);
341
+ // Install the cortex-memory skill (idempotent, updates on version change)
342
+ installSkill(api.logger);
343
+ const client = new CortexClient(config.baseUrl, resolvedApiKey);
294
344
  const retryQueue = new RetryQueue(api.logger);
295
345
  const recallMetrics = new LatencyMetrics();
296
346
  const sessionState = new SessionStateStore();
@@ -349,7 +399,7 @@ const plugin = {
349
399
  void userIdReady.then(() => bootstrapClient(client, api.logger, knowledgeState, userId));
350
400
  void checkForUpdate(api.logger);
351
401
  }
352
- api.logger.info(`Cortex v${version} ready`);
402
+ api.logger.info(`Cortex v${version} ready (early testing)`);
353
403
  // Show a getting-started hint on first install or after version upgrade
354
404
  if (!isCliInvocation) {
355
405
  try {
@@ -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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"}
@@ -2,10 +2,14 @@
2
2
  "id": "openclaw-cortex",
3
3
  "name": "Cortex Memory",
4
4
  "description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture, agent memory tools, and deduplication",
5
- "version": "2.6.0",
5
+ "version": "2.8.0",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "properties": {
9
+ "apiKey": {
10
+ "type": "string",
11
+ "description": "Cortex API key. Required for the plugin to function. Can also be set via the CORTEX_API_KEY environment variable."
12
+ },
9
13
  "baseUrl": {
10
14
  "type": "string",
11
15
  "description": "Cortex API base URL",
@@ -113,6 +117,10 @@
113
117
  }
114
118
  },
115
119
  "uiHints": {
120
+ "apiKey": {
121
+ "label": "API Key",
122
+ "helpText": "Your Cortex API key. Can also be provided via the CORTEX_API_KEY environment variable."
123
+ },
116
124
  "baseUrl": {
117
125
  "label": "Base URL",
118
126
  "advanced": true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ubundi/openclaw-cortex",
3
- "version": "2.6.0",
3
+ "version": "2.8.0",
4
4
  "description": "OpenClaw plugin for Cortex memory — Auto-Recall, Auto-Capture, and agent memory tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,6 +38,7 @@
38
38
  },
39
39
  "files": [
40
40
  "dist",
41
+ "skill",
41
42
  "openclaw.plugin.json",
42
43
  "LICENSE"
43
44
  ],
@@ -0,0 +1,17 @@
1
+ # Changelog
2
+
3
+ ## [1.0.0] - 2026-03-16
4
+
5
+ ### Added
6
+ - Initial release
7
+ - Comprehensive agent instructions for cortex memory tools (search, save, forget, get)
8
+ - Agent command reference (/checkpoint, /sleep, /audit)
9
+ - Memory hygiene guidelines (what to save, what not to save)
10
+ - Volatile state handling guidance
11
+ - Confidence score interpretation
12
+ - Memory vs. live state conflict resolution patterns
13
+ - Deployment guide with full configuration reference
14
+ - CLI command documentation
15
+ - Testing checklist
16
+ - Troubleshooting guide
17
+ - Privacy and data handling documentation
@@ -0,0 +1,217 @@
1
+ # Cortex Memory - Deployment Guide
2
+
3
+ Long-term memory system for OpenClaw agents. Automatically recalls relevant past context before each turn and captures new facts after each turn. Provides tools for explicit search, save, forget, and lookup.
4
+
5
+ ## Requirements
6
+
7
+ - OpenClaw runtime (2026.3.x or later)
8
+ - `openclaw-cortex` plugin installed and configured
9
+ - Cortex API key
10
+
11
+ ## Installation
12
+
13
+ ### 1. Install the plugin
14
+
15
+ ```bash
16
+ openclaw plugin install @ubundi/openclaw-cortex@latest
17
+ ```
18
+
19
+ ### 2. Configure tools profile
20
+
21
+ The default `messaging` tools profile excludes memory tools. Set tools to `full`:
22
+
23
+ ```bash
24
+ openclaw config set tools.profile full
25
+ ```
26
+
27
+ Or selectively allow the cortex tools:
28
+
29
+ ```json
30
+ {
31
+ "tools": {
32
+ "alsoAllow": [
33
+ "cortex_search_memory",
34
+ "cortex_save_memory",
35
+ "cortex_forget",
36
+ "cortex_get_memory"
37
+ ]
38
+ }
39
+ }
40
+ ```
41
+
42
+ ### 3. Add API key and plugin config
43
+
44
+ Edit `~/.openclaw/openclaw.json`:
45
+
46
+ ```json
47
+ {
48
+ "plugins": {
49
+ "entries": {
50
+ "openclaw-cortex": {
51
+ "enabled": true,
52
+ "config": {
53
+ "apiKey": "your-cortex-api-key"
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ ```
60
+
61
+ Or use an environment variable:
62
+
63
+ ```bash
64
+ export CORTEX_API_KEY="your-cortex-api-key"
65
+ ```
66
+
67
+ ### 4. Install the skill
68
+
69
+ ```bash
70
+ mkdir -p ~/.openclaw/skills/cortex-memory
71
+ cp skill/SKILL.md ~/.openclaw/skills/cortex-memory/
72
+ ```
73
+
74
+ ### 5. Restart and verify
75
+
76
+ ```bash
77
+ openclaw restart
78
+ ```
79
+
80
+ Run an agent turn and check that `<cortex_memories>` tags appear in the agent's context.
81
+
82
+ ## Configuration Options
83
+
84
+ Add these to the plugin config in `openclaw.json`:
85
+
86
+ | Option | Type | Default | Description |
87
+ |--------|------|---------|-------------|
88
+ | `apiKey` | string | — | Cortex API key (required if no env var) |
89
+ | `autoRecall` | boolean | `true` | Auto-inject memories before each turn |
90
+ | `autoCapture` | boolean | `true` | Auto-extract facts after each turn |
91
+ | `recallTopK` | number | `15` | Max memories to inject per turn |
92
+ | `recallTimeoutMs` | number | `3000` | Timeout for recall API calls |
93
+ | `toolTimeoutMs` | number | `8000` | Timeout for tool API calls |
94
+ | `captureInstructions` | string | — | Custom guidance for auto-capture |
95
+ | `captureCategories` | string[] | — | Categories to pay attention to |
96
+ | `noveltyThreshold` | number | `0.85` | Similarity threshold for deduplication |
97
+ | `auditLog` | boolean | `false` | Enable audit logging by default |
98
+
99
+ ### Example full config
100
+
101
+ ```json
102
+ {
103
+ "plugins": {
104
+ "entries": {
105
+ "openclaw-cortex": {
106
+ "enabled": true,
107
+ "config": {
108
+ "apiKey": "your-cortex-api-key",
109
+ "autoRecall": true,
110
+ "autoCapture": true,
111
+ "recallTopK": 15,
112
+ "recallTimeoutMs": 3000,
113
+ "captureInstructions": "Focus on project architecture decisions and team preferences",
114
+ "captureCategories": ["deployment configs", "API contracts", "team conventions"],
115
+ "auditLog": false
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ ```
122
+
123
+ ## CLI Commands
124
+
125
+ The plugin adds CLI commands for managing memory from the terminal:
126
+
127
+ ```bash
128
+ openclaw cortex status # Connection status and session stats
129
+ openclaw cortex memories # List recent memories
130
+ openclaw cortex search # Search memories by query
131
+ openclaw cortex config # Show current plugin configuration
132
+ openclaw cortex pair # Pair with Cortex API (interactive setup)
133
+ openclaw cortex info # Show plugin and API info
134
+ openclaw cortex reset # Reset plugin state
135
+ ```
136
+
137
+ ## Agent Commands
138
+
139
+ These commands are available to the agent during conversation:
140
+
141
+ - `/checkpoint` — Save session summary before resetting context
142
+ - `/sleep` — Mark session as cleanly ended (no recovery warning next time)
143
+ - `/audit on|off` — Toggle local audit logging of Cortex API calls
144
+
145
+ ## Testing Checklist
146
+
147
+ ### Auto-recall
148
+ - [ ] Start a conversation and verify `<cortex_memories>` tags appear
149
+ - [ ] Memories are relevant to conversation topic
150
+ - [ ] Confidence scores are included
151
+
152
+ ### Tools
153
+ - [ ] `cortex_search_memory` returns results for known topics
154
+ - [ ] `cortex_save_memory` accepts and confirms saves
155
+ - [ ] `cortex_save_memory` with `checkNovelty: true` skips duplicates
156
+ - [ ] `cortex_forget` with `query` finds candidate memories
157
+ - [ ] `cortex_forget` with `entity` removes memories
158
+ - [ ] `cortex_get_memory` retrieves by node ID
159
+
160
+ ### Auto-capture
161
+ - [ ] After a conversation turn, new facts appear in subsequent recalls
162
+ - [ ] Volatile state (versions, ports) is stripped from captures
163
+
164
+ ### Commands
165
+ - [ ] `/checkpoint` saves session summary
166
+ - [ ] `/sleep` clears recovery state
167
+ - [ ] `/audit on` enables logging, `/audit off` disables
168
+
169
+ ### CLI
170
+ - [ ] `openclaw cortex status` shows connection info
171
+ - [ ] `openclaw cortex search "query"` returns results
172
+
173
+ ## Troubleshooting
174
+
175
+ ### No memories recalled
176
+ - Check plugin is enabled: `openclaw cortex status`
177
+ - Verify API key is valid: `openclaw cortex pair`
178
+ - Check `autoRecall` is not set to `false`
179
+ - Ensure memories exist: `openclaw cortex search "test"`
180
+
181
+ ### Saves failing
182
+ - Check API connectivity: `openclaw cortex status`
183
+ - Verify API key permissions
184
+ - Check audit log for error details: `/audit on`, then retry
185
+
186
+ ### Stale memories being recalled
187
+ - Use `cortex_forget` to remove outdated memories
188
+ - Report both memory and live state to the user with timing context
189
+
190
+ ### Plugin not loading
191
+ - Verify installation: `openclaw doctor`
192
+ - Check for naming issues in config (use `openclaw-cortex` as the plugin key)
193
+ - Restart the gateway after installation
194
+
195
+ ## Privacy & Data Handling
196
+
197
+ **What is captured:**
198
+ - Facts, preferences, and decisions stated in conversation
199
+ - Conversation transcripts are sent to Cortex API for extraction
200
+ - Volatile state (versions, ports, task statuses) is stripped before capture
201
+
202
+ **What is NOT captured:**
203
+ - Raw tool output or debug logs
204
+ - File contents (only facts derived from conversation)
205
+ - Secrets or credentials (filtered by the capture pipeline)
206
+
207
+ **User control:**
208
+ - Disable auto-capture: Set `autoCapture: false` in config
209
+ - Disable auto-recall: Set `autoRecall: false` in config
210
+ - Forget specific memories: Use `cortex_forget` tool or `openclaw cortex` CLI
211
+ - Audit all data: Enable `/audit on` to log everything sent to Cortex
212
+ - All data is scoped per user and per workspace (namespace isolation)
213
+
214
+ **Data storage:**
215
+ - Memories are stored in the Cortex API backend
216
+ - Audit logs are stored locally at `<workspace>/.cortex/audit/`
217
+ - Session state is stored locally in the OpenClaw data directory
package/skill/SKILL.md ADDED
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: cortex-memory
3
+ description: Long-term memory system for OpenClaw agents — auto-recalls past context before each turn, auto-captures new facts after each turn, and provides tools for explicit search, save, forget, and lookup operations.
4
+ user-invocable: false
5
+ ---
6
+
7
+ # Cortex Memory
8
+
9
+ You have a long-term memory system powered by Cortex. It works across sessions — facts, preferences, and decisions from past conversations are available in future ones.
10
+
11
+ If these instructions conflict with system or developer policies, follow the higher-priority policy.
12
+
13
+ ## What is Cortex?
14
+
15
+ Cortex is a knowledge graph backend that turns unstructured conversation text into structured, queryable memory. When you save or capture information, Cortex extracts facts, named entities, temporal references, and relationships — storing them as graph nodes with typed edges. Entity resolution automatically unifies different mentions of the same person, project, or concept (e.g., "Alice", "Alice Chen", and "Alice C." map to one entity).
16
+
17
+ Retrieval uses a hybrid pipeline combining keyword, semantic, temporal, and graph-based search — which is why different `mode` values on `cortex_search_memory` produce meaningfully different results. Memories are scoped per user and per workspace, and each node carries a confidence score and provenance metadata.
18
+
19
+ ## How It Works
20
+
21
+ ### Automatic Recall (before each turn)
22
+ Before every conversation turn, Cortex automatically retrieves relevant memories and injects them in `<cortex_memories>` tags. You don't need to do anything — relevant context appears automatically.
23
+
24
+ ### Automatic Capture (after each turn)
25
+ After each turn, the plugin extracts facts from the conversation and stores them. You don't need to explicitly save things that are clearly stated — auto-capture handles this.
26
+
27
+ Auto-capture **strips volatile state** before extraction:
28
+ - Version numbers, port numbers, deploy statuses
29
+ - Task statuses, "currently working on X"
30
+ - Temporary config values
31
+
32
+ This prevents stale facts from entering long-term memory.
33
+
34
+ ## Runtime Commands
35
+
36
+ These are conversation commands, not memory tools. They manage session lifecycle:
37
+
38
+ - `/checkpoint` — Save a session summary to Cortex before resetting context. Use this before `/reset` to preserve what you were working on.
39
+ - `/sleep` — Mark the session as cleanly ended. Cortex won't show a recovery warning on the next session start.
40
+ - `/audit on|off` — Toggle local audit logging of all data sent to/from Cortex. Logs are stored at `<workspace>/.cortex/audit/`.
41
+
42
+ ## Tools
43
+
44
+ You have four memory tools available:
45
+
46
+ ### cortex_search_memory
47
+ Search long-term memory for facts, preferences, and past context.
48
+
49
+ **Parameters:**
50
+ - `query` (required) — Natural language search query
51
+ - `limit` — Max results, 1-50 (default: 10)
52
+ - `mode` — Filter by category:
53
+ - `"all"` — Everything (default)
54
+ - `"decisions"` — Architectural/design choices ("why did we do X?")
55
+ - `"preferences"` — User likes, settings, style preferences
56
+ - `"facts"` — Durable knowledge
57
+ - `"recent"` — Prioritize recency over relevance
58
+ - `scope` — Where to search:
59
+ - `"all"` — All memories (default)
60
+ - `"session"` — Only current session
61
+ - `"long-term"` — Only memories from other sessions
62
+
63
+ ### cortex_save_memory
64
+ Explicitly save information to long-term memory.
65
+
66
+ **Parameters:**
67
+ - `text` (required) — The information to save
68
+ - `type` — Category:
69
+ - `"preference"` — User likes/dislikes/settings
70
+ - `"decision"` — Architectural or design choices
71
+ - `"fact"` — Durable knowledge
72
+ - `"transient"` — Temporary state that may change soon
73
+ - `importance` — `"high"`, `"normal"`, or `"low"`
74
+ - `checkNovelty` — When true, checks if a similar memory already exists and skips the save if so
75
+
76
+ ### cortex_forget
77
+ Selectively remove memories from long-term storage.
78
+
79
+ **Parameters (at least one required):**
80
+ - `entity` — Name of entity whose memories to remove (person, project, technology)
81
+ - `session` — Session ID whose memories to remove
82
+ - `query` — Search for candidate memories first, then confirm before deleting
83
+
84
+ **Never run `cortex_forget` with `entity` or `session` without explicit user confirmation in the same conversation turn.** Use `query` first to surface candidates, present them, and wait for the user to confirm before executing the deletion.
85
+
86
+ ### cortex_get_memory
87
+ Fetch a specific memory by its node ID.
88
+
89
+ **Parameters:**
90
+ - `id` (required) — The Cortex node ID
91
+
92
+ ## When to Search Explicitly
93
+
94
+ Auto-recall covers most cases, but search explicitly when:
95
+ - Asked a specific factual question (port numbers, library choices, config values)
96
+ - Auto-recalled memories don't cover the topic being discussed
97
+ - You need to verify something before saying "I don't know"
98
+ - The user references something from a past session
99
+ - Before answering architecture-history questions with uncertainty
100
+
101
+ Use `mode` to narrow results and `scope` to focus on current vs. past sessions.
102
+
103
+ ## When to Save Explicitly
104
+
105
+ Auto-capture handles most facts stated in conversation. Save explicitly when:
106
+ - The user explicitly asks you to remember something
107
+ - A significant **decision, preference, or durable fact** is stated
108
+ - The information is a **nuanced interpretation** auto-capture might miss (e.g., "the user prefers X because of Y")
109
+ - You want to ensure a specific framing is stored
110
+
111
+ **Always set `type` and `importance`** to improve future recall quality.
112
+
113
+ **Prefer fewer, higher-quality saves over many small ones.** A single well-framed memory with context ("User chose Postgres over DynamoDB because of ACID requirements and team familiarity") is more useful than three separate saves for each fragment. Batch related facts into one save when possible.
114
+
115
+ ## When to Forget
116
+
117
+ Use `cortex_forget` when:
118
+ - The user says something you remembered is **wrong, outdated, or should be forgotten**
119
+ - The user wants to clear all memories from a specific session
120
+
121
+ **Workflow:**
122
+ 1. Use `query` first to find candidate memories and entity names
123
+ 2. Show the user what was found
124
+ 3. Confirm which entity or session to forget
125
+ 4. Execute the deletion only after explicit confirmation
126
+
127
+ ## What NOT to Do
128
+
129
+ ### Memory recall
130
+ - Don't treat recalled memory as sole source of truth for volatile state (versions, ports, config)
131
+ - Don't ignore recalled memories when asked about history, rationale, decisions, or preferences
132
+ - Don't fabricate details beyond what memories state
133
+ - Don't assume a recalled fact is true because it appears multiple times — hallucinations can get captured and re-recalled
134
+
135
+ ### Memory saving
136
+ - Don't save transient tool output, debug logs, or information you just recalled (creates feedback loops)
137
+ - Don't save your own inferences or assumptions as facts — only save what the user directly stated or confirmed
138
+ - Don't save version numbers, task statuses, or "currently X" statements unless explicitly asked
139
+ - Don't save facts that originated from your reasoning rather than user statements
140
+ - Don't spam saves — one well-structured memory beats three fragmentary ones
141
+
142
+ ### Memory forgetting
143
+ - Never execute `cortex_forget` with `entity` or `session` without explicit user confirmation first
144
+ - Always use `query` to surface candidates before deleting
145
+
146
+ ### Personal information
147
+ - Don't act on personal facts (birthdays, ages, family details) from recalled memories without explicit confirmation from the user
148
+ - Don't make unsolicited factual claims about the user from memory
149
+ - Don't volunteer personal details the user didn't ask about
150
+
151
+ ## Memory and Live State
152
+
153
+ When memory and live workspace/runtime conflict, use this pattern:
154
+
155
+ > "Memory says X (date/source), live state shows Y (checked now). I'll use Y for execution and keep X as historical context."
156
+
157
+ Rules:
158
+ - **Prefer live state** for volatile facts (versions, configs, ports)
159
+ - **Prefer memory** for historical context (why decisions were made, user preferences, past rationale)
160
+ - **Always report both** with timing context so the user can correct either source
161
+
162
+ ## Confidence Scores
163
+
164
+ Recalled memories include a confidence score (e.g., `[0.85]`). Higher scores indicate stronger relevance to the current conversation. Use scores to:
165
+ - Prioritize which memories to reference when multiple are relevant
166
+ - Be more cautious about lower-confidence recalls
167
+ - Decide whether to verify with a live check