@xfxstudio/claworld 2026.4.27-testing → 2026.4.28-testing
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/openclaw.plugin.json +245 -234
- package/package.json +1 -1
- package/src/openclaw/index.js +1 -0
- package/src/openclaw/plugin/config-schema.js +6 -0
package/openclaw.plugin.json
CHANGED
|
@@ -8,284 +8,295 @@
|
|
|
8
8
|
],
|
|
9
9
|
"name": "Claworld Persona Relay",
|
|
10
10
|
"description": "Claworld relay world channel plugin for OpenClaw.",
|
|
11
|
-
"version": "2026.4.
|
|
11
|
+
"version": "2026.4.28-testing",
|
|
12
12
|
"configSchema": {
|
|
13
13
|
"type": "object",
|
|
14
14
|
"additionalProperties": false,
|
|
15
|
-
"properties": {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"type": "boolean",
|
|
23
|
-
"description": "Enable the Claworld channel plugin."
|
|
24
|
-
},
|
|
25
|
-
"serverUrl": {
|
|
26
|
-
"type": "string",
|
|
27
|
-
"minLength": 1,
|
|
28
|
-
"description": "Relay backend base URL or websocket URL (http/https/ws/wss)."
|
|
29
|
-
},
|
|
30
|
-
"apiKey": {
|
|
31
|
-
"type": "string",
|
|
32
|
-
"minLength": 1,
|
|
33
|
-
"description": "Plugin/backend API key for future backend-authenticated control paths."
|
|
34
|
-
},
|
|
35
|
-
"appToken": {
|
|
36
|
-
"type": "string",
|
|
37
|
-
"minLength": 1,
|
|
38
|
-
"description": "Canonical Claworld app token for this channel account."
|
|
39
|
-
},
|
|
40
|
-
"accountId": {
|
|
41
|
-
"type": "string",
|
|
42
|
-
"minLength": 1,
|
|
43
|
-
"description": "Local OpenClaw-facing account id bound to this channel instance."
|
|
44
|
-
},
|
|
45
|
-
"toolProfile": {
|
|
46
|
-
"type": "string",
|
|
47
|
-
"enum": [
|
|
48
|
-
"minimal",
|
|
49
|
-
"default",
|
|
50
|
-
"world",
|
|
51
|
-
"full"
|
|
52
|
-
],
|
|
53
|
-
"description": "Optional ignored profile selector. Current tool exposure is backend-defined."
|
|
54
|
-
},
|
|
55
|
-
"heartbeatSeconds": {
|
|
56
|
-
"type": "integer",
|
|
57
|
-
"minimum": 1,
|
|
58
|
-
"description": "Heartbeat cadence for the relay websocket client.",
|
|
59
|
-
"default": 15
|
|
60
|
-
},
|
|
61
|
-
"reconnect": {
|
|
62
|
-
"type": "boolean",
|
|
63
|
-
"description": "Whether reconnect attempts are allowed after disconnect.",
|
|
64
|
-
"default": true
|
|
65
|
-
},
|
|
66
|
-
"routing": {
|
|
15
|
+
"properties": {}
|
|
16
|
+
},
|
|
17
|
+
"channelConfigs": {
|
|
18
|
+
"claworld": {
|
|
19
|
+
"label": "Claworld",
|
|
20
|
+
"description": "Claworld relay world channel configuration.",
|
|
21
|
+
"schema": {
|
|
67
22
|
"type": "object",
|
|
68
23
|
"additionalProperties": false,
|
|
69
24
|
"properties": {
|
|
70
|
-
"
|
|
25
|
+
"name": {
|
|
71
26
|
"type": "string",
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
"mainagent"
|
|
75
|
-
],
|
|
76
|
-
"default": "mainagent"
|
|
77
|
-
},
|
|
78
|
-
"fallbackTarget": {
|
|
79
|
-
"type": "string",
|
|
80
|
-
"enum": [
|
|
81
|
-
"mainagent",
|
|
82
|
-
"human(optional)"
|
|
83
|
-
],
|
|
84
|
-
"default": "mainagent"
|
|
27
|
+
"minLength": 1,
|
|
28
|
+
"description": "Optional operator-facing name for this local Claworld account."
|
|
85
29
|
},
|
|
86
|
-
"allowHumanInterrupt": {
|
|
87
|
-
"type": "boolean",
|
|
88
|
-
"default": true
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
"testing": {
|
|
93
|
-
"type": "object",
|
|
94
|
-
"additionalProperties": false,
|
|
95
|
-
"properties": {
|
|
96
|
-
"allowBridgedCommandDispatch": {
|
|
97
|
-
"type": "boolean",
|
|
98
|
-
"description": "Test-only switch that allows bridged relay turns beginning with slash commands to use the OpenClaw command fast-path.",
|
|
99
|
-
"default": false
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"registration": {
|
|
104
|
-
"type": "object",
|
|
105
|
-
"additionalProperties": false,
|
|
106
|
-
"properties": {
|
|
107
30
|
"enabled": {
|
|
108
31
|
"type": "boolean",
|
|
109
|
-
"description": "Enable
|
|
110
|
-
"default": false
|
|
32
|
+
"description": "Enable the Claworld channel plugin."
|
|
111
33
|
},
|
|
112
|
-
"
|
|
34
|
+
"serverUrl": {
|
|
113
35
|
"type": "string",
|
|
114
36
|
"minLength": 1,
|
|
115
|
-
"description": "
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
},
|
|
119
|
-
"relay": {
|
|
120
|
-
"type": "object",
|
|
121
|
-
"additionalProperties": false,
|
|
122
|
-
"properties": {
|
|
123
|
-
"appToken": {
|
|
37
|
+
"description": "Relay backend base URL or websocket URL (http/https/ws/wss)."
|
|
38
|
+
},
|
|
39
|
+
"apiKey": {
|
|
124
40
|
"type": "string",
|
|
125
41
|
"minLength": 1,
|
|
126
|
-
"description": "
|
|
42
|
+
"description": "Plugin/backend API key for future backend-authenticated control paths."
|
|
127
43
|
},
|
|
128
|
-
"
|
|
44
|
+
"appToken": {
|
|
129
45
|
"type": "string",
|
|
130
46
|
"minLength": 1,
|
|
131
|
-
"description": "
|
|
47
|
+
"description": "Canonical Claworld app token for this channel account."
|
|
132
48
|
},
|
|
133
|
-
"
|
|
49
|
+
"accountId": {
|
|
134
50
|
"type": "string",
|
|
135
51
|
"minLength": 1,
|
|
136
|
-
"description": "
|
|
52
|
+
"description": "Local OpenClaw-facing account id bound to this channel instance."
|
|
137
53
|
},
|
|
138
|
-
"
|
|
54
|
+
"toolProfile": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"enum": [
|
|
57
|
+
"minimal",
|
|
58
|
+
"default",
|
|
59
|
+
"world",
|
|
60
|
+
"full"
|
|
61
|
+
],
|
|
62
|
+
"description": "Optional ignored profile selector. Current tool exposure is backend-defined."
|
|
63
|
+
},
|
|
64
|
+
"heartbeatSeconds": {
|
|
65
|
+
"type": "integer",
|
|
66
|
+
"minimum": 1,
|
|
67
|
+
"description": "Heartbeat cadence for the relay websocket client.",
|
|
68
|
+
"default": 15
|
|
69
|
+
},
|
|
70
|
+
"reconnect": {
|
|
71
|
+
"type": "boolean",
|
|
72
|
+
"description": "Whether reconnect attempts are allowed after disconnect.",
|
|
73
|
+
"default": true
|
|
74
|
+
},
|
|
75
|
+
"routing": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"additionalProperties": false,
|
|
78
|
+
"properties": {
|
|
79
|
+
"sessionTarget": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"enum": [
|
|
82
|
+
"subagent",
|
|
83
|
+
"mainagent"
|
|
84
|
+
],
|
|
85
|
+
"default": "mainagent"
|
|
86
|
+
},
|
|
87
|
+
"fallbackTarget": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"enum": [
|
|
90
|
+
"mainagent",
|
|
91
|
+
"human(optional)"
|
|
92
|
+
],
|
|
93
|
+
"default": "mainagent"
|
|
94
|
+
},
|
|
95
|
+
"allowHumanInterrupt": {
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"default": true
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"testing": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"additionalProperties": false,
|
|
104
|
+
"properties": {
|
|
105
|
+
"allowBridgedCommandDispatch": {
|
|
106
|
+
"type": "boolean",
|
|
107
|
+
"description": "Test-only switch that allows bridged relay turns beginning with slash commands to use the OpenClaw command fast-path.",
|
|
108
|
+
"default": false
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"registration": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"additionalProperties": false,
|
|
115
|
+
"properties": {
|
|
116
|
+
"enabled": {
|
|
117
|
+
"type": "boolean",
|
|
118
|
+
"description": "Enable relay agent registration when this account does not already have an app token.",
|
|
119
|
+
"default": false
|
|
120
|
+
},
|
|
121
|
+
"displayName": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"minLength": 1,
|
|
124
|
+
"description": "Public display name to use when the relay agent is created or refreshed."
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"relay": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"additionalProperties": false,
|
|
131
|
+
"properties": {
|
|
132
|
+
"appToken": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"minLength": 1,
|
|
135
|
+
"description": "Canonical Claworld app token for this account. The runtime resolves the bound relay agent from this token."
|
|
136
|
+
},
|
|
137
|
+
"agentId": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"minLength": 1,
|
|
140
|
+
"description": "Optional relay agent id hint. The current flow resolves the binding from appToken at runtime."
|
|
141
|
+
},
|
|
142
|
+
"credentialToken": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"minLength": 1,
|
|
145
|
+
"description": "Optional credential token for this account. appToken is the current field."
|
|
146
|
+
},
|
|
147
|
+
"defaultTargetAgentId": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"minLength": 1,
|
|
150
|
+
"description": "Default relay target agentId for minimal outbound testing."
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"defaultAccount": {
|
|
139
155
|
"type": "string",
|
|
140
156
|
"minLength": 1,
|
|
141
|
-
"description": "Default
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
"minLength": 1,
|
|
148
|
-
"description": "Default account id to use when multiple claworld accounts are configured."
|
|
149
|
-
},
|
|
150
|
-
"accounts": {
|
|
151
|
-
"type": "object",
|
|
152
|
-
"minProperties": 1,
|
|
153
|
-
"additionalProperties": {
|
|
154
|
-
"type": "object",
|
|
155
|
-
"additionalProperties": false,
|
|
156
|
-
"required": [
|
|
157
|
-
"enabled",
|
|
158
|
-
"serverUrl",
|
|
159
|
-
"apiKey",
|
|
160
|
-
"accountId"
|
|
161
|
-
],
|
|
162
|
-
"properties": {
|
|
163
|
-
"name": {
|
|
164
|
-
"type": "string",
|
|
165
|
-
"minLength": 1,
|
|
166
|
-
"description": "Optional operator-facing name for this local Claworld account."
|
|
167
|
-
},
|
|
168
|
-
"enabled": {
|
|
169
|
-
"type": "boolean",
|
|
170
|
-
"description": "Enable the Claworld channel plugin."
|
|
171
|
-
},
|
|
172
|
-
"serverUrl": {
|
|
173
|
-
"type": "string",
|
|
174
|
-
"minLength": 1,
|
|
175
|
-
"description": "Relay backend base URL or websocket URL (http/https/ws/wss)."
|
|
176
|
-
},
|
|
177
|
-
"apiKey": {
|
|
178
|
-
"type": "string",
|
|
179
|
-
"minLength": 1,
|
|
180
|
-
"description": "Plugin/backend API key for future backend-authenticated control paths."
|
|
181
|
-
},
|
|
182
|
-
"appToken": {
|
|
183
|
-
"type": "string",
|
|
184
|
-
"minLength": 1,
|
|
185
|
-
"description": "Canonical Claworld app token for this channel account."
|
|
186
|
-
},
|
|
187
|
-
"accountId": {
|
|
188
|
-
"type": "string",
|
|
189
|
-
"minLength": 1,
|
|
190
|
-
"description": "Local OpenClaw-facing account id bound to this channel instance."
|
|
191
|
-
},
|
|
192
|
-
"toolProfile": {
|
|
193
|
-
"type": "string",
|
|
194
|
-
"enum": [
|
|
195
|
-
"minimal",
|
|
196
|
-
"default",
|
|
197
|
-
"world",
|
|
198
|
-
"full"
|
|
199
|
-
],
|
|
200
|
-
"description": "Optional ignored profile selector. Current tool exposure is backend-defined."
|
|
201
|
-
},
|
|
202
|
-
"heartbeatSeconds": {
|
|
203
|
-
"type": "integer",
|
|
204
|
-
"minimum": 1,
|
|
205
|
-
"description": "Heartbeat cadence for the relay websocket client.",
|
|
206
|
-
"default": 15
|
|
207
|
-
},
|
|
208
|
-
"reconnect": {
|
|
209
|
-
"type": "boolean",
|
|
210
|
-
"description": "Whether reconnect attempts are allowed after disconnect.",
|
|
211
|
-
"default": true
|
|
212
|
-
},
|
|
213
|
-
"routing": {
|
|
157
|
+
"description": "Default account id to use when multiple claworld accounts are configured."
|
|
158
|
+
},
|
|
159
|
+
"accounts": {
|
|
160
|
+
"type": "object",
|
|
161
|
+
"minProperties": 1,
|
|
162
|
+
"additionalProperties": {
|
|
214
163
|
"type": "object",
|
|
215
164
|
"additionalProperties": false,
|
|
165
|
+
"required": [
|
|
166
|
+
"enabled",
|
|
167
|
+
"serverUrl",
|
|
168
|
+
"apiKey",
|
|
169
|
+
"accountId"
|
|
170
|
+
],
|
|
216
171
|
"properties": {
|
|
217
|
-
"
|
|
218
|
-
"type": "string",
|
|
219
|
-
"enum": [
|
|
220
|
-
"subagent",
|
|
221
|
-
"mainagent"
|
|
222
|
-
],
|
|
223
|
-
"default": "mainagent"
|
|
224
|
-
},
|
|
225
|
-
"fallbackTarget": {
|
|
172
|
+
"name": {
|
|
226
173
|
"type": "string",
|
|
227
|
-
"
|
|
228
|
-
|
|
229
|
-
"human(optional)"
|
|
230
|
-
],
|
|
231
|
-
"default": "mainagent"
|
|
174
|
+
"minLength": 1,
|
|
175
|
+
"description": "Optional operator-facing name for this local Claworld account."
|
|
232
176
|
},
|
|
233
|
-
"allowHumanInterrupt": {
|
|
234
|
-
"type": "boolean",
|
|
235
|
-
"default": true
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
"testing": {
|
|
240
|
-
"type": "object",
|
|
241
|
-
"additionalProperties": false,
|
|
242
|
-
"properties": {
|
|
243
|
-
"allowBridgedCommandDispatch": {
|
|
244
|
-
"type": "boolean",
|
|
245
|
-
"description": "Test-only switch that allows bridged relay turns beginning with slash commands to use the OpenClaw command fast-path.",
|
|
246
|
-
"default": false
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
},
|
|
250
|
-
"registration": {
|
|
251
|
-
"type": "object",
|
|
252
|
-
"additionalProperties": false,
|
|
253
|
-
"properties": {
|
|
254
177
|
"enabled": {
|
|
255
178
|
"type": "boolean",
|
|
256
|
-
"description": "Enable
|
|
257
|
-
"default": false
|
|
179
|
+
"description": "Enable the Claworld channel plugin."
|
|
258
180
|
},
|
|
259
|
-
"
|
|
181
|
+
"serverUrl": {
|
|
260
182
|
"type": "string",
|
|
261
183
|
"minLength": 1,
|
|
262
|
-
"description": "
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
},
|
|
266
|
-
"relay": {
|
|
267
|
-
"type": "object",
|
|
268
|
-
"additionalProperties": false,
|
|
269
|
-
"properties": {
|
|
270
|
-
"appToken": {
|
|
184
|
+
"description": "Relay backend base URL or websocket URL (http/https/ws/wss)."
|
|
185
|
+
},
|
|
186
|
+
"apiKey": {
|
|
271
187
|
"type": "string",
|
|
272
188
|
"minLength": 1,
|
|
273
|
-
"description": "
|
|
189
|
+
"description": "Plugin/backend API key for future backend-authenticated control paths."
|
|
274
190
|
},
|
|
275
|
-
"
|
|
191
|
+
"appToken": {
|
|
276
192
|
"type": "string",
|
|
277
193
|
"minLength": 1,
|
|
278
|
-
"description": "
|
|
194
|
+
"description": "Canonical Claworld app token for this channel account."
|
|
279
195
|
},
|
|
280
|
-
"
|
|
196
|
+
"accountId": {
|
|
281
197
|
"type": "string",
|
|
282
198
|
"minLength": 1,
|
|
283
|
-
"description": "
|
|
199
|
+
"description": "Local OpenClaw-facing account id bound to this channel instance."
|
|
284
200
|
},
|
|
285
|
-
"
|
|
201
|
+
"toolProfile": {
|
|
286
202
|
"type": "string",
|
|
287
|
-
"
|
|
288
|
-
|
|
203
|
+
"enum": [
|
|
204
|
+
"minimal",
|
|
205
|
+
"default",
|
|
206
|
+
"world",
|
|
207
|
+
"full"
|
|
208
|
+
],
|
|
209
|
+
"description": "Optional ignored profile selector. Current tool exposure is backend-defined."
|
|
210
|
+
},
|
|
211
|
+
"heartbeatSeconds": {
|
|
212
|
+
"type": "integer",
|
|
213
|
+
"minimum": 1,
|
|
214
|
+
"description": "Heartbeat cadence for the relay websocket client.",
|
|
215
|
+
"default": 15
|
|
216
|
+
},
|
|
217
|
+
"reconnect": {
|
|
218
|
+
"type": "boolean",
|
|
219
|
+
"description": "Whether reconnect attempts are allowed after disconnect.",
|
|
220
|
+
"default": true
|
|
221
|
+
},
|
|
222
|
+
"routing": {
|
|
223
|
+
"type": "object",
|
|
224
|
+
"additionalProperties": false,
|
|
225
|
+
"properties": {
|
|
226
|
+
"sessionTarget": {
|
|
227
|
+
"type": "string",
|
|
228
|
+
"enum": [
|
|
229
|
+
"subagent",
|
|
230
|
+
"mainagent"
|
|
231
|
+
],
|
|
232
|
+
"default": "mainagent"
|
|
233
|
+
},
|
|
234
|
+
"fallbackTarget": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"enum": [
|
|
237
|
+
"mainagent",
|
|
238
|
+
"human(optional)"
|
|
239
|
+
],
|
|
240
|
+
"default": "mainagent"
|
|
241
|
+
},
|
|
242
|
+
"allowHumanInterrupt": {
|
|
243
|
+
"type": "boolean",
|
|
244
|
+
"default": true
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"testing": {
|
|
249
|
+
"type": "object",
|
|
250
|
+
"additionalProperties": false,
|
|
251
|
+
"properties": {
|
|
252
|
+
"allowBridgedCommandDispatch": {
|
|
253
|
+
"type": "boolean",
|
|
254
|
+
"description": "Test-only switch that allows bridged relay turns beginning with slash commands to use the OpenClaw command fast-path.",
|
|
255
|
+
"default": false
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"registration": {
|
|
260
|
+
"type": "object",
|
|
261
|
+
"additionalProperties": false,
|
|
262
|
+
"properties": {
|
|
263
|
+
"enabled": {
|
|
264
|
+
"type": "boolean",
|
|
265
|
+
"description": "Enable relay agent registration when this account does not already have an app token.",
|
|
266
|
+
"default": false
|
|
267
|
+
},
|
|
268
|
+
"displayName": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"minLength": 1,
|
|
271
|
+
"description": "Public display name to use when the relay agent is created or refreshed."
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"relay": {
|
|
276
|
+
"type": "object",
|
|
277
|
+
"additionalProperties": false,
|
|
278
|
+
"properties": {
|
|
279
|
+
"appToken": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"minLength": 1,
|
|
282
|
+
"description": "Canonical Claworld app token for this account. The runtime resolves the bound relay agent from this token."
|
|
283
|
+
},
|
|
284
|
+
"agentId": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"minLength": 1,
|
|
287
|
+
"description": "Optional relay agent id hint. The current flow resolves the binding from appToken at runtime."
|
|
288
|
+
},
|
|
289
|
+
"credentialToken": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"minLength": 1,
|
|
292
|
+
"description": "Optional credential token for this account. appToken is the current field."
|
|
293
|
+
},
|
|
294
|
+
"defaultTargetAgentId": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"minLength": 1,
|
|
297
|
+
"description": "Default relay target agentId for minimal outbound testing."
|
|
298
|
+
}
|
|
299
|
+
}
|
|
289
300
|
}
|
|
290
301
|
}
|
|
291
302
|
}
|
package/package.json
CHANGED
package/src/openclaw/index.js
CHANGED
|
@@ -8,6 +8,12 @@ const REQUIRED_KEYS = ['enabled', 'serverUrl', 'apiKey', 'accountId'];
|
|
|
8
8
|
|
|
9
9
|
export const CLAWORLD_CHANNEL_ID = 'claworld';
|
|
10
10
|
|
|
11
|
+
export const claworldPluginConfigJsonSchema = {
|
|
12
|
+
type: 'object',
|
|
13
|
+
additionalProperties: false,
|
|
14
|
+
properties: {},
|
|
15
|
+
};
|
|
16
|
+
|
|
11
17
|
const AGENT_REGISTRATION_SCHEMA = {
|
|
12
18
|
type: 'object',
|
|
13
19
|
additionalProperties: false,
|