-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenclaw.plugin.json
More file actions
243 lines (243 loc) · 8.91 KB
/
openclaw.plugin.json
File metadata and controls
243 lines (243 loc) · 8.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
{
"id": "openclaw-cortex",
"name": "Cortex Memory",
"description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture, agent memory tools, and deduplication",
"version": "2.14.3",
"configSchema": {
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"description": "Cortex API key. Required for the plugin to function. Can also be set via the CORTEX_API_KEY environment variable."
},
"baseUrl": {
"type": "string",
"description": "Cortex API base URL",
"default": "https://q5p64iw9c9.execute-api.us-east-1.amazonaws.com/prod"
},
"userId": {
"type": "string",
"description": "User ID to scope memories to this installation. Auto-generated and persisted at ~/.openclaw/cortex-user-id if not set."
},
"autoRecall": {
"type": "boolean",
"description": "Inject relevant memories on cold start when workspace daily notes are unavailable",
"default": false
},
"autoCapture": {
"type": "boolean",
"description": "Extract facts from conversations after agent turns",
"default": true
},
"recallLimit": {
"type": "number",
"description": "Maximum number of memories to retrieve per turn",
"default": 20
},
"recallTopK": {
"type": "number",
"description": "Max memories returned after scoring (applied after recallLimit)",
"default": 10
},
"recallQueryType": {
"type": "string",
"description": "Recall query type to use for automatic recall (factual, emotional, combined, or codex)",
"enum": [
"factual",
"emotional",
"combined",
"codex"
],
"default": "combined"
},
"recallProfile": {
"type": "string",
"description": "Recall profile for automatic recall (auto, default, factual, planning, incident, or handoff)",
"enum": [
"auto",
"default",
"factual",
"planning",
"incident",
"handoff"
],
"default": "auto"
},
"recallTimeoutMs": {
"type": "number",
"description": "Maximum time to wait for memory recall (ms)",
"default": 60000
},
"toolTimeoutMs": {
"type": "number",
"description": "Timeout for explicit tool calls and /memories search (ms)",
"default": 60000
},
"captureMaxPayloadBytes": {
"type": "number",
"description": "Max byte size of capture payloads. Oversized transcripts are trimmed from oldest messages.",
"default": 262144
},
"captureFilter": {
"type": "boolean",
"description": "Enable built-in filter to drop low-signal content (heartbeat messages, TUI artifacts, token counters) before ingestion",
"default": true
},
"dedupeWindowMinutes": {
"type": "number",
"description": "Time window (in minutes) for client-side deduplication of explicit memory saves. Set to 0 to disable.",
"default": 30
},
"noveltyThreshold": {
"type": "number",
"description": "Similarity score threshold (0-1) for the novelty check against existing memories. Memories scoring above this are considered duplicates. Lower values are stricter.",
"default": 0.85
},
"auditLog": {
"type": "boolean",
"description": "Record all data sent to Cortex in a local audit log at .cortex/audit/",
"default": true
},
"namespace": {
"type": "string",
"description": "Session namespace to isolate memory per workspace/project. Auto-derived from workspace directory if not set.",
"default": "openclaw"
},
"captureInstructions": {
"type": "string",
"description": "Optional custom guidance appended to AGENTS.md describing what kinds of information should be proactively saved to Cortex."
},
"captureCategories": {
"type": "array",
"description": "Optional list of categories the agent should pay extra attention to when deciding what to save to memory.",
"items": {
"type": "string"
}
},
"sessionGoal": {
"type": "boolean",
"description": "Enable session goal detection and injection into recall and capture pipelines",
"default": true
},
"agentRole": {
"type": "string",
"enum": [
"developer",
"researcher",
"manager",
"support",
"generalist"
],
"description": "Agent specialization that tunes capture categories, capture instructions, and recall context for the role."
},
"configVersion": {
"type": "number",
"description": "Internal config migration version marker. Do not set manually.",
"default": 1
}
}
},
"uiHints": {
"apiKey": {
"label": "API Key",
"helpText": "Your Cortex API key. Can also be provided via the CORTEX_API_KEY environment variable."
},
"baseUrl": {
"label": "Base URL",
"advanced": true
},
"autoRecall": {
"label": "Auto Recall",
"helpText": "Automatically inject relevant memories on cold start when workspace daily notes are unavailable."
},
"autoCapture": {
"label": "Auto Capture",
"helpText": "Automatically extract facts from conversations after agent turns."
},
"userId": {
"label": "User ID",
"advanced": true,
"helpText": "Scopes all memories to this installation. Auto-generated at ~/.openclaw/cortex-user-id on first run — only set this if you need to share memories across machines or override the auto-generated ID."
},
"recallLimit": {
"label": "Recall Limit",
"advanced": true,
"helpText": "Maximum number of memories injected per turn (1-50)."
},
"recallQueryType": {
"label": "Recall Query Type",
"advanced": true,
"helpText": "Query type for automatic recall: factual, emotional, combined, or codex."
},
"recallTopK": {
"label": "Recall Top-K",
"advanced": true,
"helpText": "Max memories returned after scoring, applied after recallLimit (1-50)."
},
"recallProfile": {
"label": "Recall Profile",
"advanced": true,
"helpText": "Recall strategy profile. 'auto' selects the best profile based on conversation context."
},
"recallTimeoutMs": {
"label": "Recall Timeout (ms)",
"advanced": true
},
"toolTimeoutMs": {
"label": "Tool Timeout (ms)",
"advanced": true,
"helpText": "Timeout for cortex_search_memory tool and /memories command searches."
},
"captureMaxPayloadBytes": {
"label": "Capture Max Payload Size",
"advanced": true,
"helpText": "Maximum byte size for capture payloads (default 256KB). Oversized transcripts are trimmed from oldest messages."
},
"captureFilter": {
"label": "Capture Filter",
"helpText": "Filters out low-signal content (heartbeats, TUI artifacts, token counters) before ingestion."
},
"dedupeWindowMinutes": {
"label": "Dedupe Window (min)",
"advanced": true,
"helpText": "Time window for client-side deduplication of saves. Saves that are too similar to a recent save within this window are skipped. Set to 0 to disable."
},
"noveltyThreshold": {
"label": "Novelty Threshold",
"advanced": true,
"helpText": "Similarity score (0-1) above which an existing memory is considered a duplicate during save-if-novel checks. Lower = stricter deduplication."
},
"auditLog": {
"label": "Audit Log",
"helpText": "Records every payload sent to Cortex at .cortex/audit/ in your workspace. Also toggleable at runtime via /audit on."
},
"namespace": {
"label": "Namespace",
"advanced": true,
"helpText": "Isolates memory per workspace. Auto-derived from workspace directory if left empty."
},
"captureInstructions": {
"label": "Capture Instructions",
"advanced": true,
"helpText": "Appends custom save guidance to the injected Cortex section in AGENTS.md so the agent knows what to prioritize."
},
"captureCategories": {
"label": "Capture Categories",
"advanced": true,
"helpText": "Highlights categories the agent should especially watch for when deciding what to save to memory."
},
"sessionGoal": {
"label": "Session Goal",
"helpText": "When enabled, the agent sets a session goal that biases recall toward relevant memories and tags captured facts."
},
"agentRole": {
"label": "Agent Role",
"helpText": "Tunes memory capture and recall for a specific focus area. Leave unset for general-purpose behavior."
},
"configVersion": {
"label": "Config Version",
"advanced": true,
"helpText": "Internal migration marker. Do not change manually."
}
}
}