-
Notifications
You must be signed in to change notification settings - Fork 61
Expand file tree
/
Copy pathopenclaw.plugin.json
More file actions
228 lines (228 loc) · 8.28 KB
/
openclaw.plugin.json
File metadata and controls
228 lines (228 loc) · 8.28 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
{
"id": "clawvault",
"name": "ClawVault",
"version": "3.5.0",
"kind": "memory",
"description": "Structured memory system for AI agents with context death resilience",
"configSchema": {
"type": "object",
"properties": {
"vaultPath": {
"type": "string",
"description": "Path to the ClawVault vault directory. Used as fallback when agentVaults is not set or agent not found."
},
"agentVaults": {
"type": "object",
"description": "Mapping of agent names to vault paths. Allows each agent to have its own vault. Falls back to vaultPath if agent not found.",
"additionalProperties": {
"type": "string",
"description": "Path to the vault directory for this agent"
}
},
"allowClawvaultExec": {
"type": "boolean",
"description": "Security gate for all child_process execution from the plugin. Must be true to run clawvault CLI commands.",
"default": false
},
"clawvaultBinaryPath": {
"type": "string",
"description": "Optional absolute path to the clawvault executable. When omitted, the plugin resolves clawvault from PATH."
},
"clawvaultBinarySha256": {
"type": "string",
"description": "Optional SHA-256 checksum for clawvaultBinaryPath (or resolved clawvault executable) to enforce binary integrity verification."
},
"allowEnvAccess": {
"type": "boolean",
"description": "Allow reading OPENCLAW_* and CLAWVAULT_PATH environment variables for vault and agent discovery.",
"default": false
},
"enableStartupRecovery": {
"type": "boolean",
"description": "Enable recovery checks on gateway startup.",
"default": false
},
"enableSessionContextInjection": {
"type": "boolean",
"description": "Enable recap/context injection on session start.",
"default": false
},
"enableAutoCheckpoint": {
"type": "boolean",
"description": "Enable automatic checkpointing on /new.",
"default": false
},
"enableObserveOnNew": {
"type": "boolean",
"description": "Enable observer flush on /new.",
"default": false
},
"enableHeartbeatObservation": {
"type": "boolean",
"description": "Enable observation threshold checks on heartbeat.",
"default": false
},
"enableCompactionObservation": {
"type": "boolean",
"description": "Enable forced observer flush on compaction events.",
"default": false
},
"enableWeeklyReflection": {
"type": "boolean",
"description": "Enable weekly reflection on Sunday midnight UTC.",
"default": false
},
"enableFactExtraction": {
"type": "boolean",
"description": "Enable extraction of structured facts from observed text during hook events.",
"default": false
},
"autoCheckpoint": {
"type": "boolean",
"description": "Deprecated alias for enableAutoCheckpoint.",
"default": false
},
"observeOnHeartbeat": {
"type": "boolean",
"description": "Deprecated alias for enableHeartbeatObservation.",
"default": false
},
"weeklyReflection": {
"type": "boolean",
"description": "Deprecated alias for enableWeeklyReflection.",
"default": false
},
"contextProfile": {
"type": "string",
"enum": ["default", "planning", "incident", "handoff", "auto"],
"description": "Default context profile for session start injection",
"default": "auto"
},
"maxContextResults": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of context results to inject on session start",
"default": 4
},
"enableBeforePromptRecall": {
"type": "boolean",
"description": "Enable before_prompt_build memory recall directives and vault context injection.",
"default": true
},
"enableMessageSendingFilter": {
"type": "boolean",
"description": "Enable outbound message filtering via message_sending hook.",
"default": true
},
"enforceCommunicationProtocol": {
"type": "boolean",
"description": "Append communication protocol rules to system context and enforce rewrites.",
"default": true
},
"minQuestionRecallScore": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Minimum memory_search score used when checking outbound questions for existing answers.",
"default": 0.35
}
},
"additionalProperties": false
},
"uiHints": {
"vaultPath": {
"label": "Vault Path",
"placeholder": "~/my-vault",
"description": "Path to your ClawVault memory vault (fallback when agentVaults not set)"
},
"agentVaults": {
"label": "Agent Vaults",
"description": "Per-agent vault paths (e.g., {\"agent1\": \"/path/to/vault1\", \"agent2\": \"/path/to/vault2\"})"
},
"allowClawvaultExec": {
"label": "Allow CLI Execution",
"description": "Required opt-in to run child_process calls from the plugin."
},
"clawvaultBinaryPath": {
"label": "ClawVault Binary Path",
"description": "Absolute path to clawvault executable for stricter execution controls."
},
"clawvaultBinarySha256": {
"label": "ClawVault Binary SHA-256",
"description": "Optional checksum to verify executable integrity before execution."
},
"allowEnvAccess": {
"label": "Allow Environment Access",
"description": "Allow OPENCLAW_* and CLAWVAULT_PATH reads for fallback discovery."
},
"enableStartupRecovery": {
"label": "Startup Recovery",
"description": "Run recovery checks on gateway startup."
},
"enableSessionContextInjection": {
"label": "Session Context Injection",
"description": "Inject recap and memory context on session start."
},
"enableAutoCheckpoint": {
"label": "Auto Checkpoint",
"description": "Automatically checkpoint before /new."
},
"enableObserveOnNew": {
"label": "Observe On /new",
"description": "Run observer flush on /new."
},
"enableHeartbeatObservation": {
"label": "Observe On Heartbeat",
"description": "Check observation thresholds during heartbeat events."
},
"enableCompactionObservation": {
"label": "Observe On Compaction",
"description": "Force observer flush during compaction events."
},
"enableWeeklyReflection": {
"label": "Weekly Reflection",
"description": "Run weekly reflection on Sunday midnight UTC."
},
"enableFactExtraction": {
"label": "Fact Extraction",
"description": "Extract structured facts from hook event payloads."
},
"autoCheckpoint": {
"label": "Auto Checkpoint (Legacy Alias)",
"description": "Deprecated alias for enableAutoCheckpoint."
},
"contextProfile": {
"label": "Context Profile",
"description": "Profile used for context injection at session start"
},
"maxContextResults": {
"label": "Max Context Results",
"description": "Number of vault memories to inject"
},
"enableBeforePromptRecall": {
"label": "Enable Before Prompt Recall",
"description": "Use before_prompt_build to force memory recall and inject vault context."
},
"enableMessageSendingFilter": {
"label": "Enable Message Sending Filter",
"description": "Use message_sending to rewrite or block protocol violations."
},
"enforceCommunicationProtocol": {
"label": "Enforce Communication Protocol",
"description": "Append protocol rules to system context and enforce banned-pattern rewrites."
},
"minQuestionRecallScore": {
"label": "Min Question Recall Score",
"description": "Score threshold when deciding if outbound questions are already answered by memory."
},
"observeOnHeartbeat": {
"label": "Observe on Heartbeat (Legacy Alias)",
"description": "Deprecated alias for enableHeartbeatObservation."
},
"weeklyReflection": {
"label": "Weekly Reflection (Legacy Alias)",
"description": "Deprecated alias for enableWeeklyReflection."
}
}
}