forked from Martian-Engineering/lossless-claw
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenclaw.plugin.json
More file actions
216 lines (216 loc) · 6.25 KB
/
openclaw.plugin.json
File metadata and controls
216 lines (216 loc) · 6.25 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
{
"id": "lossless-claw",
"uiHints": {
"contextThreshold": {
"label": "Context Threshold",
"help": "Fraction of context window that triggers compaction (0.0–1.0)"
},
"incrementalMaxDepth": {
"label": "Incremental Max Depth",
"help": "How deep incremental compaction goes (0 = leaf only, -1 = unlimited)"
},
"freshTailCount": {
"label": "Fresh Tail Count",
"help": "Number of recent messages protected from compaction"
},
"leafChunkTokens": {
"label": "Leaf Chunk Tokens",
"help": "Maximum source tokens per leaf compaction chunk before summarization"
},
"newSessionRetainDepth": {
"label": "New Session Retain Depth",
"help": "Context retained after /new (-1 keeps all context, 2 keeps d2+)"
},
"leafTargetTokens": {
"label": "Leaf Target Tokens",
"help": "Target token count for leaf summaries"
},
"condensedTargetTokens": {
"label": "Condensed Target Tokens",
"help": "Target token count for condensed summaries"
},
"maxExpandTokens": {
"label": "Max Expand Tokens",
"help": "Token cap for lcm_expand_query expansion calls"
},
"dbPath": {
"label": "Database Path",
"help": "Path to LCM SQLite database (default: ~/.openclaw/lcm.db)"
},
"ignoreSessionPatterns": {
"label": "Ignored Sessions",
"help": "Glob patterns for session keys to exclude from LCM storage"
},
"statelessSessionPatterns": {
"label": "Stateless Sessions",
"help": "Glob patterns for session keys that can read from LCM but never write to it"
},
"skipStatelessSessions": {
"label": "Skip Stateless Sessions",
"help": "When enabled, matching stateless session keys skip LCM persistence and grant writes"
},
"summaryModel": {
"label": "Summary Model",
"help": "Model override for LCM summarization (e.g., 'gpt-5.4' to reuse the session provider, or 'openai-resp/gpt-5.4' for a full cross-provider ref)"
},
"summaryProvider": {
"label": "Summary Provider",
"help": "Provider override used only when summaryModel is a bare model name (e.g., 'openai-resp')"
},
"largeFileSummaryModel": {
"label": "Large File Summary Model",
"help": "Model override for large-file summarization"
},
"largeFileSummaryProvider": {
"label": "Large File Summary Provider",
"help": "Provider override for large-file summarization"
},
"expansionModel": {
"label": "Expansion Model",
"help": "Model override for lcm_expand_query sub-agent (e.g., 'anthropic/claude-haiku-4-5')"
},
"expansionProvider": {
"label": "Expansion Provider",
"help": "Provider override for lcm_expand_query sub-agent (e.g., 'anthropic')"
},
"delegationTimeoutMs": {
"label": "Delegation Timeout (ms)",
"help": "Maximum time to wait for delegated lcm_expand_query sub-agent completion before timing out"
},
"maxAssemblyTokenBudget": {
"label": "Max Assembly Token Budget",
"help": "Hard ceiling for assembly token budget — caps runtime-provided and fallback budgets. Set for smaller context-window models (e.g., 30000 for 32k models)"
},
"summaryMaxOverageFactor": {
"label": "Summary Max Overage Factor",
"help": "Maximum allowed overage factor for summaries relative to target tokens (default 3). Summaries exceeding this are deterministically truncated."
},
"customInstructions": {
"label": "Custom Instructions",
"help": "Natural language instructions injected into all summarization prompts (e.g., formatting rules, tone control)"
},
"timezone": {
"label": "Timezone",
"help": "IANA timezone used for summary timestamps"
},
"pruneHeartbeatOk": {
"label": "Prune HEARTBEAT_OK",
"help": "Retroactively delete HEARTBEAT_OK turn cycles from LCM storage"
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"contextThreshold": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"incrementalMaxDepth": {
"type": "integer",
"minimum": -1
},
"freshTailCount": {
"type": "integer",
"minimum": 1
},
"leafChunkTokens": {
"type": "integer",
"minimum": 1
},
"newSessionRetainDepth": {
"type": "integer",
"minimum": -1
},
"leafTargetTokens": {
"type": "integer",
"minimum": 1
},
"condensedTargetTokens": {
"type": "integer",
"minimum": 1
},
"maxExpandTokens": {
"type": "integer",
"minimum": 1
},
"leafMinFanout": {
"type": "integer",
"minimum": 2
},
"condensedMinFanout": {
"type": "integer",
"minimum": 2
},
"condensedMinFanoutHard": {
"type": "integer",
"minimum": 2
},
"dbPath": {
"type": "string"
},
"ignoreSessionPatterns": {
"type": "array",
"items": {
"type": "string"
}
},
"statelessSessionPatterns": {
"type": "array",
"items": {
"type": "string"
}
},
"skipStatelessSessions": {
"type": "boolean"
},
"largeFileThresholdTokens": {
"type": "integer",
"minimum": 1000
},
"summaryModel": {
"type": "string"
},
"summaryProvider": {
"type": "string"
},
"largeFileSummaryModel": {
"type": "string"
},
"largeFileSummaryProvider": {
"type": "string"
},
"expansionModel": {
"type": "string"
},
"expansionProvider": {
"type": "string"
},
"delegationTimeoutMs": {
"type": "integer",
"minimum": 1
},
"maxAssemblyTokenBudget": {
"type": "integer",
"minimum": 1000
},
"summaryMaxOverageFactor": {
"type": "number",
"minimum": 1
},
"customInstructions": {
"type": "string"
},
"timezone": {
"type": "string"
},
"pruneHeartbeatOk": {
"type": "boolean"
}
}
}
}