@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 +19 -21
- package/dist/features/capture/filter.d.ts +18 -0
- package/dist/features/capture/filter.d.ts.map +1 -1
- package/dist/features/capture/filter.js +60 -0
- package/dist/features/capture/filter.js.map +1 -1
- package/dist/features/capture/handler.d.ts.map +1 -1
- package/dist/features/capture/handler.js +8 -3
- package/dist/features/capture/handler.js.map +1 -1
- package/dist/internal/agent-instructions.d.ts +11 -2
- package/dist/internal/agent-instructions.d.ts.map +1 -1
- package/dist/internal/agent-instructions.js +21 -42
- package/dist/internal/agent-instructions.js.map +1 -1
- package/dist/internal/api-key.js +1 -1
- package/dist/plugin/config.d.ts +5 -0
- package/dist/plugin/config.d.ts.map +1 -1
- package/dist/plugin/config.js +1 -0
- package/dist/plugin/config.js.map +1 -1
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +62 -12
- package/dist/plugin/index.js.map +1 -1
- package/openclaw.plugin.json +9 -1
- package/package.json +2 -1
- package/skill/CHANGELOG.md +17 -0
- package/skill/README.md +217 -0
- package/skill/SKILL.md +167 -0
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
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
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
|
-
"
|
|
85
|
+
"openclaw-cortex": {
|
|
89
86
|
enabled: true,
|
|
90
87
|
config: {
|
|
91
|
-
//
|
|
88
|
+
apiKey: "your-cortex-api-key", // required — or 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: "
|
|
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": "
|
|
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,
|
|
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 =
|
|
168
|
+
let echoFiltered = volatileStripped;
|
|
164
169
|
if (echoStore) {
|
|
165
170
|
let echoesStripped = 0;
|
|
166
|
-
echoFiltered =
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
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 workspace — don'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
|
|
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
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAClC,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAO7C,SAAS,uBAAuB,CAAC,IAA+B;IAC9D,MAAM,kBAAkB,GAAG,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,iBAAiB,IAAI,EAAE,CAAC;SACrD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../../src/internal/agent-instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/api-key.js
CHANGED
|
@@ -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 = "
|
|
6
|
+
export const BAKED_API_KEY = "__OPENCLAW_API_KEY__";
|
|
7
7
|
//# sourceMappingURL=api-key.js.map
|
package/dist/plugin/config.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/plugin/config.js
CHANGED
|
@@ -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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"}
|
package/dist/plugin/index.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/plugin/index.js
CHANGED
|
@@ -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
|
-
|
|
280
|
-
//
|
|
281
|
-
//
|
|
282
|
-
//
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
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
|
-
|
|
293
|
-
|
|
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 {
|
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
|
@@ -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.
|
|
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.
|
|
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
|
package/skill/README.md
ADDED
|
@@ -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
|