@byokit/openclaw 0.5.1 → 0.6.1

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +37 -3
  2. package/README.md +172 -2
  3. package/dist/auth-store.js +1 -1
  4. package/dist/bridge.d.ts +10 -2
  5. package/dist/bridge.js +61 -14
  6. package/dist/browser/broker.d.ts +63 -0
  7. package/dist/browser/broker.js +990 -0
  8. package/dist/browser/host.d.ts +98 -0
  9. package/dist/browser/host.js +945 -0
  10. package/dist/browser/resume.d.ts +10 -0
  11. package/dist/browser/resume.js +23 -0
  12. package/dist/browser/store.d.ts +25 -0
  13. package/dist/browser/store.js +151 -0
  14. package/dist/browser/verify.d.ts +17 -0
  15. package/dist/browser/verify.js +38 -0
  16. package/dist/browser.d.ts +212 -0
  17. package/dist/browser.js +4 -0
  18. package/dist/config.d.ts +28 -0
  19. package/dist/config.js +130 -0
  20. package/dist/day-usage.d.ts +76 -0
  21. package/dist/day-usage.js +104 -0
  22. package/dist/device.d.ts +32 -2
  23. package/dist/device.js +224 -4
  24. package/dist/engine-patches.d.ts +36 -0
  25. package/dist/engine-patches.js +320 -0
  26. package/dist/engine-status.d.ts +13 -0
  27. package/dist/engine-status.js +31 -0
  28. package/dist/engine.d.ts +13 -1
  29. package/dist/engine.js +99 -52
  30. package/dist/index.d.ts +6 -1
  31. package/dist/index.js +2 -0
  32. package/dist/kit.d.ts +28 -3
  33. package/dist/kit.js +319 -12
  34. package/dist/link.d.ts +5 -2
  35. package/dist/link.js +333 -4
  36. package/dist/routes.d.ts +19 -8
  37. package/dist/routes.js +44 -11
  38. package/dist/routes.json +3775 -356
  39. package/dist/runs.js +8 -2
  40. package/dist/signin.d.ts +1 -1
  41. package/dist/signin.js +19 -4
  42. package/dist/testing/browser.d.ts +50 -0
  43. package/dist/testing/browser.js +166 -0
  44. package/dist/testing/index.d.ts +1 -0
  45. package/dist/testing/index.js +1 -0
  46. package/dist/testing/model-stub.d.ts +1 -0
  47. package/dist/testing/model-stub.js +3 -1
  48. package/dist/types.d.ts +50 -3
  49. package/dist/usage-boots.d.ts +8 -0
  50. package/dist/usage-boots.js +26 -0
  51. package/dist/usage.d.ts +51 -0
  52. package/dist/usage.js +61 -0
  53. package/dist/words.json +42 -0
  54. package/engine/OPENCLAW-LICENSE +24 -0
  55. package/engine/patches.json +59 -0
  56. package/engine/patches.schema.json +41 -0
  57. package/package.json +12 -4
  58. package/plugin/index.js +78 -5
  59. package/plugin/usage.js +125 -0
package/dist/routes.json CHANGED
@@ -1,4 +1,2198 @@
1
1
  [
2
+ {
3
+ "choice": "alibaba-model-studio-api-key",
4
+ "provider": "alibaba",
5
+ "plugin": "alibaba",
6
+ "billing": "api",
7
+ "via": "key",
8
+ "prerequisite": null,
9
+ "offer": false,
10
+ "offerPolicy": "explicit",
11
+ "reason": "Alibaba Model Studio: API key (billed per use).",
12
+ "source": "extensions/alibaba/openclaw.plugin.json (2026.8.1)",
13
+ "revision": "2026.8.1",
14
+ "checked": "2026-10-02",
15
+ "label": "Alibaba Model Studio API key",
16
+ "keyEntry": true,
17
+ "keyErrors": {
18
+ "invalid": "key.invalid",
19
+ "not_included": "key.notIncluded"
20
+ },
21
+ "id": "alibaba:key:alibaba-model-studio-api-key",
22
+ "name": "Alibaba Model Studio",
23
+ "company": "Alibaba Model Studio",
24
+ "billingFrom": "source",
25
+ "group": "services",
26
+ "platforms": {
27
+ "node": "yes",
28
+ "browser": "host",
29
+ "rn": "host"
30
+ },
31
+ "upstream": {
32
+ "surface": "openclaw",
33
+ "id": "alibaba",
34
+ "method": "api-key",
35
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
36
+ "flow": "present"
37
+ }
38
+ },
39
+ {
40
+ "choice": "",
41
+ "provider": "amazon-bedrock",
42
+ "plugin": "amazon-bedrock",
43
+ "billing": "api",
44
+ "via": "cloud",
45
+ "prerequisite": "Host-configured cloud credentials",
46
+ "offer": false,
47
+ "offerPolicy": "explicit",
48
+ "reason": "Cloud credentials (billed per use); configured by the host, not a wizard sign-in choice.",
49
+ "source": "extensions/amazon-bedrock/openclaw.plugin.json (2026.8.1)",
50
+ "revision": "2026.8.1",
51
+ "checked": "2026-10-02",
52
+ "label": "amazon-bedrock",
53
+ "keyEntry": false,
54
+ "keyErrors": null,
55
+ "id": "amazon-bedrock:cloud",
56
+ "name": "amazon-bedrock",
57
+ "company": "amazon-bedrock",
58
+ "billingFrom": "source",
59
+ "group": "models",
60
+ "platforms": {
61
+ "node": "yes",
62
+ "browser": "host",
63
+ "rn": "host"
64
+ },
65
+ "needs": {
66
+ "plugin": "amazon-bedrock"
67
+ },
68
+ "install": {
69
+ "npmSpec": "@openclaw/amazon-bedrock-provider",
70
+ "defaultChoice": "npm",
71
+ "minHostVersion": ">=2026.5.12-beta.1"
72
+ },
73
+ "upstream": {
74
+ "surface": "openclaw",
75
+ "id": "amazon-bedrock",
76
+ "method": "cloud",
77
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
78
+ "flow": "absent"
79
+ }
80
+ },
81
+ {
82
+ "choice": "",
83
+ "provider": "amazon-bedrock-mantle",
84
+ "plugin": "amazon-bedrock-mantle",
85
+ "billing": "api",
86
+ "via": "cloud",
87
+ "prerequisite": "Host-configured cloud credentials",
88
+ "offer": false,
89
+ "offerPolicy": "explicit",
90
+ "reason": "Cloud credentials (billed per use); configured by the host, not a wizard sign-in choice.",
91
+ "source": "extensions/amazon-bedrock-mantle/openclaw.plugin.json (2026.8.1)",
92
+ "revision": "2026.8.1",
93
+ "checked": "2026-10-02",
94
+ "label": "amazon-bedrock-mantle",
95
+ "keyEntry": false,
96
+ "keyErrors": null,
97
+ "id": "amazon-bedrock-mantle:cloud",
98
+ "name": "amazon-bedrock-mantle",
99
+ "company": "amazon-bedrock-mantle",
100
+ "billingFrom": "source",
101
+ "group": "models",
102
+ "platforms": {
103
+ "node": "yes",
104
+ "browser": "host",
105
+ "rn": "host"
106
+ },
107
+ "needs": {
108
+ "plugin": "amazon-bedrock-mantle"
109
+ },
110
+ "install": {
111
+ "npmSpec": "@openclaw/amazon-bedrock-mantle-provider",
112
+ "defaultChoice": "npm",
113
+ "minHostVersion": ">=2026.5.12-beta.1"
114
+ },
115
+ "upstream": {
116
+ "surface": "openclaw",
117
+ "id": "amazon-bedrock-mantle",
118
+ "method": "cloud",
119
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
120
+ "flow": "absent"
121
+ }
122
+ },
123
+ {
124
+ "choice": "anthropic-cli",
125
+ "provider": "anthropic",
126
+ "plugin": "anthropic",
127
+ "billing": "subscription",
128
+ "via": "cli",
129
+ "auth": "cli",
130
+ "prerequisite": "Claude Code in the isolated HOME",
131
+ "offer": false,
132
+ "offerPolicy": "default",
133
+ "legacy": {
134
+ "provider": "claude-cli",
135
+ "via": "browser"
136
+ },
137
+ "reason": "Anthropic Claude CLI: subscription sign-in.",
138
+ "source": "extensions/anthropic/openclaw.plugin.json (2026.8.1)",
139
+ "revision": "2026.8.1",
140
+ "checked": "2026-10-02",
141
+ "label": "Anthropic Claude CLI",
142
+ "keyEntry": false,
143
+ "keyErrors": null,
144
+ "id": "anthropic:cli:anthropic-cli",
145
+ "name": "Anthropic",
146
+ "company": "Anthropic",
147
+ "aliases": [
148
+ "claude-cli"
149
+ ],
150
+ "billingFrom": "source",
151
+ "group": "models",
152
+ "platforms": {
153
+ "node": "yes",
154
+ "browser": "host",
155
+ "rn": "host"
156
+ },
157
+ "needs": {
158
+ "binary": "claude"
159
+ },
160
+ "upstream": {
161
+ "surface": "openclaw",
162
+ "id": "anthropic",
163
+ "method": "cli",
164
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
165
+ "flow": "present"
166
+ }
167
+ },
168
+ {
169
+ "choice": "setup-token",
170
+ "provider": "anthropic",
171
+ "plugin": "anthropic",
172
+ "billing": "subscription",
173
+ "via": "setup_token",
174
+ "auth": "token",
175
+ "prerequisite": null,
176
+ "offer": true,
177
+ "offerPolicy": "default",
178
+ "legacy": {
179
+ "provider": "anthropic",
180
+ "via": "browser"
181
+ },
182
+ "reason": "Anthropic setup-token: subscription sign-in.",
183
+ "source": "extensions/anthropic/openclaw.plugin.json (2026.8.1)",
184
+ "revision": "2026.8.1",
185
+ "checked": "2026-10-02",
186
+ "label": "Anthropic setup-token",
187
+ "keyEntry": false,
188
+ "keyErrors": null,
189
+ "id": "anthropic:setup_token:setup-token",
190
+ "name": "Anthropic",
191
+ "company": "Anthropic",
192
+ "billingFrom": "source",
193
+ "group": "models",
194
+ "platforms": {
195
+ "node": "yes",
196
+ "browser": "host",
197
+ "rn": "host"
198
+ },
199
+ "upstream": {
200
+ "surface": "openclaw",
201
+ "id": "anthropic",
202
+ "method": "setup-token",
203
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
204
+ "flow": "present"
205
+ }
206
+ },
207
+ {
208
+ "choice": "apiKey",
209
+ "provider": "anthropic",
210
+ "plugin": "anthropic",
211
+ "billing": "api",
212
+ "via": "key",
213
+ "auth": "api_key",
214
+ "prerequisite": null,
215
+ "offer": false,
216
+ "offerPolicy": "explicit",
217
+ "reason": "Anthropic: API key (billed per use).",
218
+ "source": "extensions/anthropic/openclaw.plugin.json (2026.8.1)",
219
+ "revision": "2026.8.1",
220
+ "checked": "2026-10-02",
221
+ "label": "Anthropic API key",
222
+ "keyEntry": true,
223
+ "keyErrors": {
224
+ "invalid": "key.invalid",
225
+ "not_included": "key.notIncluded"
226
+ },
227
+ "id": "anthropic:key:apiKey",
228
+ "name": "Anthropic",
229
+ "company": "Anthropic",
230
+ "billingFrom": "source",
231
+ "group": "models",
232
+ "platforms": {
233
+ "node": "yes",
234
+ "browser": "host",
235
+ "rn": "host"
236
+ },
237
+ "upstream": {
238
+ "surface": "openclaw",
239
+ "id": "anthropic",
240
+ "method": "api-key",
241
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
242
+ "flow": "present"
243
+ }
244
+ },
245
+ {
246
+ "choice": "",
247
+ "provider": "anthropic-vertex",
248
+ "plugin": "anthropic-vertex",
249
+ "billing": "api",
250
+ "via": "cloud",
251
+ "prerequisite": "Host-configured cloud credentials",
252
+ "offer": false,
253
+ "offerPolicy": "explicit",
254
+ "reason": "Cloud credentials (billed per use); configured by the host, not a wizard sign-in choice.",
255
+ "source": "extensions/anthropic-vertex/openclaw.plugin.json (2026.8.1)",
256
+ "revision": "2026.8.1",
257
+ "checked": "2026-10-02",
258
+ "label": "anthropic-vertex",
259
+ "keyEntry": false,
260
+ "keyErrors": null,
261
+ "id": "anthropic-vertex:cloud",
262
+ "name": "anthropic-vertex",
263
+ "company": "anthropic-vertex",
264
+ "billingFrom": "source",
265
+ "group": "models",
266
+ "platforms": {
267
+ "node": "yes",
268
+ "browser": "host",
269
+ "rn": "host"
270
+ },
271
+ "needs": {
272
+ "plugin": "anthropic-vertex"
273
+ },
274
+ "install": {
275
+ "npmSpec": "@openclaw/anthropic-vertex-provider",
276
+ "defaultChoice": "npm",
277
+ "minHostVersion": ">=2026.5.12-beta.1"
278
+ },
279
+ "upstream": {
280
+ "surface": "openclaw",
281
+ "id": "anthropic-vertex",
282
+ "method": "cloud",
283
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
284
+ "flow": "absent"
285
+ }
286
+ },
287
+ {
288
+ "choice": "arceeai-api-key",
289
+ "provider": "arcee",
290
+ "plugin": "arcee",
291
+ "billing": "api",
292
+ "via": "key",
293
+ "prerequisite": null,
294
+ "offer": false,
295
+ "offerPolicy": "explicit",
296
+ "reason": "Arcee AI: API key (billed per use).",
297
+ "source": "extensions/arcee/openclaw.plugin.json (2026.8.1)",
298
+ "revision": "2026.8.1",
299
+ "checked": "2026-10-02",
300
+ "label": "Arcee AI API key",
301
+ "keyEntry": true,
302
+ "keyErrors": {
303
+ "invalid": "key.invalid",
304
+ "not_included": "key.notIncluded"
305
+ },
306
+ "id": "arcee:key:arceeai-api-key",
307
+ "name": "Arcee AI",
308
+ "company": "Arcee AI",
309
+ "billingFrom": "source",
310
+ "group": "models",
311
+ "platforms": {
312
+ "node": "yes",
313
+ "browser": "host",
314
+ "rn": "host"
315
+ },
316
+ "needs": {
317
+ "plugin": "arcee"
318
+ },
319
+ "install": {
320
+ "clawhubSpec": "clawhub:@openclaw/arcee-provider",
321
+ "npmSpec": "@openclaw/arcee-provider",
322
+ "defaultChoice": "npm",
323
+ "minHostVersion": ">=2026.6.8"
324
+ },
325
+ "upstream": {
326
+ "surface": "openclaw",
327
+ "id": "arcee",
328
+ "method": "arcee-platform",
329
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
330
+ "flow": "present"
331
+ }
332
+ },
333
+ {
334
+ "choice": "arceeai-openrouter",
335
+ "provider": "arcee",
336
+ "plugin": "arcee",
337
+ "billing": "api",
338
+ "via": "key",
339
+ "prerequisite": null,
340
+ "offer": false,
341
+ "offerPolicy": "explicit",
342
+ "reason": "Arcee AI: API key (billed per use).",
343
+ "source": "extensions/arcee/openclaw.plugin.json (2026.8.1)",
344
+ "revision": "2026.8.1",
345
+ "checked": "2026-10-02",
346
+ "label": "OpenRouter API key",
347
+ "keyEntry": true,
348
+ "keyErrors": {
349
+ "invalid": "key.invalid",
350
+ "not_included": "key.notIncluded"
351
+ },
352
+ "id": "arcee:key:arceeai-openrouter",
353
+ "name": "Arcee AI",
354
+ "company": "Arcee AI",
355
+ "billingFrom": "source",
356
+ "group": "models",
357
+ "platforms": {
358
+ "node": "yes",
359
+ "browser": "host",
360
+ "rn": "host"
361
+ },
362
+ "needs": {
363
+ "plugin": "arcee"
364
+ },
365
+ "install": {
366
+ "clawhubSpec": "clawhub:@openclaw/arcee-provider",
367
+ "npmSpec": "@openclaw/arcee-provider",
368
+ "defaultChoice": "npm",
369
+ "minHostVersion": ">=2026.6.8"
370
+ },
371
+ "upstream": {
372
+ "surface": "openclaw",
373
+ "id": "arcee",
374
+ "method": "openrouter",
375
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
376
+ "flow": "present"
377
+ }
378
+ },
379
+ {
380
+ "choice": "baseten-api-key",
381
+ "provider": "baseten",
382
+ "plugin": "baseten",
383
+ "billing": "api",
384
+ "via": "key",
385
+ "prerequisite": null,
386
+ "offer": false,
387
+ "offerPolicy": "explicit",
388
+ "reason": "Baseten: API key (billed per use).",
389
+ "source": "extensions/baseten/openclaw.plugin.json (2026.8.1)",
390
+ "revision": "2026.8.1",
391
+ "checked": "2026-10-02",
392
+ "label": "Baseten API key",
393
+ "keyEntry": true,
394
+ "keyErrors": {
395
+ "invalid": "key.invalid",
396
+ "not_included": "key.notIncluded"
397
+ },
398
+ "id": "baseten:key:baseten-api-key",
399
+ "name": "Baseten",
400
+ "company": "Baseten",
401
+ "billingFrom": "source",
402
+ "group": "models",
403
+ "platforms": {
404
+ "node": "yes",
405
+ "browser": "host",
406
+ "rn": "host"
407
+ },
408
+ "needs": {
409
+ "plugin": "baseten"
410
+ },
411
+ "install": {
412
+ "clawhubSpec": "clawhub:@openclaw/baseten-provider",
413
+ "npmSpec": "@openclaw/baseten-provider",
414
+ "defaultChoice": "npm",
415
+ "minHostVersion": ">=2026.7.2"
416
+ },
417
+ "upstream": {
418
+ "surface": "openclaw",
419
+ "id": "baseten",
420
+ "method": "api-key",
421
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
422
+ "flow": "present"
423
+ }
424
+ },
425
+ {
426
+ "choice": "byteplus-api-key",
427
+ "provider": "byteplus",
428
+ "plugin": "byteplus",
429
+ "billing": "api",
430
+ "via": "key",
431
+ "prerequisite": null,
432
+ "offer": false,
433
+ "offerPolicy": "explicit",
434
+ "reason": "BytePlus: API key (billed per use).",
435
+ "source": "extensions/byteplus/openclaw.plugin.json (2026.8.1)",
436
+ "revision": "2026.8.1",
437
+ "checked": "2026-10-02",
438
+ "label": "BytePlus API key",
439
+ "keyEntry": true,
440
+ "keyErrors": {
441
+ "invalid": "key.invalid",
442
+ "not_included": "key.notIncluded"
443
+ },
444
+ "id": "byteplus:key:byteplus-api-key",
445
+ "name": "BytePlus",
446
+ "company": "BytePlus",
447
+ "billingFrom": "source",
448
+ "group": "models",
449
+ "platforms": {
450
+ "node": "yes",
451
+ "browser": "host",
452
+ "rn": "host"
453
+ },
454
+ "needs": {
455
+ "plugin": "byteplus"
456
+ },
457
+ "install": {
458
+ "clawhubSpec": "clawhub:@openclaw/byteplus-provider",
459
+ "npmSpec": "@openclaw/byteplus-provider",
460
+ "defaultChoice": "npm",
461
+ "minHostVersion": ">=2026.7.2"
462
+ },
463
+ "upstream": {
464
+ "surface": "openclaw",
465
+ "id": "byteplus",
466
+ "method": "api-key",
467
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
468
+ "flow": "present"
469
+ }
470
+ },
471
+ {
472
+ "choice": "cerebras-api-key",
473
+ "provider": "cerebras",
474
+ "plugin": "cerebras",
475
+ "billing": "api",
476
+ "via": "key",
477
+ "prerequisite": null,
478
+ "offer": false,
479
+ "offerPolicy": "explicit",
480
+ "reason": "Cerebras: API key (billed per use).",
481
+ "source": "extensions/cerebras/openclaw.plugin.json (2026.8.1)",
482
+ "revision": "2026.8.1",
483
+ "checked": "2026-10-02",
484
+ "label": "Cerebras API key",
485
+ "keyEntry": true,
486
+ "keyErrors": {
487
+ "invalid": "key.invalid",
488
+ "not_included": "key.notIncluded"
489
+ },
490
+ "id": "cerebras:key:cerebras-api-key",
491
+ "name": "Cerebras",
492
+ "company": "Cerebras",
493
+ "billingFrom": "source",
494
+ "group": "models",
495
+ "platforms": {
496
+ "node": "yes",
497
+ "browser": "host",
498
+ "rn": "host"
499
+ },
500
+ "needs": {
501
+ "plugin": "cerebras"
502
+ },
503
+ "install": {
504
+ "clawhubSpec": "clawhub:@openclaw/cerebras-provider",
505
+ "npmSpec": "@openclaw/cerebras-provider",
506
+ "defaultChoice": "npm",
507
+ "minHostVersion": ">=2026.6.8"
508
+ },
509
+ "upstream": {
510
+ "surface": "openclaw",
511
+ "id": "cerebras",
512
+ "method": "api-key",
513
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
514
+ "flow": "present"
515
+ }
516
+ },
517
+ {
518
+ "choice": "chutes",
519
+ "provider": "chutes",
520
+ "plugin": "chutes",
521
+ "billing": "api",
522
+ "via": "browser",
523
+ "prerequisite": null,
524
+ "offer": false,
525
+ "offerPolicy": "explicit",
526
+ "reason": "Chutes: OAuth (billed per use).",
527
+ "source": "extensions/chutes/openclaw.plugin.json (2026.8.1)",
528
+ "revision": "2026.8.1",
529
+ "checked": "2026-10-02",
530
+ "label": "Chutes (OAuth)",
531
+ "keyEntry": false,
532
+ "keyErrors": null,
533
+ "id": "chutes:browser:chutes",
534
+ "name": "Chutes",
535
+ "company": "Chutes",
536
+ "billingFrom": "source",
537
+ "group": "models",
538
+ "platforms": {
539
+ "node": "yes",
540
+ "browser": "host",
541
+ "rn": "host"
542
+ },
543
+ "needs": {
544
+ "plugin": "chutes",
545
+ "client": "CHUTES_CLIENT_ID"
546
+ },
547
+ "install": {
548
+ "clawhubSpec": "clawhub:@openclaw/chutes-provider",
549
+ "npmSpec": "@openclaw/chutes-provider",
550
+ "defaultChoice": "npm",
551
+ "minHostVersion": ">=2026.6.8"
552
+ },
553
+ "upstream": {
554
+ "surface": "openclaw",
555
+ "id": "chutes",
556
+ "method": "oauth",
557
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
558
+ "flow": "present"
559
+ }
560
+ },
561
+ {
562
+ "choice": "chutes-api-key",
563
+ "provider": "chutes",
564
+ "plugin": "chutes",
565
+ "billing": "api",
566
+ "via": "key",
567
+ "prerequisite": null,
568
+ "offer": false,
569
+ "offerPolicy": "explicit",
570
+ "reason": "Chutes: API key (billed per use).",
571
+ "source": "extensions/chutes/openclaw.plugin.json (2026.8.1)",
572
+ "revision": "2026.8.1",
573
+ "checked": "2026-10-02",
574
+ "label": "Chutes API key",
575
+ "keyEntry": true,
576
+ "keyErrors": {
577
+ "invalid": "key.invalid",
578
+ "not_included": "key.notIncluded"
579
+ },
580
+ "id": "chutes:key:chutes-api-key",
581
+ "name": "Chutes",
582
+ "company": "Chutes",
583
+ "billingFrom": "source",
584
+ "group": "models",
585
+ "platforms": {
586
+ "node": "yes",
587
+ "browser": "host",
588
+ "rn": "host"
589
+ },
590
+ "needs": {
591
+ "plugin": "chutes"
592
+ },
593
+ "install": {
594
+ "clawhubSpec": "clawhub:@openclaw/chutes-provider",
595
+ "npmSpec": "@openclaw/chutes-provider",
596
+ "defaultChoice": "npm",
597
+ "minHostVersion": ">=2026.6.8"
598
+ },
599
+ "upstream": {
600
+ "surface": "openclaw",
601
+ "id": "chutes",
602
+ "method": "api-key",
603
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
604
+ "flow": "present"
605
+ }
606
+ },
607
+ {
608
+ "choice": "clawrouter-api-key",
609
+ "provider": "clawrouter",
610
+ "plugin": "clawrouter",
611
+ "billing": "api",
612
+ "via": "key",
613
+ "prerequisite": null,
614
+ "offer": false,
615
+ "offerPolicy": "explicit",
616
+ "reason": "ClawRouter: API key (billed per use).",
617
+ "source": "extensions/clawrouter/openclaw.plugin.json (2026.8.1)",
618
+ "revision": "2026.8.1",
619
+ "checked": "2026-10-02",
620
+ "label": "ClawRouter proxy key",
621
+ "keyEntry": true,
622
+ "keyErrors": {
623
+ "invalid": "key.invalid",
624
+ "not_included": "key.notIncluded"
625
+ },
626
+ "id": "clawrouter:key:clawrouter-api-key",
627
+ "name": "ClawRouter",
628
+ "company": "ClawRouter",
629
+ "billingFrom": "source",
630
+ "group": "models",
631
+ "platforms": {
632
+ "node": "yes",
633
+ "browser": "host",
634
+ "rn": "host"
635
+ },
636
+ "upstream": {
637
+ "surface": "openclaw",
638
+ "id": "clawrouter",
639
+ "method": "api-key",
640
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
641
+ "flow": "present"
642
+ }
643
+ },
644
+ {
645
+ "choice": "cloudflare-ai-gateway-api-key",
646
+ "provider": "cloudflare-ai-gateway",
647
+ "plugin": "cloudflare-ai-gateway",
648
+ "billing": "api",
649
+ "via": "key",
650
+ "prerequisite": null,
651
+ "offer": false,
652
+ "offerPolicy": "explicit",
653
+ "reason": "Cloudflare AI Gateway: API key (billed per use).",
654
+ "source": "extensions/cloudflare-ai-gateway/openclaw.plugin.json (2026.8.1)",
655
+ "revision": "2026.8.1",
656
+ "checked": "2026-10-02",
657
+ "label": "Cloudflare AI Gateway",
658
+ "keyEntry": true,
659
+ "keyErrors": {
660
+ "invalid": "key.invalid",
661
+ "not_included": "key.notIncluded"
662
+ },
663
+ "id": "cloudflare-ai-gateway:key:cloudflare-ai-gateway-api-key",
664
+ "name": "Cloudflare AI Gateway",
665
+ "company": "Cloudflare AI Gateway",
666
+ "billingFrom": "source",
667
+ "group": "models",
668
+ "platforms": {
669
+ "node": "yes",
670
+ "browser": "host",
671
+ "rn": "host"
672
+ },
673
+ "needs": {
674
+ "plugin": "cloudflare-ai-gateway"
675
+ },
676
+ "install": {
677
+ "clawhubSpec": "clawhub:@openclaw/cloudflare-ai-gateway-provider",
678
+ "npmSpec": "@openclaw/cloudflare-ai-gateway-provider",
679
+ "defaultChoice": "npm",
680
+ "minHostVersion": ">=2026.6.8"
681
+ },
682
+ "upstream": {
683
+ "surface": "openclaw",
684
+ "id": "cloudflare-ai-gateway",
685
+ "method": "api-key",
686
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
687
+ "flow": "present"
688
+ }
689
+ },
690
+ {
691
+ "choice": "cohere-api-key",
692
+ "provider": "cohere",
693
+ "plugin": "cohere",
694
+ "billing": "api",
695
+ "via": "key",
696
+ "prerequisite": null,
697
+ "offer": false,
698
+ "offerPolicy": "explicit",
699
+ "reason": "Cohere: API key (billed per use).",
700
+ "source": "extensions/cohere/openclaw.plugin.json (2026.8.1)",
701
+ "revision": "2026.8.1",
702
+ "checked": "2026-10-02",
703
+ "label": "Cohere API key",
704
+ "keyEntry": true,
705
+ "keyErrors": {
706
+ "invalid": "key.invalid",
707
+ "not_included": "key.notIncluded"
708
+ },
709
+ "id": "cohere:key:cohere-api-key",
710
+ "name": "Cohere",
711
+ "company": "Cohere",
712
+ "billingFrom": "source",
713
+ "group": "models",
714
+ "platforms": {
715
+ "node": "yes",
716
+ "browser": "host",
717
+ "rn": "host"
718
+ },
719
+ "needs": {
720
+ "plugin": "cohere"
721
+ },
722
+ "install": {
723
+ "clawhubSpec": "clawhub:@openclaw/cohere-provider",
724
+ "npmSpec": "@openclaw/cohere-provider",
725
+ "defaultChoice": "npm",
726
+ "minHostVersion": ">=2026.6.8"
727
+ },
728
+ "upstream": {
729
+ "surface": "openclaw",
730
+ "id": "cohere",
731
+ "method": "api-key",
732
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
733
+ "flow": "present"
734
+ }
735
+ },
736
+ {
737
+ "choice": "comfy-cloud-api-key",
738
+ "provider": "comfy",
739
+ "plugin": "comfy",
740
+ "billing": "api",
741
+ "via": "key",
742
+ "prerequisite": null,
743
+ "offer": false,
744
+ "offerPolicy": "explicit",
745
+ "reason": "ComfyUI: API key (billed per use).",
746
+ "source": "extensions/comfy/openclaw.plugin.json (2026.8.1)",
747
+ "revision": "2026.8.1",
748
+ "checked": "2026-10-02",
749
+ "label": "Comfy Cloud API key",
750
+ "keyEntry": true,
751
+ "keyErrors": {
752
+ "invalid": "key.invalid",
753
+ "not_included": "key.notIncluded"
754
+ },
755
+ "id": "comfy:key:comfy-cloud-api-key",
756
+ "name": "ComfyUI",
757
+ "company": "ComfyUI",
758
+ "billingFrom": "source",
759
+ "group": "services",
760
+ "platforms": {
761
+ "node": "yes",
762
+ "browser": "host",
763
+ "rn": "host"
764
+ },
765
+ "needs": {
766
+ "plugin": "comfy"
767
+ },
768
+ "install": {
769
+ "clawhubSpec": "clawhub:@openclaw/comfy-provider",
770
+ "npmSpec": "@openclaw/comfy-provider",
771
+ "defaultChoice": "npm",
772
+ "minHostVersion": ">=2026.7.2"
773
+ },
774
+ "upstream": {
775
+ "surface": "openclaw",
776
+ "id": "comfy",
777
+ "method": "cloud-api-key",
778
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
779
+ "flow": "present"
780
+ }
781
+ },
782
+ {
783
+ "choice": "copilot-proxy",
784
+ "provider": "copilot-proxy",
785
+ "plugin": "copilot-proxy",
786
+ "billing": "unknown",
787
+ "via": "endpoint",
788
+ "prerequisite": null,
789
+ "offer": false,
790
+ "offerPolicy": "explicit",
791
+ "reason": "Billing must be supplied by the host; a server address does not determine billing.",
792
+ "source": "extensions/copilot-proxy/openclaw.plugin.json (2026.8.1)",
793
+ "revision": "2026.8.1",
794
+ "checked": "2026-10-02",
795
+ "label": "Copilot Proxy",
796
+ "keyEntry": false,
797
+ "keyErrors": null,
798
+ "id": "copilot-proxy:endpoint:copilot-proxy",
799
+ "name": "Copilot",
800
+ "company": "Copilot",
801
+ "billingFrom": "host",
802
+ "group": "models",
803
+ "platforms": {
804
+ "node": "yes",
805
+ "browser": "host",
806
+ "rn": "host"
807
+ },
808
+ "upstream": {
809
+ "surface": "openclaw",
810
+ "id": "copilot-proxy",
811
+ "method": "local",
812
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
813
+ "flow": "present"
814
+ }
815
+ },
816
+ {
817
+ "choice": "deepinfra-api-key",
818
+ "provider": "deepinfra",
819
+ "plugin": "deepinfra",
820
+ "billing": "api",
821
+ "via": "key",
822
+ "prerequisite": null,
823
+ "offer": false,
824
+ "offerPolicy": "explicit",
825
+ "reason": "DeepInfra: API key (billed per use).",
826
+ "source": "extensions/deepinfra/openclaw.plugin.json (2026.8.1)",
827
+ "revision": "2026.8.1",
828
+ "checked": "2026-10-02",
829
+ "label": "DeepInfra API key",
830
+ "keyEntry": true,
831
+ "keyErrors": {
832
+ "invalid": "key.invalid",
833
+ "not_included": "key.notIncluded"
834
+ },
835
+ "id": "deepinfra:key:deepinfra-api-key",
836
+ "name": "DeepInfra",
837
+ "company": "DeepInfra",
838
+ "billingFrom": "source",
839
+ "group": "models",
840
+ "platforms": {
841
+ "node": "yes",
842
+ "browser": "host",
843
+ "rn": "host"
844
+ },
845
+ "needs": {
846
+ "plugin": "deepinfra"
847
+ },
848
+ "install": {
849
+ "clawhubSpec": "clawhub:@openclaw/deepinfra-provider",
850
+ "npmSpec": "@openclaw/deepinfra-provider",
851
+ "defaultChoice": "npm",
852
+ "minHostVersion": ">=2026.6.8"
853
+ },
854
+ "upstream": {
855
+ "surface": "openclaw",
856
+ "id": "deepinfra",
857
+ "method": "api-key",
858
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
859
+ "flow": "present"
860
+ }
861
+ },
862
+ {
863
+ "choice": "deepseek-api-key",
864
+ "provider": "deepseek",
865
+ "plugin": "deepseek",
866
+ "billing": "api",
867
+ "via": "key",
868
+ "prerequisite": null,
869
+ "offer": false,
870
+ "offerPolicy": "explicit",
871
+ "reason": "DeepSeek: API key (billed per use).",
872
+ "source": "extensions/deepseek/openclaw.plugin.json (2026.8.1)",
873
+ "revision": "2026.8.1",
874
+ "checked": "2026-10-02",
875
+ "label": "DeepSeek API key",
876
+ "keyEntry": true,
877
+ "keyErrors": {
878
+ "invalid": "key.invalid",
879
+ "not_included": "key.notIncluded"
880
+ },
881
+ "id": "deepseek:key:deepseek-api-key",
882
+ "name": "DeepSeek",
883
+ "company": "DeepSeek",
884
+ "billingFrom": "source",
885
+ "group": "models",
886
+ "platforms": {
887
+ "node": "yes",
888
+ "browser": "host",
889
+ "rn": "host"
890
+ },
891
+ "needs": {
892
+ "plugin": "deepseek"
893
+ },
894
+ "install": {
895
+ "clawhubSpec": "clawhub:@openclaw/deepseek-provider",
896
+ "npmSpec": "@openclaw/deepseek-provider",
897
+ "defaultChoice": "npm",
898
+ "minHostVersion": ">=2026.6.8"
899
+ },
900
+ "upstream": {
901
+ "surface": "openclaw",
902
+ "id": "deepseek",
903
+ "method": "api-key",
904
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
905
+ "flow": "present"
906
+ }
907
+ },
908
+ {
909
+ "choice": "fal-api-key",
910
+ "provider": "fal",
911
+ "plugin": "fal",
912
+ "billing": "api",
913
+ "via": "key",
914
+ "prerequisite": null,
915
+ "offer": false,
916
+ "offerPolicy": "explicit",
917
+ "reason": "fal: API key (billed per use).",
918
+ "source": "extensions/fal/openclaw.plugin.json (2026.8.1)",
919
+ "revision": "2026.8.1",
920
+ "checked": "2026-10-02",
921
+ "label": "fal API key",
922
+ "keyEntry": true,
923
+ "keyErrors": {
924
+ "invalid": "key.invalid",
925
+ "not_included": "key.notIncluded"
926
+ },
927
+ "id": "fal:key:fal-api-key",
928
+ "name": "fal",
929
+ "company": "fal",
930
+ "billingFrom": "source",
931
+ "group": "services",
932
+ "platforms": {
933
+ "node": "yes",
934
+ "browser": "host",
935
+ "rn": "host"
936
+ },
937
+ "upstream": {
938
+ "surface": "openclaw",
939
+ "id": "fal",
940
+ "method": "api-key",
941
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
942
+ "flow": "present"
943
+ }
944
+ },
945
+ {
946
+ "choice": "featherless-api-key",
947
+ "provider": "featherless",
948
+ "plugin": "featherless",
949
+ "billing": "api",
950
+ "via": "key",
951
+ "prerequisite": null,
952
+ "offer": false,
953
+ "offerPolicy": "explicit",
954
+ "reason": "Featherless AI: API key (billed per use).",
955
+ "source": "extensions/featherless/openclaw.plugin.json (2026.8.1)",
956
+ "revision": "2026.8.1",
957
+ "checked": "2026-10-02",
958
+ "label": "Featherless AI API key",
959
+ "keyEntry": true,
960
+ "keyErrors": {
961
+ "invalid": "key.invalid",
962
+ "not_included": "key.notIncluded"
963
+ },
964
+ "id": "featherless:key:featherless-api-key",
965
+ "name": "Featherless AI",
966
+ "company": "Featherless AI",
967
+ "billingFrom": "source",
968
+ "group": "models",
969
+ "platforms": {
970
+ "node": "yes",
971
+ "browser": "host",
972
+ "rn": "host"
973
+ },
974
+ "needs": {
975
+ "plugin": "featherless"
976
+ },
977
+ "install": {
978
+ "clawhubSpec": "clawhub:@openclaw/featherless-provider",
979
+ "npmSpec": "@openclaw/featherless-provider",
980
+ "defaultChoice": "npm",
981
+ "minHostVersion": ">=2026.6.11"
982
+ },
983
+ "upstream": {
984
+ "surface": "openclaw",
985
+ "id": "featherless",
986
+ "method": "api-key",
987
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
988
+ "flow": "present"
989
+ }
990
+ },
991
+ {
992
+ "choice": "fireworks-api-key",
993
+ "provider": "fireworks",
994
+ "plugin": "fireworks",
995
+ "billing": "api",
996
+ "via": "key",
997
+ "prerequisite": null,
998
+ "offer": false,
999
+ "offerPolicy": "explicit",
1000
+ "reason": "Fireworks: API key (billed per use).",
1001
+ "source": "extensions/fireworks/openclaw.plugin.json (2026.8.1)",
1002
+ "revision": "2026.8.1",
1003
+ "checked": "2026-10-02",
1004
+ "label": "Fireworks API key",
1005
+ "keyEntry": true,
1006
+ "keyErrors": {
1007
+ "invalid": "key.invalid",
1008
+ "not_included": "key.notIncluded"
1009
+ },
1010
+ "id": "fireworks:key:fireworks-api-key",
1011
+ "name": "Fireworks",
1012
+ "company": "Fireworks",
1013
+ "billingFrom": "source",
1014
+ "group": "models",
1015
+ "platforms": {
1016
+ "node": "yes",
1017
+ "browser": "host",
1018
+ "rn": "host"
1019
+ },
1020
+ "needs": {
1021
+ "plugin": "fireworks"
1022
+ },
1023
+ "install": {
1024
+ "clawhubSpec": "clawhub:@openclaw/fireworks-provider",
1025
+ "npmSpec": "@openclaw/fireworks-provider",
1026
+ "defaultChoice": "npm",
1027
+ "minHostVersion": ">=2026.6.9"
1028
+ },
1029
+ "upstream": {
1030
+ "surface": "openclaw",
1031
+ "id": "fireworks",
1032
+ "method": "api-key",
1033
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1034
+ "flow": "present"
1035
+ }
1036
+ },
1037
+ {
1038
+ "choice": "github-copilot",
1039
+ "provider": "github-copilot",
1040
+ "plugin": "github-copilot",
1041
+ "billing": "subscription",
1042
+ "via": "code",
1043
+ "prerequisite": null,
1044
+ "offer": true,
1045
+ "offerPolicy": "default",
1046
+ "reason": "GitHub Copilot: subscription sign-in.",
1047
+ "source": "extensions/github-copilot/openclaw.plugin.json (2026.8.1)",
1048
+ "revision": "2026.8.1",
1049
+ "checked": "2026-10-02",
1050
+ "label": "GitHub Copilot",
1051
+ "keyEntry": false,
1052
+ "keyErrors": null,
1053
+ "id": "github-copilot:code:github-copilot",
1054
+ "name": "Copilot",
1055
+ "company": "Copilot",
1056
+ "billingFrom": "source",
1057
+ "group": "models",
1058
+ "platforms": {
1059
+ "node": "yes",
1060
+ "browser": "host",
1061
+ "rn": "host"
1062
+ },
1063
+ "upstream": {
1064
+ "surface": "openclaw",
1065
+ "id": "github-copilot",
1066
+ "method": "device",
1067
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1068
+ "flow": "present"
1069
+ }
1070
+ },
1071
+ {
1072
+ "choice": "github-copilot-enterprise",
1073
+ "provider": "github-copilot",
1074
+ "plugin": "github-copilot",
1075
+ "billing": "subscription",
1076
+ "via": "code",
1077
+ "prerequisite": null,
1078
+ "offer": true,
1079
+ "offerPolicy": "default",
1080
+ "reason": "GitHub Copilot (Enterprise / data residency): subscription sign-in.",
1081
+ "source": "extensions/github-copilot/openclaw.plugin.json (2026.8.1)",
1082
+ "revision": "2026.8.1",
1083
+ "checked": "2026-10-02",
1084
+ "label": "GitHub Copilot (Enterprise / data residency)",
1085
+ "keyEntry": false,
1086
+ "keyErrors": null,
1087
+ "id": "github-copilot:code:github-copilot-enterprise",
1088
+ "name": "Copilot",
1089
+ "company": "Copilot",
1090
+ "billingFrom": "source",
1091
+ "group": "models",
1092
+ "platforms": {
1093
+ "node": "yes",
1094
+ "browser": "host",
1095
+ "rn": "host"
1096
+ },
1097
+ "upstream": {
1098
+ "surface": "openclaw",
1099
+ "id": "github-copilot",
1100
+ "method": "device-enterprise",
1101
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1102
+ "flow": "present"
1103
+ }
1104
+ },
1105
+ {
1106
+ "choice": "gmi-api-key",
1107
+ "provider": "gmi",
1108
+ "plugin": "gmi",
1109
+ "billing": "api",
1110
+ "via": "key",
1111
+ "prerequisite": null,
1112
+ "offer": false,
1113
+ "offerPolicy": "explicit",
1114
+ "reason": "GMI Cloud: API key (billed per use).",
1115
+ "source": "extensions/gmi/openclaw.plugin.json (2026.8.1)",
1116
+ "revision": "2026.8.1",
1117
+ "checked": "2026-10-02",
1118
+ "label": "GMI Cloud API key",
1119
+ "keyEntry": true,
1120
+ "keyErrors": {
1121
+ "invalid": "key.invalid",
1122
+ "not_included": "key.notIncluded"
1123
+ },
1124
+ "id": "gmi:key:gmi-api-key",
1125
+ "name": "GMI Cloud",
1126
+ "company": "GMI Cloud",
1127
+ "billingFrom": "source",
1128
+ "group": "models",
1129
+ "platforms": {
1130
+ "node": "yes",
1131
+ "browser": "host",
1132
+ "rn": "host"
1133
+ },
1134
+ "needs": {
1135
+ "plugin": "gmi"
1136
+ },
1137
+ "install": {
1138
+ "clawhubSpec": "clawhub:@openclaw/gmi-provider",
1139
+ "npmSpec": "@openclaw/gmi-provider",
1140
+ "defaultChoice": "npm",
1141
+ "minHostVersion": ">=2026.6.8"
1142
+ },
1143
+ "upstream": {
1144
+ "surface": "openclaw",
1145
+ "id": "gmi",
1146
+ "method": "api-key",
1147
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1148
+ "flow": "present"
1149
+ }
1150
+ },
1151
+ {
1152
+ "choice": "gemini-api-key",
1153
+ "provider": "google",
1154
+ "plugin": "google",
1155
+ "billing": "api",
1156
+ "via": "key",
1157
+ "prerequisite": null,
1158
+ "offer": false,
1159
+ "offerPolicy": "explicit",
1160
+ "reason": "Google: API key (billed per use).",
1161
+ "source": "extensions/google/openclaw.plugin.json (2026.8.1)",
1162
+ "revision": "2026.8.1",
1163
+ "checked": "2026-10-02",
1164
+ "label": "Google AI Studio API key",
1165
+ "keyEntry": true,
1166
+ "keyErrors": {
1167
+ "invalid": "key.invalid",
1168
+ "not_included": "key.notIncluded"
1169
+ },
1170
+ "id": "google:key:gemini-api-key",
1171
+ "name": "Google",
1172
+ "company": "Google",
1173
+ "billingFrom": "source",
1174
+ "group": "models",
1175
+ "platforms": {
1176
+ "node": "yes",
1177
+ "browser": "host",
1178
+ "rn": "host"
1179
+ },
1180
+ "upstream": {
1181
+ "surface": "openclaw",
1182
+ "id": "google",
1183
+ "method": "api-key",
1184
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1185
+ "flow": "present"
1186
+ }
1187
+ },
1188
+ {
1189
+ "choice": "",
1190
+ "provider": "google-gemini-cli",
1191
+ "plugin": "google",
1192
+ "billing": "unknown",
1193
+ "via": "cli",
1194
+ "prerequisite": "Gemini CLI in the isolated HOME",
1195
+ "offer": false,
1196
+ "offerPolicy": "explicit",
1197
+ "reason": "Native CLI runtime; billing is unverified. No wizard sign-in choice.",
1198
+ "source": "extensions/google/openclaw.plugin.json (2026.8.1)",
1199
+ "revision": "2026.8.1",
1200
+ "checked": "2026-10-02",
1201
+ "label": "google-gemini-cli",
1202
+ "keyEntry": false,
1203
+ "keyErrors": null,
1204
+ "id": "google-gemini-cli:cli",
1205
+ "name": "google-gemini-cli",
1206
+ "company": "google-gemini-cli",
1207
+ "billingFrom": "source",
1208
+ "group": "models",
1209
+ "platforms": {
1210
+ "node": "yes",
1211
+ "browser": "host",
1212
+ "rn": "host"
1213
+ },
1214
+ "needs": {
1215
+ "binary": "gemini"
1216
+ },
1217
+ "upstream": {
1218
+ "surface": "openclaw",
1219
+ "id": "google-gemini-cli",
1220
+ "method": "cli",
1221
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1222
+ "flow": "absent"
1223
+ }
1224
+ },
1225
+ {
1226
+ "choice": "",
1227
+ "provider": "google-vertex",
1228
+ "plugin": "google",
1229
+ "billing": "api",
1230
+ "via": "cloud",
1231
+ "prerequisite": "Host-configured cloud credentials",
1232
+ "offer": false,
1233
+ "offerPolicy": "explicit",
1234
+ "reason": "Cloud credentials (billed per use); configured by the host, not a wizard sign-in choice.",
1235
+ "source": "extensions/google/openclaw.plugin.json (2026.8.1)",
1236
+ "revision": "2026.8.1",
1237
+ "checked": "2026-10-02",
1238
+ "label": "google-vertex",
1239
+ "keyEntry": false,
1240
+ "keyErrors": null,
1241
+ "id": "google-vertex:cloud",
1242
+ "name": "google-vertex",
1243
+ "company": "google-vertex",
1244
+ "billingFrom": "source",
1245
+ "group": "models",
1246
+ "platforms": {
1247
+ "node": "yes",
1248
+ "browser": "host",
1249
+ "rn": "host"
1250
+ },
1251
+ "upstream": {
1252
+ "surface": "openclaw",
1253
+ "id": "google-vertex",
1254
+ "method": "cloud",
1255
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1256
+ "flow": "absent"
1257
+ }
1258
+ },
1259
+ {
1260
+ "choice": "groq-api-key",
1261
+ "provider": "groq",
1262
+ "plugin": "groq",
1263
+ "billing": "api",
1264
+ "via": "key",
1265
+ "prerequisite": null,
1266
+ "offer": false,
1267
+ "offerPolicy": "explicit",
1268
+ "reason": "Groq: API key (billed per use).",
1269
+ "source": "extensions/groq/openclaw.plugin.json (2026.8.1)",
1270
+ "revision": "2026.8.1",
1271
+ "checked": "2026-10-02",
1272
+ "label": "Groq API key",
1273
+ "keyEntry": true,
1274
+ "keyErrors": {
1275
+ "invalid": "key.invalid",
1276
+ "not_included": "key.notIncluded"
1277
+ },
1278
+ "id": "groq:key:groq-api-key",
1279
+ "name": "Groq",
1280
+ "company": "Groq",
1281
+ "billingFrom": "source",
1282
+ "group": "models",
1283
+ "platforms": {
1284
+ "node": "yes",
1285
+ "browser": "host",
1286
+ "rn": "host"
1287
+ },
1288
+ "needs": {
1289
+ "plugin": "groq"
1290
+ },
1291
+ "install": {
1292
+ "clawhubSpec": "clawhub:@openclaw/groq-provider",
1293
+ "npmSpec": "@openclaw/groq-provider",
1294
+ "defaultChoice": "npm",
1295
+ "minHostVersion": ">=2026.6.8"
1296
+ },
1297
+ "upstream": {
1298
+ "surface": "openclaw",
1299
+ "id": "groq",
1300
+ "method": "api-key",
1301
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1302
+ "flow": "present"
1303
+ }
1304
+ },
1305
+ {
1306
+ "choice": "huggingface-api-key",
1307
+ "provider": "huggingface",
1308
+ "plugin": "huggingface",
1309
+ "billing": "api",
1310
+ "via": "key",
1311
+ "prerequisite": null,
1312
+ "offer": false,
1313
+ "offerPolicy": "explicit",
1314
+ "reason": "Hugging Face: API key (billed per use).",
1315
+ "source": "extensions/huggingface/openclaw.plugin.json (2026.8.1)",
1316
+ "revision": "2026.8.1",
1317
+ "checked": "2026-10-02",
1318
+ "label": "Hugging Face API key",
1319
+ "keyEntry": true,
1320
+ "keyErrors": {
1321
+ "invalid": "key.invalid",
1322
+ "not_included": "key.notIncluded"
1323
+ },
1324
+ "id": "huggingface:key:huggingface-api-key",
1325
+ "name": "Hugging Face",
1326
+ "company": "Hugging Face",
1327
+ "billingFrom": "source",
1328
+ "group": "models",
1329
+ "platforms": {
1330
+ "node": "yes",
1331
+ "browser": "host",
1332
+ "rn": "host"
1333
+ },
1334
+ "upstream": {
1335
+ "surface": "openclaw",
1336
+ "id": "huggingface",
1337
+ "method": "api-key",
1338
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1339
+ "flow": "present"
1340
+ }
1341
+ },
1342
+ {
1343
+ "choice": "kilocode-api-key",
1344
+ "provider": "kilocode",
1345
+ "plugin": "kilocode",
1346
+ "billing": "api",
1347
+ "via": "key",
1348
+ "prerequisite": null,
1349
+ "offer": false,
1350
+ "offerPolicy": "explicit",
1351
+ "reason": "Kilo Gateway: API key (billed per use).",
1352
+ "source": "extensions/kilocode/openclaw.plugin.json (2026.8.1)",
1353
+ "revision": "2026.8.1",
1354
+ "checked": "2026-10-02",
1355
+ "label": "Kilo Gateway API key",
1356
+ "keyEntry": true,
1357
+ "keyErrors": {
1358
+ "invalid": "key.invalid",
1359
+ "not_included": "key.notIncluded"
1360
+ },
1361
+ "id": "kilocode:key:kilocode-api-key",
1362
+ "name": "Kilo Gateway",
1363
+ "company": "Kilo Gateway",
1364
+ "billingFrom": "source",
1365
+ "group": "models",
1366
+ "platforms": {
1367
+ "node": "yes",
1368
+ "browser": "host",
1369
+ "rn": "host"
1370
+ },
1371
+ "needs": {
1372
+ "plugin": "kilocode"
1373
+ },
1374
+ "install": {
1375
+ "clawhubSpec": "clawhub:@openclaw/kilocode-provider",
1376
+ "npmSpec": "@openclaw/kilocode-provider",
1377
+ "defaultChoice": "npm",
1378
+ "minHostVersion": ">=2026.6.8"
1379
+ },
1380
+ "upstream": {
1381
+ "surface": "openclaw",
1382
+ "id": "kilocode",
1383
+ "method": "api-key",
1384
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1385
+ "flow": "present"
1386
+ }
1387
+ },
1388
+ {
1389
+ "choice": "kimi-code-api-key",
1390
+ "provider": "kimi",
1391
+ "plugin": "kimi",
1392
+ "billing": "subscription",
1393
+ "via": "plan_key",
1394
+ "prerequisite": null,
1395
+ "offer": false,
1396
+ "offerPolicy": "default",
1397
+ "reason": "Kimi Code API key (subscription): subscription sign-in.",
1398
+ "source": "extensions/kimi/openclaw.plugin.json (2026.8.1)",
1399
+ "revision": "2026.8.1",
1400
+ "checked": "2026-10-02",
1401
+ "label": "Kimi Code API key (subscription)",
1402
+ "keyEntry": true,
1403
+ "keyErrors": {
1404
+ "invalid": "key.invalid",
1405
+ "not_included": "key.notIncluded"
1406
+ },
1407
+ "id": "kimi:plan_key:kimi-code-api-key",
1408
+ "name": "Moonshot AI (Kimi)",
1409
+ "company": "Moonshot AI (Kimi)",
1410
+ "billingFrom": "source",
1411
+ "group": "models",
1412
+ "platforms": {
1413
+ "node": "yes",
1414
+ "browser": "host",
1415
+ "rn": "host"
1416
+ },
1417
+ "needs": {
1418
+ "plugin": "kimi"
1419
+ },
1420
+ "install": {
1421
+ "clawhubSpec": "clawhub:@openclaw/kimi-provider",
1422
+ "npmSpec": "@openclaw/kimi-provider",
1423
+ "defaultChoice": "npm",
1424
+ "minHostVersion": ">=2026.6.8"
1425
+ },
1426
+ "upstream": {
1427
+ "surface": "openclaw",
1428
+ "id": "kimi",
1429
+ "method": "api-key",
1430
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1431
+ "flow": "present"
1432
+ }
1433
+ },
1434
+ {
1435
+ "choice": "litellm-api-key",
1436
+ "provider": "litellm",
1437
+ "plugin": "litellm",
1438
+ "billing": "api",
1439
+ "via": "key",
1440
+ "prerequisite": null,
1441
+ "offer": false,
1442
+ "offerPolicy": "explicit",
1443
+ "reason": "LiteLLM: API key (billed per use).",
1444
+ "source": "extensions/litellm/openclaw.plugin.json (2026.8.1)",
1445
+ "revision": "2026.8.1",
1446
+ "checked": "2026-10-02",
1447
+ "label": "LiteLLM API key",
1448
+ "keyEntry": true,
1449
+ "keyErrors": {
1450
+ "invalid": "key.invalid",
1451
+ "not_included": "key.notIncluded"
1452
+ },
1453
+ "id": "litellm:key:litellm-api-key",
1454
+ "name": "LiteLLM",
1455
+ "company": "LiteLLM",
1456
+ "billingFrom": "source",
1457
+ "group": "models",
1458
+ "platforms": {
1459
+ "node": "yes",
1460
+ "browser": "host",
1461
+ "rn": "host"
1462
+ },
1463
+ "upstream": {
1464
+ "surface": "openclaw",
1465
+ "id": "litellm",
1466
+ "method": "api-key",
1467
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1468
+ "flow": "present"
1469
+ }
1470
+ },
1471
+ {
1472
+ "choice": "llama-cpp",
1473
+ "provider": "llama-cpp",
1474
+ "plugin": "llama-cpp",
1475
+ "billing": "local",
1476
+ "via": "local",
1477
+ "prerequisite": null,
1478
+ "offer": false,
1479
+ "offerPolicy": "explicit",
1480
+ "reason": "Local runtime; explicitly select this route.",
1481
+ "source": "extensions/llama-cpp/openclaw.plugin.json (2026.8.1)",
1482
+ "revision": "2026.8.1",
1483
+ "checked": "2026-10-02",
1484
+ "label": "Managed local server",
1485
+ "keyEntry": false,
1486
+ "keyErrors": null,
1487
+ "id": "llama-cpp:local:llama-cpp",
1488
+ "name": "Local llama.cpp",
1489
+ "company": "Local llama.cpp",
1490
+ "billingFrom": "source",
1491
+ "group": "models",
1492
+ "platforms": {
1493
+ "node": "yes",
1494
+ "browser": "host",
1495
+ "rn": "host"
1496
+ },
1497
+ "needs": {
1498
+ "plugin": "llama-cpp"
1499
+ },
1500
+ "upstream": {
1501
+ "surface": "openclaw",
1502
+ "id": "llama-cpp",
1503
+ "method": "local",
1504
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1505
+ "flow": "present"
1506
+ }
1507
+ },
1508
+ {
1509
+ "choice": "llama-cpp-existing-server",
1510
+ "provider": "llama-cpp",
1511
+ "plugin": "llama-cpp",
1512
+ "billing": "unknown",
1513
+ "via": "endpoint",
1514
+ "prerequisite": null,
1515
+ "offer": false,
1516
+ "offerPolicy": "explicit",
1517
+ "reason": "Billing must be supplied by the host; a server address does not determine billing.",
1518
+ "source": "extensions/llama-cpp/openclaw.plugin.json (2026.8.1)",
1519
+ "revision": "2026.8.1",
1520
+ "checked": "2026-10-02",
1521
+ "label": "Existing llama-server",
1522
+ "keyEntry": true,
1523
+ "keyErrors": {
1524
+ "invalid": "key.invalid",
1525
+ "not_included": "key.notIncluded"
1526
+ },
1527
+ "id": "llama-cpp:endpoint:llama-cpp-existing-server",
1528
+ "name": "Local llama.cpp",
1529
+ "company": "Local llama.cpp",
1530
+ "billingFrom": "host",
1531
+ "group": "models",
1532
+ "platforms": {
1533
+ "node": "yes",
1534
+ "browser": "host",
1535
+ "rn": "host"
1536
+ },
1537
+ "needs": {
1538
+ "plugin": "llama-cpp"
1539
+ },
1540
+ "upstream": {
1541
+ "surface": "openclaw",
1542
+ "id": "llama-cpp",
1543
+ "method": "existing-server",
1544
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1545
+ "flow": "present"
1546
+ }
1547
+ },
1548
+ {
1549
+ "choice": "lmstudio",
1550
+ "provider": "lmstudio",
1551
+ "plugin": "lmstudio",
1552
+ "billing": "local",
1553
+ "via": "local",
1554
+ "prerequisite": null,
1555
+ "offer": false,
1556
+ "offerPolicy": "explicit",
1557
+ "reason": "Local runtime; explicitly select this route.",
1558
+ "source": "extensions/lmstudio/openclaw.plugin.json (2026.8.1)",
1559
+ "revision": "2026.8.1",
1560
+ "checked": "2026-10-02",
1561
+ "label": "LM Studio",
1562
+ "keyEntry": false,
1563
+ "keyErrors": null,
1564
+ "id": "lmstudio:local:lmstudio",
1565
+ "name": "LM Studio",
1566
+ "company": "LM Studio",
1567
+ "billingFrom": "source",
1568
+ "group": "models",
1569
+ "platforms": {
1570
+ "node": "yes",
1571
+ "browser": "host",
1572
+ "rn": "host"
1573
+ },
1574
+ "upstream": {
1575
+ "surface": "openclaw",
1576
+ "id": "lmstudio",
1577
+ "method": "custom",
1578
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1579
+ "flow": "present"
1580
+ }
1581
+ },
1582
+ {
1583
+ "choice": "longcat-api-key",
1584
+ "provider": "longcat",
1585
+ "plugin": "longcat",
1586
+ "billing": "api",
1587
+ "via": "key",
1588
+ "prerequisite": null,
1589
+ "offer": false,
1590
+ "offerPolicy": "explicit",
1591
+ "reason": "LongCat: API key (billed per use).",
1592
+ "source": "extensions/longcat/openclaw.plugin.json (2026.8.1)",
1593
+ "revision": "2026.8.1",
1594
+ "checked": "2026-10-02",
1595
+ "label": "LongCat API key",
1596
+ "keyEntry": true,
1597
+ "keyErrors": {
1598
+ "invalid": "key.invalid",
1599
+ "not_included": "key.notIncluded"
1600
+ },
1601
+ "id": "longcat:key:longcat-api-key",
1602
+ "name": "LongCat",
1603
+ "company": "LongCat",
1604
+ "billingFrom": "source",
1605
+ "group": "models",
1606
+ "platforms": {
1607
+ "node": "yes",
1608
+ "browser": "host",
1609
+ "rn": "host"
1610
+ },
1611
+ "needs": {
1612
+ "plugin": "longcat"
1613
+ },
1614
+ "install": {
1615
+ "clawhubSpec": "clawhub:@openclaw/longcat-provider",
1616
+ "npmSpec": "@openclaw/longcat-provider",
1617
+ "defaultChoice": "npm",
1618
+ "minHostVersion": ">=2026.6.8"
1619
+ },
1620
+ "upstream": {
1621
+ "surface": "openclaw",
1622
+ "id": "longcat",
1623
+ "method": "api-key",
1624
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1625
+ "flow": "present"
1626
+ }
1627
+ },
1628
+ {
1629
+ "choice": "meta-api-key",
1630
+ "provider": "meta",
1631
+ "plugin": "meta",
1632
+ "billing": "api",
1633
+ "via": "key",
1634
+ "prerequisite": null,
1635
+ "offer": false,
1636
+ "offerPolicy": "explicit",
1637
+ "reason": "Meta: API key (billed per use).",
1638
+ "source": "extensions/meta/openclaw.plugin.json (2026.8.1)",
1639
+ "revision": "2026.8.1",
1640
+ "checked": "2026-10-02",
1641
+ "label": "Meta API key",
1642
+ "keyEntry": true,
1643
+ "keyErrors": {
1644
+ "invalid": "key.invalid",
1645
+ "not_included": "key.notIncluded"
1646
+ },
1647
+ "id": "meta:key:meta-api-key",
1648
+ "name": "Meta",
1649
+ "company": "Meta",
1650
+ "billingFrom": "source",
1651
+ "group": "models",
1652
+ "platforms": {
1653
+ "node": "yes",
1654
+ "browser": "host",
1655
+ "rn": "host"
1656
+ },
1657
+ "needs": {
1658
+ "plugin": "meta"
1659
+ },
1660
+ "install": {
1661
+ "clawhubSpec": "clawhub:@openclaw/meta-provider",
1662
+ "npmSpec": "@openclaw/meta-provider",
1663
+ "defaultChoice": "npm",
1664
+ "minHostVersion": ">=2026.6.11"
1665
+ },
1666
+ "upstream": {
1667
+ "surface": "openclaw",
1668
+ "id": "meta",
1669
+ "method": "api-key",
1670
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1671
+ "flow": "present"
1672
+ }
1673
+ },
1674
+ {
1675
+ "choice": "microsoft-foundry-entra",
1676
+ "provider": "microsoft-foundry",
1677
+ "plugin": "microsoft-foundry",
1678
+ "billing": "api",
1679
+ "via": "cloud",
1680
+ "prerequisite": null,
1681
+ "offer": false,
1682
+ "offerPolicy": "explicit",
1683
+ "reason": "Microsoft Foundry: Cloud credentials (billed per use).",
1684
+ "source": "extensions/microsoft-foundry/openclaw.plugin.json (2026.8.1)",
1685
+ "revision": "2026.8.1",
1686
+ "checked": "2026-10-02",
1687
+ "label": "Microsoft Foundry (Entra ID / az login)",
1688
+ "keyEntry": false,
1689
+ "keyErrors": null,
1690
+ "id": "microsoft-foundry:cloud:microsoft-foundry-entra",
1691
+ "name": "Microsoft Foundry",
1692
+ "company": "Microsoft Foundry",
1693
+ "billingFrom": "source",
1694
+ "group": "models",
1695
+ "platforms": {
1696
+ "node": "yes",
1697
+ "browser": "host",
1698
+ "rn": "host"
1699
+ },
1700
+ "upstream": {
1701
+ "surface": "openclaw",
1702
+ "id": "microsoft-foundry",
1703
+ "method": "entra-id",
1704
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1705
+ "flow": "present"
1706
+ }
1707
+ },
1708
+ {
1709
+ "choice": "microsoft-foundry-apikey",
1710
+ "provider": "microsoft-foundry",
1711
+ "plugin": "microsoft-foundry",
1712
+ "billing": "api",
1713
+ "via": "key",
1714
+ "prerequisite": null,
1715
+ "offer": false,
1716
+ "offerPolicy": "explicit",
1717
+ "reason": "Microsoft Foundry: API key (billed per use).",
1718
+ "source": "extensions/microsoft-foundry/openclaw.plugin.json (2026.8.1)",
1719
+ "revision": "2026.8.1",
1720
+ "checked": "2026-10-02",
1721
+ "label": "Microsoft Foundry (API key)",
1722
+ "keyEntry": true,
1723
+ "keyErrors": {
1724
+ "invalid": "key.invalid",
1725
+ "not_included": "key.notIncluded"
1726
+ },
1727
+ "id": "microsoft-foundry:key:microsoft-foundry-apikey",
1728
+ "name": "Microsoft Foundry",
1729
+ "company": "Microsoft Foundry",
1730
+ "billingFrom": "source",
1731
+ "group": "models",
1732
+ "platforms": {
1733
+ "node": "yes",
1734
+ "browser": "host",
1735
+ "rn": "host"
1736
+ },
1737
+ "upstream": {
1738
+ "surface": "openclaw",
1739
+ "id": "microsoft-foundry",
1740
+ "method": "api-key",
1741
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1742
+ "flow": "present"
1743
+ }
1744
+ },
1745
+ {
1746
+ "choice": "minimax-global-oauth",
1747
+ "provider": "minimax-portal",
1748
+ "plugin": "minimax",
1749
+ "billing": "subscription",
1750
+ "via": "code",
1751
+ "prerequisite": null,
1752
+ "offer": true,
1753
+ "offerPolicy": "default",
1754
+ "legacy": {
1755
+ "provider": "minimax",
1756
+ "via": "code"
1757
+ },
1758
+ "reason": "MiniMax OAuth (Global): subscription sign-in.",
1759
+ "source": "extensions/minimax/openclaw.plugin.json (2026.8.1)",
1760
+ "revision": "2026.8.1",
1761
+ "checked": "2026-10-02",
1762
+ "label": "MiniMax OAuth (Global)",
1763
+ "keyEntry": false,
1764
+ "keyErrors": null,
1765
+ "id": "minimax-portal:code:minimax-global-oauth",
1766
+ "name": "MiniMax",
1767
+ "company": "MiniMax",
1768
+ "billingFrom": "source",
1769
+ "group": "models",
1770
+ "platforms": {
1771
+ "node": "yes",
1772
+ "browser": "host",
1773
+ "rn": "host"
1774
+ },
1775
+ "upstream": {
1776
+ "surface": "openclaw",
1777
+ "id": "minimax-portal",
1778
+ "method": "oauth",
1779
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1780
+ "flow": "present"
1781
+ }
1782
+ },
1783
+ {
1784
+ "choice": "minimax-global-api",
1785
+ "provider": "minimax",
1786
+ "plugin": "minimax",
1787
+ "billing": "api",
1788
+ "via": "key",
1789
+ "prerequisite": null,
1790
+ "offer": false,
1791
+ "offerPolicy": "explicit",
1792
+ "reason": "MiniMax: API key (billed per use).",
1793
+ "source": "extensions/minimax/openclaw.plugin.json (2026.8.1)",
1794
+ "revision": "2026.8.1",
1795
+ "checked": "2026-10-02",
1796
+ "label": "MiniMax API key (Global)",
1797
+ "keyEntry": true,
1798
+ "keyErrors": {
1799
+ "invalid": "key.invalid",
1800
+ "not_included": "key.notIncluded"
1801
+ },
1802
+ "id": "minimax:key:minimax-global-api",
1803
+ "name": "MiniMax",
1804
+ "company": "MiniMax",
1805
+ "aliases": [
1806
+ "minimax",
1807
+ "minimax-api",
1808
+ "minimax-cloud",
1809
+ "minimax-api-lightning"
1810
+ ],
1811
+ "billingFrom": "source",
1812
+ "group": "models",
1813
+ "platforms": {
1814
+ "node": "yes",
1815
+ "browser": "host",
1816
+ "rn": "host"
1817
+ },
1818
+ "upstream": {
1819
+ "surface": "openclaw",
1820
+ "id": "minimax",
1821
+ "method": "api-global",
1822
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1823
+ "flow": "present"
1824
+ }
1825
+ },
1826
+ {
1827
+ "choice": "minimax-cn-oauth",
1828
+ "provider": "minimax-portal",
1829
+ "plugin": "minimax",
1830
+ "billing": "subscription",
1831
+ "via": "code",
1832
+ "prerequisite": null,
1833
+ "offer": true,
1834
+ "offerPolicy": "default",
1835
+ "legacy": {
1836
+ "provider": "minimax",
1837
+ "via": "code"
1838
+ },
1839
+ "reason": "MiniMax OAuth (CN): subscription sign-in.",
1840
+ "source": "extensions/minimax/openclaw.plugin.json (2026.8.1)",
1841
+ "revision": "2026.8.1",
1842
+ "checked": "2026-10-02",
1843
+ "label": "MiniMax OAuth (CN)",
1844
+ "keyEntry": false,
1845
+ "keyErrors": null,
1846
+ "id": "minimax-portal:code:minimax-cn-oauth",
1847
+ "name": "MiniMax",
1848
+ "company": "MiniMax",
1849
+ "billingFrom": "source",
1850
+ "group": "models",
1851
+ "platforms": {
1852
+ "node": "yes",
1853
+ "browser": "host",
1854
+ "rn": "host"
1855
+ },
1856
+ "upstream": {
1857
+ "surface": "openclaw",
1858
+ "id": "minimax-portal",
1859
+ "method": "oauth-cn",
1860
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1861
+ "flow": "present"
1862
+ }
1863
+ },
1864
+ {
1865
+ "choice": "minimax-cn-api",
1866
+ "provider": "minimax",
1867
+ "plugin": "minimax",
1868
+ "billing": "api",
1869
+ "via": "key",
1870
+ "prerequisite": null,
1871
+ "offer": false,
1872
+ "offerPolicy": "explicit",
1873
+ "reason": "MiniMax: API key (billed per use).",
1874
+ "source": "extensions/minimax/openclaw.plugin.json (2026.8.1)",
1875
+ "revision": "2026.8.1",
1876
+ "checked": "2026-10-02",
1877
+ "label": "MiniMax API key (CN)",
1878
+ "keyEntry": true,
1879
+ "keyErrors": {
1880
+ "invalid": "key.invalid",
1881
+ "not_included": "key.notIncluded"
1882
+ },
1883
+ "id": "minimax:key:minimax-cn-api",
1884
+ "name": "MiniMax",
1885
+ "company": "MiniMax",
1886
+ "aliases": [
1887
+ "minimax-api-key-cn"
1888
+ ],
1889
+ "billingFrom": "source",
1890
+ "group": "models",
1891
+ "platforms": {
1892
+ "node": "yes",
1893
+ "browser": "host",
1894
+ "rn": "host"
1895
+ },
1896
+ "upstream": {
1897
+ "surface": "openclaw",
1898
+ "id": "minimax",
1899
+ "method": "api-cn",
1900
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1901
+ "flow": "present"
1902
+ }
1903
+ },
1904
+ {
1905
+ "choice": "mistral-api-key",
1906
+ "provider": "mistral",
1907
+ "plugin": "mistral",
1908
+ "billing": "api",
1909
+ "via": "key",
1910
+ "prerequisite": null,
1911
+ "offer": false,
1912
+ "offerPolicy": "explicit",
1913
+ "reason": "Mistral AI: API key (billed per use).",
1914
+ "source": "extensions/mistral/openclaw.plugin.json (2026.8.1)",
1915
+ "revision": "2026.8.1",
1916
+ "checked": "2026-10-02",
1917
+ "label": "Mistral API key",
1918
+ "keyEntry": true,
1919
+ "keyErrors": {
1920
+ "invalid": "key.invalid",
1921
+ "not_included": "key.notIncluded"
1922
+ },
1923
+ "id": "mistral:key:mistral-api-key",
1924
+ "name": "Mistral AI",
1925
+ "company": "Mistral AI",
1926
+ "billingFrom": "source",
1927
+ "group": "models",
1928
+ "platforms": {
1929
+ "node": "yes",
1930
+ "browser": "host",
1931
+ "rn": "host"
1932
+ },
1933
+ "needs": {
1934
+ "plugin": "mistral"
1935
+ },
1936
+ "install": {
1937
+ "clawhubSpec": "clawhub:@openclaw/mistral-provider",
1938
+ "npmSpec": "@openclaw/mistral-provider",
1939
+ "defaultChoice": "npm",
1940
+ "minHostVersion": ">=2026.7.2"
1941
+ },
1942
+ "upstream": {
1943
+ "surface": "openclaw",
1944
+ "id": "mistral",
1945
+ "method": "api-key",
1946
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1947
+ "flow": "present"
1948
+ }
1949
+ },
1950
+ {
1951
+ "choice": "moonshot-api-key",
1952
+ "provider": "moonshot",
1953
+ "plugin": "moonshot",
1954
+ "billing": "api",
1955
+ "via": "key",
1956
+ "prerequisite": null,
1957
+ "offer": false,
1958
+ "offerPolicy": "explicit",
1959
+ "reason": "Moonshot AI (Kimi): API key (billed per use).",
1960
+ "source": "extensions/moonshot/openclaw.plugin.json (2026.8.1)",
1961
+ "revision": "2026.8.1",
1962
+ "checked": "2026-10-02",
1963
+ "label": "Moonshot API key (.ai)",
1964
+ "keyEntry": true,
1965
+ "keyErrors": {
1966
+ "invalid": "key.invalid",
1967
+ "not_included": "key.notIncluded"
1968
+ },
1969
+ "id": "moonshot:key:moonshot-api-key",
1970
+ "name": "Moonshot AI (Kimi)",
1971
+ "company": "Moonshot AI (Kimi)",
1972
+ "billingFrom": "source",
1973
+ "group": "models",
1974
+ "platforms": {
1975
+ "node": "yes",
1976
+ "browser": "host",
1977
+ "rn": "host"
1978
+ },
1979
+ "needs": {
1980
+ "plugin": "moonshot"
1981
+ },
1982
+ "install": {
1983
+ "clawhubSpec": "clawhub:@openclaw/moonshot-provider",
1984
+ "npmSpec": "@openclaw/moonshot-provider",
1985
+ "defaultChoice": "npm",
1986
+ "minHostVersion": ">=2026.6.9"
1987
+ },
1988
+ "upstream": {
1989
+ "surface": "openclaw",
1990
+ "id": "moonshot",
1991
+ "method": "api-key",
1992
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
1993
+ "flow": "present"
1994
+ }
1995
+ },
1996
+ {
1997
+ "choice": "moonshot-api-key-cn",
1998
+ "provider": "moonshot",
1999
+ "plugin": "moonshot",
2000
+ "billing": "api",
2001
+ "via": "key",
2002
+ "prerequisite": null,
2003
+ "offer": false,
2004
+ "offerPolicy": "explicit",
2005
+ "reason": "Moonshot AI (Kimi): API key (billed per use).",
2006
+ "source": "extensions/moonshot/openclaw.plugin.json (2026.8.1)",
2007
+ "revision": "2026.8.1",
2008
+ "checked": "2026-10-02",
2009
+ "label": "Moonshot API key (.cn)",
2010
+ "keyEntry": true,
2011
+ "keyErrors": {
2012
+ "invalid": "key.invalid",
2013
+ "not_included": "key.notIncluded"
2014
+ },
2015
+ "id": "moonshot:key:moonshot-api-key-cn",
2016
+ "name": "Moonshot AI (Kimi)",
2017
+ "company": "Moonshot AI (Kimi)",
2018
+ "billingFrom": "source",
2019
+ "group": "models",
2020
+ "platforms": {
2021
+ "node": "yes",
2022
+ "browser": "host",
2023
+ "rn": "host"
2024
+ },
2025
+ "needs": {
2026
+ "plugin": "moonshot"
2027
+ },
2028
+ "install": {
2029
+ "clawhubSpec": "clawhub:@openclaw/moonshot-provider",
2030
+ "npmSpec": "@openclaw/moonshot-provider",
2031
+ "defaultChoice": "npm",
2032
+ "minHostVersion": ">=2026.6.9"
2033
+ },
2034
+ "upstream": {
2035
+ "surface": "openclaw",
2036
+ "id": "moonshot",
2037
+ "method": "api-key-cn",
2038
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2039
+ "flow": "present"
2040
+ }
2041
+ },
2042
+ {
2043
+ "choice": "novita-api-key",
2044
+ "provider": "novita",
2045
+ "plugin": "novita",
2046
+ "billing": "api",
2047
+ "via": "key",
2048
+ "prerequisite": null,
2049
+ "offer": false,
2050
+ "offerPolicy": "explicit",
2051
+ "reason": "NovitaAI: API key (billed per use).",
2052
+ "source": "extensions/novita/openclaw.plugin.json (2026.8.1)",
2053
+ "revision": "2026.8.1",
2054
+ "checked": "2026-10-02",
2055
+ "label": "NovitaAI API key",
2056
+ "keyEntry": true,
2057
+ "keyErrors": {
2058
+ "invalid": "key.invalid",
2059
+ "not_included": "key.notIncluded"
2060
+ },
2061
+ "id": "novita:key:novita-api-key",
2062
+ "name": "NovitaAI",
2063
+ "company": "NovitaAI",
2064
+ "billingFrom": "source",
2065
+ "group": "models",
2066
+ "platforms": {
2067
+ "node": "yes",
2068
+ "browser": "host",
2069
+ "rn": "host"
2070
+ },
2071
+ "needs": {
2072
+ "plugin": "novita"
2073
+ },
2074
+ "install": {
2075
+ "clawhubSpec": "clawhub:@openclaw/novita-provider",
2076
+ "npmSpec": "@openclaw/novita-provider",
2077
+ "defaultChoice": "npm",
2078
+ "minHostVersion": ">=2026.7.2"
2079
+ },
2080
+ "upstream": {
2081
+ "surface": "openclaw",
2082
+ "id": "novita",
2083
+ "method": "api-key",
2084
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2085
+ "flow": "present"
2086
+ }
2087
+ },
2088
+ {
2089
+ "choice": "nvidia-api-key",
2090
+ "provider": "nvidia",
2091
+ "plugin": "nvidia",
2092
+ "billing": "api",
2093
+ "via": "key",
2094
+ "prerequisite": null,
2095
+ "offer": false,
2096
+ "offerPolicy": "explicit",
2097
+ "reason": "NVIDIA: API key (billed per use).",
2098
+ "source": "extensions/nvidia/openclaw.plugin.json (2026.8.1)",
2099
+ "revision": "2026.8.1",
2100
+ "checked": "2026-10-02",
2101
+ "label": "NVIDIA API key",
2102
+ "keyEntry": true,
2103
+ "keyErrors": {
2104
+ "invalid": "key.invalid",
2105
+ "not_included": "key.notIncluded"
2106
+ },
2107
+ "id": "nvidia:key:nvidia-api-key",
2108
+ "name": "NVIDIA",
2109
+ "company": "NVIDIA",
2110
+ "billingFrom": "source",
2111
+ "group": "models",
2112
+ "platforms": {
2113
+ "node": "yes",
2114
+ "browser": "host",
2115
+ "rn": "host"
2116
+ },
2117
+ "upstream": {
2118
+ "surface": "openclaw",
2119
+ "id": "nvidia",
2120
+ "method": "api-key",
2121
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2122
+ "flow": "present"
2123
+ }
2124
+ },
2125
+ {
2126
+ "choice": "ollama",
2127
+ "provider": "ollama",
2128
+ "plugin": "ollama",
2129
+ "billing": "local",
2130
+ "via": "local",
2131
+ "prerequisite": null,
2132
+ "offer": false,
2133
+ "offerPolicy": "explicit",
2134
+ "reason": "Local runtime; explicitly select this route.",
2135
+ "source": "extensions/ollama/openclaw.plugin.json (2026.8.1)",
2136
+ "revision": "2026.8.1",
2137
+ "checked": "2026-10-02",
2138
+ "label": "Ollama",
2139
+ "keyEntry": false,
2140
+ "keyErrors": null,
2141
+ "id": "ollama:local:ollama",
2142
+ "name": "Ollama",
2143
+ "company": "Ollama",
2144
+ "billingFrom": "source",
2145
+ "group": "models",
2146
+ "platforms": {
2147
+ "node": "yes",
2148
+ "browser": "host",
2149
+ "rn": "host"
2150
+ },
2151
+ "upstream": {
2152
+ "surface": "openclaw",
2153
+ "id": "ollama",
2154
+ "method": "local",
2155
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2156
+ "flow": "present"
2157
+ }
2158
+ },
2159
+ {
2160
+ "choice": "ollama-cloud",
2161
+ "provider": "ollama-cloud",
2162
+ "plugin": "ollama",
2163
+ "billing": "api",
2164
+ "via": "key",
2165
+ "prerequisite": null,
2166
+ "offer": false,
2167
+ "offerPolicy": "explicit",
2168
+ "reason": "Ollama: API key (billed per use).",
2169
+ "source": "extensions/ollama/openclaw.plugin.json (2026.8.1)",
2170
+ "revision": "2026.8.1",
2171
+ "checked": "2026-10-02",
2172
+ "label": "Ollama Cloud",
2173
+ "keyEntry": true,
2174
+ "keyErrors": {
2175
+ "invalid": "key.invalid",
2176
+ "not_included": "key.notIncluded"
2177
+ },
2178
+ "id": "ollama-cloud:key:ollama-cloud",
2179
+ "name": "Ollama",
2180
+ "company": "Ollama",
2181
+ "billingFrom": "source",
2182
+ "group": "models",
2183
+ "platforms": {
2184
+ "node": "yes",
2185
+ "browser": "host",
2186
+ "rn": "host"
2187
+ },
2188
+ "upstream": {
2189
+ "surface": "openclaw",
2190
+ "id": "ollama-cloud",
2191
+ "method": "api-key",
2192
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2193
+ "flow": "present"
2194
+ }
2195
+ },
2
2196
  {
3
2197
  "choice": "openai",
4
2198
  "provider": "openai",
@@ -7,13 +2201,31 @@
7
2201
  "via": "browser",
8
2202
  "prerequisite": null,
9
2203
  "offer": true,
10
- "reason": "ChatGPT/Codex subscription sign-in: the engine writes the redirect to the app's callback port.",
11
- "source": "dist/provider-contract-api-*.js (2026.8.1)",
2204
+ "offerPolicy": "default",
2205
+ "reason": "ChatGPT Login: subscription sign-in.",
2206
+ "source": "extensions/openai/openclaw.plugin.json (2026.8.1)",
12
2207
  "revision": "2026.8.1",
13
- "checked": "2026-09-30",
14
- "label": "Subscription",
2208
+ "checked": "2026-10-02",
2209
+ "label": "ChatGPT Login",
15
2210
  "keyEntry": false,
16
- "keyErrors": null
2211
+ "keyErrors": null,
2212
+ "id": "openai:browser:openai",
2213
+ "name": "OpenAI",
2214
+ "company": "OpenAI",
2215
+ "billingFrom": "source",
2216
+ "group": "models",
2217
+ "platforms": {
2218
+ "node": "yes",
2219
+ "browser": "host",
2220
+ "rn": "host"
2221
+ },
2222
+ "upstream": {
2223
+ "surface": "openclaw",
2224
+ "id": "openai",
2225
+ "method": "oauth",
2226
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2227
+ "flow": "present"
2228
+ }
17
2229
  },
18
2230
  {
19
2231
  "choice": "openai-device-code",
@@ -23,598 +2235,1805 @@
23
2235
  "via": "code",
24
2236
  "prerequisite": null,
25
2237
  "offer": true,
26
- "reason": "ChatGPT subscription sign-in by device code: the code is shown, no browser on this computer needed.",
27
- "source": "dist/provider-contract-api-*.js (2026.8.1)",
2238
+ "offerPolicy": "default",
2239
+ "reason": "ChatGPT Device Pairing: subscription sign-in.",
2240
+ "source": "extensions/openai/openclaw.plugin.json (2026.8.1)",
28
2241
  "revision": "2026.8.1",
29
- "checked": "2026-09-30",
30
- "label": "Subscription",
2242
+ "checked": "2026-10-02",
2243
+ "label": "ChatGPT Device Pairing",
31
2244
  "keyEntry": false,
32
- "keyErrors": null
2245
+ "keyErrors": null,
2246
+ "id": "openai:code:openai-device-code",
2247
+ "name": "OpenAI",
2248
+ "company": "OpenAI",
2249
+ "billingFrom": "source",
2250
+ "group": "models",
2251
+ "platforms": {
2252
+ "node": "yes",
2253
+ "browser": "host",
2254
+ "rn": "host"
2255
+ },
2256
+ "upstream": {
2257
+ "surface": "openclaw",
2258
+ "id": "openai",
2259
+ "method": "device-code",
2260
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2261
+ "flow": "present"
2262
+ }
33
2263
  },
34
2264
  {
35
- "choice": "xai-oauth",
36
- "provider": "xai",
37
- "plugin": "xai",
38
- "billing": "subscription",
39
- "via": "code",
2265
+ "choice": "openai-api-key",
2266
+ "provider": "openai",
2267
+ "plugin": "openai",
2268
+ "billing": "api",
2269
+ "via": "key",
40
2270
  "prerequisite": null,
41
- "offer": true,
42
- "reason": "Grok subscription sign-in through the engine's own wizard.",
43
- "source": "dist/extensions/xai/openclaw.plugin.json (2026.8.1)",
2271
+ "offer": false,
2272
+ "offerPolicy": "explicit",
2273
+ "reason": "OpenAI: API key (billed per use).",
2274
+ "source": "extensions/openai/openclaw.plugin.json (2026.8.1)",
44
2275
  "revision": "2026.8.1",
45
- "checked": "2026-09-30",
46
- "label": "Subscription",
47
- "keyEntry": false,
48
- "keyErrors": null
2276
+ "checked": "2026-10-02",
2277
+ "label": "OpenAI API Key",
2278
+ "keyEntry": true,
2279
+ "keyErrors": {
2280
+ "invalid": "key.invalid",
2281
+ "not_included": "key.notIncluded"
2282
+ },
2283
+ "id": "openai:key:openai-api-key",
2284
+ "name": "OpenAI",
2285
+ "company": "OpenAI",
2286
+ "billingFrom": "source",
2287
+ "group": "models",
2288
+ "platforms": {
2289
+ "node": "yes",
2290
+ "browser": "host",
2291
+ "rn": "host"
2292
+ },
2293
+ "upstream": {
2294
+ "surface": "openclaw",
2295
+ "id": "openai",
2296
+ "method": "api-key",
2297
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2298
+ "flow": "present"
2299
+ }
49
2300
  },
50
2301
  {
51
- "choice": "github-copilot",
52
- "provider": "github-copilot",
53
- "plugin": "github-copilot",
54
- "billing": "subscription",
55
- "via": "code",
2302
+ "choice": "opencode-zen",
2303
+ "provider": "opencode",
2304
+ "plugin": "opencode",
2305
+ "billing": "api",
2306
+ "via": "key",
56
2307
  "prerequisite": null,
57
- "offer": true,
58
- "reason": "GitHub Copilot subscription sign-in; the login stays in the engine's own folder.",
59
- "source": "dist/extensions/github-copilot/openclaw.plugin.json (2026.8.1)",
2308
+ "offer": false,
2309
+ "offerPolicy": "explicit",
2310
+ "reason": "OpenCode: API key (billed per use).",
2311
+ "source": "extensions/opencode/openclaw.plugin.json (2026.8.1)",
60
2312
  "revision": "2026.8.1",
61
- "checked": "2026-09-30",
62
- "label": "Subscription",
63
- "keyEntry": false,
64
- "keyErrors": null
2313
+ "checked": "2026-10-02",
2314
+ "label": "OpenCode Zen catalog",
2315
+ "keyEntry": true,
2316
+ "keyErrors": {
2317
+ "invalid": "key.invalid",
2318
+ "not_included": "key.notIncluded"
2319
+ },
2320
+ "id": "opencode:key:opencode-zen",
2321
+ "name": "OpenCode",
2322
+ "company": "OpenCode",
2323
+ "billingFrom": "source",
2324
+ "group": "models",
2325
+ "platforms": {
2326
+ "node": "yes",
2327
+ "browser": "host",
2328
+ "rn": "host"
2329
+ },
2330
+ "needs": {
2331
+ "plugin": "opencode"
2332
+ },
2333
+ "install": {
2334
+ "clawhubSpec": "clawhub:@openclaw/opencode-provider",
2335
+ "npmSpec": "@openclaw/opencode-provider",
2336
+ "defaultChoice": "npm",
2337
+ "minHostVersion": ">=2026.7.2"
2338
+ },
2339
+ "upstream": {
2340
+ "surface": "openclaw",
2341
+ "id": "opencode",
2342
+ "method": "api-key",
2343
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2344
+ "flow": "present"
2345
+ }
65
2346
  },
66
2347
  {
67
- "choice": "github-copilot-enterprise",
68
- "provider": "github-copilot",
69
- "plugin": "github-copilot",
2348
+ "choice": "opencode-go",
2349
+ "provider": "opencode-go",
2350
+ "plugin": "opencode-go",
70
2351
  "billing": "subscription",
71
- "via": "code",
2352
+ "via": "plan_key",
72
2353
  "prerequisite": null,
73
2354
  "offer": true,
74
- "reason": "GitHub Copilot Enterprise sign-in; the login stays in the engine's own folder.",
75
- "source": "dist/extensions/github-copilot/openclaw.plugin.json (2026.8.1)",
2355
+ "offerPolicy": "default",
2356
+ "reason": "OpenCode Go catalog: subscription sign-in.",
2357
+ "source": "extensions/opencode-go/openclaw.plugin.json (2026.8.1)",
2358
+ "revision": "2026.8.1",
2359
+ "checked": "2026-10-02",
2360
+ "label": "OpenCode Go catalog",
2361
+ "keyEntry": true,
2362
+ "keyErrors": {
2363
+ "invalid": "key.invalid",
2364
+ "not_included": "key.notIncluded"
2365
+ },
2366
+ "id": "opencode-go:plan_key:opencode-go",
2367
+ "name": "OpenCode",
2368
+ "company": "OpenCode",
2369
+ "billingFrom": "source",
2370
+ "group": "models",
2371
+ "platforms": {
2372
+ "node": "yes",
2373
+ "browser": "host",
2374
+ "rn": "host"
2375
+ },
2376
+ "upstream": {
2377
+ "surface": "openclaw",
2378
+ "id": "opencode-go",
2379
+ "method": "api-key",
2380
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2381
+ "flow": "present"
2382
+ }
2383
+ },
2384
+ {
2385
+ "choice": "openrouter-api-key",
2386
+ "provider": "openrouter",
2387
+ "plugin": "openrouter",
2388
+ "billing": "api",
2389
+ "via": "key",
2390
+ "prerequisite": null,
2391
+ "offer": false,
2392
+ "offerPolicy": "explicit",
2393
+ "reason": "OpenRouter: API key (billed per use).",
2394
+ "source": "extensions/openrouter/openclaw.plugin.json (2026.8.1)",
2395
+ "revision": "2026.8.1",
2396
+ "checked": "2026-10-02",
2397
+ "label": "OpenRouter API key",
2398
+ "keyEntry": true,
2399
+ "keyErrors": {
2400
+ "invalid": "key.invalid",
2401
+ "not_included": "key.notIncluded"
2402
+ },
2403
+ "id": "openrouter:key:openrouter-api-key",
2404
+ "name": "OpenRouter",
2405
+ "company": "OpenRouter",
2406
+ "billingFrom": "source",
2407
+ "group": "models",
2408
+ "platforms": {
2409
+ "node": "yes",
2410
+ "browser": "host",
2411
+ "rn": "host"
2412
+ },
2413
+ "upstream": {
2414
+ "surface": "openclaw",
2415
+ "id": "openrouter",
2416
+ "method": "api-key",
2417
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2418
+ "flow": "present"
2419
+ }
2420
+ },
2421
+ {
2422
+ "choice": "openrouter-oauth",
2423
+ "provider": "openrouter",
2424
+ "plugin": "openrouter",
2425
+ "billing": "api",
2426
+ "via": "browser",
2427
+ "prerequisite": null,
2428
+ "offer": false,
2429
+ "offerPolicy": "explicit",
2430
+ "reason": "OpenRouter: OAuth (billed per use).",
2431
+ "source": "extensions/openrouter/openclaw.plugin.json (2026.8.1)",
76
2432
  "revision": "2026.8.1",
77
- "checked": "2026-09-30",
78
- "label": "Subscription",
2433
+ "checked": "2026-10-02",
2434
+ "label": "OpenRouter OAuth",
79
2435
  "keyEntry": false,
80
- "keyErrors": null
2436
+ "keyErrors": null,
2437
+ "id": "openrouter:browser:openrouter-oauth",
2438
+ "name": "OpenRouter",
2439
+ "company": "OpenRouter",
2440
+ "billingFrom": "source",
2441
+ "group": "models",
2442
+ "platforms": {
2443
+ "node": "yes",
2444
+ "browser": "host",
2445
+ "rn": "host"
2446
+ },
2447
+ "upstream": {
2448
+ "surface": "openclaw",
2449
+ "id": "openrouter",
2450
+ "method": "oauth",
2451
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2452
+ "flow": "present"
2453
+ }
81
2454
  },
82
2455
  {
83
- "choice": "minimax-global-oauth",
84
- "provider": "minimax",
85
- "plugin": "minimax",
2456
+ "choice": "pixverse-api-key",
2457
+ "provider": "pixverse",
2458
+ "plugin": "pixverse",
2459
+ "billing": "api",
2460
+ "via": "key",
2461
+ "prerequisite": null,
2462
+ "offer": false,
2463
+ "offerPolicy": "explicit",
2464
+ "reason": "PixVerse: API key (billed per use).",
2465
+ "source": "extensions/pixverse/openclaw.plugin.json (2026.8.1)",
2466
+ "revision": "2026.8.1",
2467
+ "checked": "2026-10-02",
2468
+ "label": "PixVerse API key",
2469
+ "keyEntry": true,
2470
+ "keyErrors": {
2471
+ "invalid": "key.invalid",
2472
+ "not_included": "key.notIncluded"
2473
+ },
2474
+ "id": "pixverse:key:pixverse-api-key",
2475
+ "name": "PixVerse",
2476
+ "company": "PixVerse",
2477
+ "billingFrom": "source",
2478
+ "group": "services",
2479
+ "platforms": {
2480
+ "node": "yes",
2481
+ "browser": "host",
2482
+ "rn": "host"
2483
+ },
2484
+ "needs": {
2485
+ "plugin": "pixverse"
2486
+ },
2487
+ "install": {
2488
+ "clawhubSpec": "clawhub:@openclaw/pixverse-provider",
2489
+ "npmSpec": "@openclaw/pixverse-provider",
2490
+ "defaultChoice": "npm",
2491
+ "minHostVersion": ">=2026.5.26"
2492
+ },
2493
+ "upstream": {
2494
+ "surface": "openclaw",
2495
+ "id": "pixverse",
2496
+ "method": "api-key",
2497
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2498
+ "flow": "present"
2499
+ }
2500
+ },
2501
+ {
2502
+ "choice": "qianfan-api-key",
2503
+ "provider": "qianfan",
2504
+ "plugin": "qianfan",
2505
+ "billing": "api",
2506
+ "via": "key",
2507
+ "prerequisite": null,
2508
+ "offer": false,
2509
+ "offerPolicy": "explicit",
2510
+ "reason": "Qianfan: API key (billed per use).",
2511
+ "source": "extensions/qianfan/openclaw.plugin.json (2026.8.1)",
2512
+ "revision": "2026.8.1",
2513
+ "checked": "2026-10-02",
2514
+ "label": "Qianfan API key",
2515
+ "keyEntry": true,
2516
+ "keyErrors": {
2517
+ "invalid": "key.invalid",
2518
+ "not_included": "key.notIncluded"
2519
+ },
2520
+ "id": "qianfan:key:qianfan-api-key",
2521
+ "name": "Qianfan",
2522
+ "company": "Qianfan",
2523
+ "billingFrom": "source",
2524
+ "group": "models",
2525
+ "platforms": {
2526
+ "node": "yes",
2527
+ "browser": "host",
2528
+ "rn": "host"
2529
+ },
2530
+ "needs": {
2531
+ "plugin": "qianfan"
2532
+ },
2533
+ "install": {
2534
+ "clawhubSpec": "clawhub:@openclaw/qianfan-provider",
2535
+ "npmSpec": "@openclaw/qianfan-provider",
2536
+ "defaultChoice": "npm",
2537
+ "minHostVersion": ">=2026.6.8"
2538
+ },
2539
+ "upstream": {
2540
+ "surface": "openclaw",
2541
+ "id": "qianfan",
2542
+ "method": "api-key",
2543
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2544
+ "flow": "present"
2545
+ }
2546
+ },
2547
+ {
2548
+ "choice": "qwen-standard-api-key-cn",
2549
+ "provider": "qwen",
2550
+ "plugin": "qwen",
2551
+ "billing": "api",
2552
+ "via": "key",
2553
+ "prerequisite": null,
2554
+ "offer": false,
2555
+ "offerPolicy": "explicit",
2556
+ "reason": "Qwen Cloud: API key (billed per use).",
2557
+ "source": "extensions/qwen/openclaw.plugin.json (2026.8.1)",
2558
+ "revision": "2026.8.1",
2559
+ "checked": "2026-10-02",
2560
+ "label": "Standard API Key for China (pay-as-you-go)",
2561
+ "keyEntry": true,
2562
+ "keyErrors": {
2563
+ "invalid": "key.invalid",
2564
+ "not_included": "key.notIncluded"
2565
+ },
2566
+ "id": "qwen:key:qwen-standard-api-key-cn",
2567
+ "name": "Qwen Cloud",
2568
+ "company": "Qwen Cloud",
2569
+ "aliases": [
2570
+ "modelstudio-standard-api-key-cn"
2571
+ ],
2572
+ "billingFrom": "source",
2573
+ "group": "models",
2574
+ "platforms": {
2575
+ "node": "yes",
2576
+ "browser": "host",
2577
+ "rn": "host"
2578
+ },
2579
+ "needs": {
2580
+ "plugin": "qwen"
2581
+ },
2582
+ "install": {
2583
+ "clawhubSpec": "clawhub:@openclaw/qwen-provider",
2584
+ "npmSpec": "@openclaw/qwen-provider",
2585
+ "defaultChoice": "npm",
2586
+ "minHostVersion": ">=2026.6.8"
2587
+ },
2588
+ "upstream": {
2589
+ "surface": "openclaw",
2590
+ "id": "qwen",
2591
+ "method": "standard-api-key-cn",
2592
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2593
+ "flow": "present"
2594
+ }
2595
+ },
2596
+ {
2597
+ "choice": "qwen-standard-api-key",
2598
+ "provider": "qwen",
2599
+ "plugin": "qwen",
2600
+ "billing": "api",
2601
+ "via": "key",
2602
+ "prerequisite": null,
2603
+ "offer": false,
2604
+ "offerPolicy": "explicit",
2605
+ "reason": "Qwen Cloud: API key (billed per use).",
2606
+ "source": "extensions/qwen/openclaw.plugin.json (2026.8.1)",
2607
+ "revision": "2026.8.1",
2608
+ "checked": "2026-10-02",
2609
+ "label": "Standard API Key for Global/Intl (pay-as-you-go)",
2610
+ "keyEntry": true,
2611
+ "keyErrors": {
2612
+ "invalid": "key.invalid",
2613
+ "not_included": "key.notIncluded"
2614
+ },
2615
+ "id": "qwen:key:qwen-standard-api-key",
2616
+ "name": "Qwen Cloud",
2617
+ "company": "Qwen Cloud",
2618
+ "aliases": [
2619
+ "modelstudio-standard-api-key"
2620
+ ],
2621
+ "billingFrom": "source",
2622
+ "group": "models",
2623
+ "platforms": {
2624
+ "node": "yes",
2625
+ "browser": "host",
2626
+ "rn": "host"
2627
+ },
2628
+ "needs": {
2629
+ "plugin": "qwen"
2630
+ },
2631
+ "install": {
2632
+ "clawhubSpec": "clawhub:@openclaw/qwen-provider",
2633
+ "npmSpec": "@openclaw/qwen-provider",
2634
+ "defaultChoice": "npm",
2635
+ "minHostVersion": ">=2026.6.8"
2636
+ },
2637
+ "upstream": {
2638
+ "surface": "openclaw",
2639
+ "id": "qwen",
2640
+ "method": "standard-api-key",
2641
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2642
+ "flow": "present"
2643
+ }
2644
+ },
2645
+ {
2646
+ "choice": "qwen-api-key-cn",
2647
+ "provider": "qwen",
2648
+ "plugin": "qwen",
86
2649
  "billing": "subscription",
87
- "via": "code",
2650
+ "via": "plan_key",
88
2651
  "prerequisite": null,
89
- "offer": true,
90
- "reason": "MiniMax subscription sign-in (global endpoint).",
91
- "source": "dist/extensions/minimax/openclaw.plugin.json (2026.8.1)",
2652
+ "offer": false,
2653
+ "offerPolicy": "default",
2654
+ "reason": "Coding Plan API Key for China (subscription): subscription sign-in.",
2655
+ "source": "extensions/qwen/openclaw.plugin.json (2026.8.1)",
92
2656
  "revision": "2026.8.1",
93
- "checked": "2026-09-30",
94
- "label": "Subscription",
95
- "keyEntry": false,
96
- "keyErrors": null
2657
+ "checked": "2026-10-02",
2658
+ "label": "Coding Plan API Key for China (subscription)",
2659
+ "keyEntry": true,
2660
+ "keyErrors": {
2661
+ "invalid": "key.invalid",
2662
+ "not_included": "key.notIncluded"
2663
+ },
2664
+ "id": "qwen:plan_key:qwen-api-key-cn",
2665
+ "name": "Qwen Cloud",
2666
+ "company": "Qwen Cloud",
2667
+ "aliases": [
2668
+ "modelstudio-api-key-cn"
2669
+ ],
2670
+ "billingFrom": "source",
2671
+ "group": "models",
2672
+ "platforms": {
2673
+ "node": "yes",
2674
+ "browser": "host",
2675
+ "rn": "host"
2676
+ },
2677
+ "needs": {
2678
+ "plugin": "qwen"
2679
+ },
2680
+ "install": {
2681
+ "clawhubSpec": "clawhub:@openclaw/qwen-provider",
2682
+ "npmSpec": "@openclaw/qwen-provider",
2683
+ "defaultChoice": "npm",
2684
+ "minHostVersion": ">=2026.6.8"
2685
+ },
2686
+ "upstream": {
2687
+ "surface": "openclaw",
2688
+ "id": "qwen",
2689
+ "method": "api-key-cn",
2690
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2691
+ "flow": "present"
2692
+ }
97
2693
  },
98
2694
  {
99
- "choice": "minimax-cn-oauth",
100
- "provider": "minimax",
101
- "plugin": "minimax",
2695
+ "choice": "qwen-api-key",
2696
+ "provider": "qwen",
2697
+ "plugin": "qwen",
102
2698
  "billing": "subscription",
103
- "via": "code",
2699
+ "via": "plan_key",
104
2700
  "prerequisite": null,
105
- "offer": true,
106
- "reason": "MiniMax subscription sign-in (CN endpoint).",
107
- "source": "dist/extensions/minimax/openclaw.plugin.json (2026.8.1)",
2701
+ "offer": false,
2702
+ "offerPolicy": "default",
2703
+ "reason": "Coding Plan API Key for Global/Intl (subscription): subscription sign-in.",
2704
+ "source": "extensions/qwen/openclaw.plugin.json (2026.8.1)",
108
2705
  "revision": "2026.8.1",
109
- "checked": "2026-09-30",
110
- "label": "Subscription",
111
- "keyEntry": false,
112
- "keyErrors": null
2706
+ "checked": "2026-10-02",
2707
+ "label": "Coding Plan API Key for Global/Intl (subscription)",
2708
+ "keyEntry": true,
2709
+ "keyErrors": {
2710
+ "invalid": "key.invalid",
2711
+ "not_included": "key.notIncluded"
2712
+ },
2713
+ "id": "qwen:plan_key:qwen-api-key",
2714
+ "name": "Qwen Cloud",
2715
+ "company": "Qwen Cloud",
2716
+ "aliases": [
2717
+ "modelstudio-api-key"
2718
+ ],
2719
+ "billingFrom": "source",
2720
+ "group": "models",
2721
+ "platforms": {
2722
+ "node": "yes",
2723
+ "browser": "host",
2724
+ "rn": "host"
2725
+ },
2726
+ "needs": {
2727
+ "plugin": "qwen"
2728
+ },
2729
+ "install": {
2730
+ "clawhubSpec": "clawhub:@openclaw/qwen-provider",
2731
+ "npmSpec": "@openclaw/qwen-provider",
2732
+ "defaultChoice": "npm",
2733
+ "minHostVersion": ">=2026.6.8"
2734
+ },
2735
+ "upstream": {
2736
+ "surface": "openclaw",
2737
+ "id": "qwen",
2738
+ "method": "api-key",
2739
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2740
+ "flow": "present"
2741
+ }
113
2742
  },
114
2743
  {
115
- "choice": "openrouter-oauth",
116
- "provider": "openrouter",
117
- "plugin": "openrouter",
118
- "billing": "api",
119
- "via": "browser",
2744
+ "choice": "qwen-token-plan",
2745
+ "provider": "qwen-token-plan",
2746
+ "plugin": "qwen",
2747
+ "billing": "subscription",
2748
+ "via": "plan_key",
120
2749
  "prerequisite": null,
121
2750
  "offer": false,
122
- "reason": "API key (billed per use); offered only when the app or person opts in.",
123
- "source": "dist/extensions/openrouter/openclaw.plugin.json (2026.8.1)",
2751
+ "offerPolicy": "default",
2752
+ "reason": "Qwen Token Plan (Global/Intl): subscription sign-in.",
2753
+ "source": "extensions/qwen/openclaw.plugin.json (2026.8.1)",
124
2754
  "revision": "2026.8.1",
125
- "checked": "2026-09-30",
126
- "label": "API key (billed per use)",
127
- "keyEntry": false,
128
- "keyErrors": null
2755
+ "checked": "2026-10-02",
2756
+ "label": "Qwen Token Plan (Global/Intl)",
2757
+ "keyEntry": true,
2758
+ "keyErrors": {
2759
+ "invalid": "key.invalid",
2760
+ "not_included": "key.notIncluded"
2761
+ },
2762
+ "id": "qwen-token-plan:plan_key:qwen-token-plan",
2763
+ "name": "Qwen Cloud",
2764
+ "company": "Qwen Cloud",
2765
+ "billingFrom": "source",
2766
+ "group": "models",
2767
+ "platforms": {
2768
+ "node": "yes",
2769
+ "browser": "host",
2770
+ "rn": "host"
2771
+ },
2772
+ "needs": {
2773
+ "plugin": "qwen"
2774
+ },
2775
+ "install": {
2776
+ "clawhubSpec": "clawhub:@openclaw/qwen-provider",
2777
+ "npmSpec": "@openclaw/qwen-provider",
2778
+ "defaultChoice": "npm",
2779
+ "minHostVersion": ">=2026.6.8"
2780
+ },
2781
+ "upstream": {
2782
+ "surface": "openclaw",
2783
+ "id": "qwen-token-plan",
2784
+ "method": "api-key",
2785
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2786
+ "flow": "present"
2787
+ }
129
2788
  },
130
2789
  {
131
- "choice": "xai-device-code",
132
- "provider": "xai",
133
- "plugin": "xai",
2790
+ "choice": "qwen-token-plan-cn",
2791
+ "provider": "qwen-token-plan",
2792
+ "plugin": "qwen",
134
2793
  "billing": "subscription",
135
- "via": "code",
2794
+ "via": "plan_key",
136
2795
  "prerequisite": null,
137
2796
  "offer": false,
138
- "reason": "Compatibility alias the Gateway does not offer; use xai-oauth.",
139
- "source": "dist/extensions/xai/openclaw.plugin.json (2026.8.1)",
2797
+ "offerPolicy": "default",
2798
+ "reason": "Qwen Token Plan (China): subscription sign-in.",
2799
+ "source": "extensions/qwen/openclaw.plugin.json (2026.8.1)",
140
2800
  "revision": "2026.8.1",
141
- "checked": "2026-09-30",
142
- "label": "Subscription",
143
- "keyEntry": false,
144
- "keyErrors": null
2801
+ "checked": "2026-10-02",
2802
+ "label": "Qwen Token Plan (China)",
2803
+ "keyEntry": true,
2804
+ "keyErrors": {
2805
+ "invalid": "key.invalid",
2806
+ "not_included": "key.notIncluded"
2807
+ },
2808
+ "id": "qwen-token-plan:plan_key:qwen-token-plan-cn",
2809
+ "name": "Qwen Cloud",
2810
+ "company": "Qwen Cloud",
2811
+ "billingFrom": "source",
2812
+ "group": "models",
2813
+ "platforms": {
2814
+ "node": "yes",
2815
+ "browser": "host",
2816
+ "rn": "host"
2817
+ },
2818
+ "needs": {
2819
+ "plugin": "qwen"
2820
+ },
2821
+ "install": {
2822
+ "clawhubSpec": "clawhub:@openclaw/qwen-provider",
2823
+ "npmSpec": "@openclaw/qwen-provider",
2824
+ "defaultChoice": "npm",
2825
+ "minHostVersion": ">=2026.6.8"
2826
+ },
2827
+ "upstream": {
2828
+ "surface": "openclaw",
2829
+ "id": "qwen-token-plan",
2830
+ "method": "api-key-cn",
2831
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2832
+ "flow": "present"
2833
+ }
145
2834
  },
146
2835
  {
147
- "choice": "alibaba-model-studio-api-key",
148
- "provider": "alibaba",
149
- "plugin": "alibaba",
2836
+ "choice": "runway-api-key",
2837
+ "provider": "runway",
2838
+ "plugin": "runway",
150
2839
  "billing": "api",
151
- "via": "browser",
2840
+ "via": "key",
152
2841
  "prerequisite": null,
153
2842
  "offer": false,
154
- "reason": "API key (billed per use); offered only when the app or person opts in.",
155
- "source": "dist/extensions/alibaba/openclaw.plugin.json (2026.8.1)",
2843
+ "offerPolicy": "explicit",
2844
+ "reason": "Runway: API key (billed per use).",
2845
+ "source": "extensions/runway/openclaw.plugin.json (2026.8.1)",
156
2846
  "revision": "2026.8.1",
157
- "checked": "2026-09-30",
158
- "label": "API key (billed per use)",
159
- "keyEntry": false,
160
- "keyErrors": null
2847
+ "checked": "2026-10-02",
2848
+ "label": "Runway API key",
2849
+ "keyEntry": true,
2850
+ "keyErrors": {
2851
+ "invalid": "key.invalid",
2852
+ "not_included": "key.notIncluded"
2853
+ },
2854
+ "id": "runway:key:runway-api-key",
2855
+ "name": "Runway",
2856
+ "company": "Runway",
2857
+ "billingFrom": "source",
2858
+ "group": "services",
2859
+ "platforms": {
2860
+ "node": "yes",
2861
+ "browser": "host",
2862
+ "rn": "host"
2863
+ },
2864
+ "upstream": {
2865
+ "surface": "openclaw",
2866
+ "id": "runway",
2867
+ "method": "api-key",
2868
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2869
+ "flow": "present"
2870
+ }
161
2871
  },
162
2872
  {
163
- "choice": "anthropic-cli",
164
- "provider": "claude-cli",
165
- "plugin": "anthropic",
166
- "billing": "subscription",
167
- "via": "browser",
168
- "prerequisite": "Sign in through unmodified Claude Code on this machine using the kit's isolated HOME and CLAUDE_CONFIG_DIR; the login stays in Claude Code.",
169
- "offer": true,
170
- "reason": "Claude subscription via your own Claude Code login on this machine (Agent SDK runtime).",
171
- "source": "dist/extensions/anthropic/openclaw.plugin.json (2026.8.1)",
172
- "auth": "cli",
173
- "terms": "allowed",
174
- "termsUrl": "https://code.claude.com/docs/en/legal-and-compliance#authentication-and-credential-use",
2873
+ "choice": "sglang",
2874
+ "provider": "sglang",
2875
+ "plugin": "sglang",
2876
+ "billing": "local",
2877
+ "via": "local",
2878
+ "prerequisite": null,
2879
+ "offer": false,
2880
+ "offerPolicy": "explicit",
2881
+ "reason": "Local runtime; explicitly select this route.",
2882
+ "source": "extensions/sglang/openclaw.plugin.json (2026.8.1)",
175
2883
  "revision": "2026.8.1",
176
- "checked": "2026-09-30",
177
- "label": "Subscription",
2884
+ "checked": "2026-10-02",
2885
+ "label": "SGLang",
178
2886
  "keyEntry": false,
179
- "keyErrors": null
2887
+ "keyErrors": null,
2888
+ "id": "sglang:local:sglang",
2889
+ "name": "SGLang",
2890
+ "company": "SGLang",
2891
+ "billingFrom": "source",
2892
+ "group": "models",
2893
+ "platforms": {
2894
+ "node": "yes",
2895
+ "browser": "host",
2896
+ "rn": "host"
2897
+ },
2898
+ "upstream": {
2899
+ "surface": "openclaw",
2900
+ "id": "sglang",
2901
+ "method": "custom",
2902
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2903
+ "flow": "present"
2904
+ }
180
2905
  },
181
2906
  {
182
- "choice": "apiKey",
183
- "provider": "anthropic",
184
- "plugin": "anthropic",
2907
+ "choice": "stepfun-standard-api-key-cn",
2908
+ "provider": "stepfun",
2909
+ "plugin": "stepfun",
185
2910
  "billing": "api",
186
- "via": "browser",
2911
+ "via": "key",
187
2912
  "prerequisite": null,
188
2913
  "offer": false,
189
- "reason": "API key (billed per use)",
190
- "source": "dist/extensions/anthropic/openclaw.plugin.json (2026.8.1)",
191
- "auth": "api_key",
192
- "terms": "allowed",
193
- "termsUrl": "https://code.claude.com/docs/en/legal-and-compliance#authentication-and-credential-use",
2914
+ "offerPolicy": "explicit",
2915
+ "reason": "StepFun: API key (billed per use).",
2916
+ "source": "extensions/stepfun/openclaw.plugin.json (2026.8.1)",
194
2917
  "revision": "2026.8.1",
195
- "checked": "2026-09-30",
196
- "label": "API key (billed per use)",
2918
+ "checked": "2026-10-02",
2919
+ "label": "StepFun Standard API key (China)",
197
2920
  "keyEntry": true,
198
2921
  "keyErrors": {
199
2922
  "invalid": "key.invalid",
200
2923
  "not_included": "key.notIncluded"
2924
+ },
2925
+ "id": "stepfun:key:stepfun-standard-api-key-cn",
2926
+ "name": "StepFun",
2927
+ "company": "StepFun",
2928
+ "billingFrom": "source",
2929
+ "group": "models",
2930
+ "platforms": {
2931
+ "node": "yes",
2932
+ "browser": "host",
2933
+ "rn": "host"
2934
+ },
2935
+ "needs": {
2936
+ "plugin": "stepfun"
2937
+ },
2938
+ "install": {
2939
+ "clawhubSpec": "clawhub:@openclaw/stepfun-provider",
2940
+ "npmSpec": "@openclaw/stepfun-provider",
2941
+ "defaultChoice": "npm",
2942
+ "minHostVersion": ">=2026.6.9"
2943
+ },
2944
+ "upstream": {
2945
+ "surface": "openclaw",
2946
+ "id": "stepfun",
2947
+ "method": "standard-api-key-cn",
2948
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2949
+ "flow": "present"
201
2950
  }
202
2951
  },
203
2952
  {
204
- "choice": "clawrouter-api-key",
205
- "provider": "clawrouter",
206
- "plugin": "clawrouter",
2953
+ "choice": "stepfun-standard-api-key-intl",
2954
+ "provider": "stepfun",
2955
+ "plugin": "stepfun",
207
2956
  "billing": "api",
208
- "via": "browser",
2957
+ "via": "key",
209
2958
  "prerequisite": null,
210
2959
  "offer": false,
211
- "reason": "Proxy route; API key (billed per use); offered only when an app asks.",
212
- "source": "dist/extensions/clawrouter/openclaw.plugin.json (2026.8.1)",
2960
+ "offerPolicy": "explicit",
2961
+ "reason": "StepFun: API key (billed per use).",
2962
+ "source": "extensions/stepfun/openclaw.plugin.json (2026.8.1)",
213
2963
  "revision": "2026.8.1",
214
- "checked": "2026-09-30",
215
- "label": "API key (billed per use)",
216
- "keyEntry": false,
217
- "keyErrors": null
2964
+ "checked": "2026-10-02",
2965
+ "label": "StepFun Standard API key (Global/Intl)",
2966
+ "keyEntry": true,
2967
+ "keyErrors": {
2968
+ "invalid": "key.invalid",
2969
+ "not_included": "key.notIncluded"
2970
+ },
2971
+ "id": "stepfun:key:stepfun-standard-api-key-intl",
2972
+ "name": "StepFun",
2973
+ "company": "StepFun",
2974
+ "billingFrom": "source",
2975
+ "group": "models",
2976
+ "platforms": {
2977
+ "node": "yes",
2978
+ "browser": "host",
2979
+ "rn": "host"
2980
+ },
2981
+ "needs": {
2982
+ "plugin": "stepfun"
2983
+ },
2984
+ "install": {
2985
+ "clawhubSpec": "clawhub:@openclaw/stepfun-provider",
2986
+ "npmSpec": "@openclaw/stepfun-provider",
2987
+ "defaultChoice": "npm",
2988
+ "minHostVersion": ">=2026.6.9"
2989
+ },
2990
+ "upstream": {
2991
+ "surface": "openclaw",
2992
+ "id": "stepfun",
2993
+ "method": "standard-api-key-intl",
2994
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
2995
+ "flow": "present"
2996
+ }
218
2997
  },
219
2998
  {
220
- "choice": "copilot-proxy",
221
- "provider": "copilot-proxy",
222
- "plugin": "copilot-proxy",
223
- "billing": "local",
224
- "via": "browser",
2999
+ "choice": "stepfun-plan-api-key-cn",
3000
+ "provider": "stepfun-plan",
3001
+ "plugin": "stepfun",
3002
+ "billing": "subscription",
3003
+ "via": "plan_key",
225
3004
  "prerequisite": null,
226
3005
  "offer": false,
227
- "reason": "Local runtime on this computer; no account and no billing.",
228
- "source": "dist/extensions/copilot-proxy/openclaw.plugin.json (2026.8.1)",
3006
+ "offerPolicy": "default",
3007
+ "reason": "StepFun Step Plan API key (China): subscription sign-in.",
3008
+ "source": "extensions/stepfun/openclaw.plugin.json (2026.8.1)",
229
3009
  "revision": "2026.8.1",
230
- "checked": "2026-09-30",
231
- "label": "On this computer",
232
- "keyEntry": false,
233
- "keyErrors": null
3010
+ "checked": "2026-10-02",
3011
+ "label": "StepFun Step Plan API key (China)",
3012
+ "keyEntry": true,
3013
+ "keyErrors": {
3014
+ "invalid": "key.invalid",
3015
+ "not_included": "key.notIncluded"
3016
+ },
3017
+ "id": "stepfun-plan:plan_key:stepfun-plan-api-key-cn",
3018
+ "name": "StepFun",
3019
+ "company": "StepFun",
3020
+ "billingFrom": "source",
3021
+ "group": "models",
3022
+ "platforms": {
3023
+ "node": "yes",
3024
+ "browser": "host",
3025
+ "rn": "host"
3026
+ },
3027
+ "needs": {
3028
+ "plugin": "stepfun"
3029
+ },
3030
+ "install": {
3031
+ "clawhubSpec": "clawhub:@openclaw/stepfun-provider",
3032
+ "npmSpec": "@openclaw/stepfun-provider",
3033
+ "defaultChoice": "npm",
3034
+ "minHostVersion": ">=2026.6.9"
3035
+ },
3036
+ "upstream": {
3037
+ "surface": "openclaw",
3038
+ "id": "stepfun-plan",
3039
+ "method": "plan-api-key-cn",
3040
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3041
+ "flow": "present"
3042
+ }
234
3043
  },
235
3044
  {
236
- "choice": "custom-api-key",
237
- "provider": "custom",
238
- "plugin": "",
239
- "billing": "api",
240
- "via": "browser",
3045
+ "choice": "stepfun-plan-api-key-intl",
3046
+ "provider": "stepfun-plan",
3047
+ "plugin": "stepfun",
3048
+ "billing": "subscription",
3049
+ "via": "plan_key",
241
3050
  "prerequisite": null,
242
3051
  "offer": false,
243
- "reason": "Proxy route; API key (billed per use); offered only when an app asks.",
244
- "source": "dist/auth-choice-options-BLHNSTXX.js (2026.8.1)",
3052
+ "offerPolicy": "default",
3053
+ "reason": "StepFun Step Plan API key (Global/Intl): subscription sign-in.",
3054
+ "source": "extensions/stepfun/openclaw.plugin.json (2026.8.1)",
245
3055
  "revision": "2026.8.1",
246
- "checked": "2026-09-30",
247
- "label": "API key (billed per use)",
248
- "keyEntry": false,
249
- "keyErrors": null
3056
+ "checked": "2026-10-02",
3057
+ "label": "StepFun Step Plan API key (Global/Intl)",
3058
+ "keyEntry": true,
3059
+ "keyErrors": {
3060
+ "invalid": "key.invalid",
3061
+ "not_included": "key.notIncluded"
3062
+ },
3063
+ "id": "stepfun-plan:plan_key:stepfun-plan-api-key-intl",
3064
+ "name": "StepFun",
3065
+ "company": "StepFun",
3066
+ "billingFrom": "source",
3067
+ "group": "models",
3068
+ "platforms": {
3069
+ "node": "yes",
3070
+ "browser": "host",
3071
+ "rn": "host"
3072
+ },
3073
+ "needs": {
3074
+ "plugin": "stepfun"
3075
+ },
3076
+ "install": {
3077
+ "clawhubSpec": "clawhub:@openclaw/stepfun-provider",
3078
+ "npmSpec": "@openclaw/stepfun-provider",
3079
+ "defaultChoice": "npm",
3080
+ "minHostVersion": ">=2026.6.9"
3081
+ },
3082
+ "upstream": {
3083
+ "surface": "openclaw",
3084
+ "id": "stepfun-plan",
3085
+ "method": "plan-api-key-intl",
3086
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3087
+ "flow": "present"
3088
+ }
250
3089
  },
251
3090
  {
252
- "choice": "fal-api-key",
253
- "provider": "fal",
254
- "plugin": "fal",
3091
+ "choice": "synthetic-api-key",
3092
+ "provider": "synthetic",
3093
+ "plugin": "synthetic",
255
3094
  "billing": "api",
256
- "via": "browser",
3095
+ "via": "key",
257
3096
  "prerequisite": null,
258
3097
  "offer": false,
259
- "reason": "API key (billed per use); offered only when the app or person opts in.",
260
- "source": "dist/extensions/fal/openclaw.plugin.json (2026.8.1)",
3098
+ "offerPolicy": "explicit",
3099
+ "reason": "Synthetic: API key (billed per use).",
3100
+ "source": "extensions/synthetic/openclaw.plugin.json (2026.8.1)",
261
3101
  "revision": "2026.8.1",
262
- "checked": "2026-09-30",
263
- "label": "API key (billed per use)",
264
- "keyEntry": false,
265
- "keyErrors": null
3102
+ "checked": "2026-10-02",
3103
+ "label": "Synthetic API key",
3104
+ "keyEntry": true,
3105
+ "keyErrors": {
3106
+ "invalid": "key.invalid",
3107
+ "not_included": "key.notIncluded"
3108
+ },
3109
+ "id": "synthetic:key:synthetic-api-key",
3110
+ "name": "Synthetic",
3111
+ "company": "Synthetic",
3112
+ "billingFrom": "source",
3113
+ "group": "models",
3114
+ "platforms": {
3115
+ "node": "yes",
3116
+ "browser": "host",
3117
+ "rn": "host"
3118
+ },
3119
+ "needs": {
3120
+ "plugin": "synthetic"
3121
+ },
3122
+ "install": {
3123
+ "clawhubSpec": "clawhub:@openclaw/synthetic-provider",
3124
+ "npmSpec": "@openclaw/synthetic-provider",
3125
+ "defaultChoice": "npm",
3126
+ "minHostVersion": ">=2026.7.2"
3127
+ },
3128
+ "upstream": {
3129
+ "surface": "openclaw",
3130
+ "id": "synthetic",
3131
+ "method": "api-key",
3132
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3133
+ "flow": "present"
3134
+ }
266
3135
  },
267
3136
  {
268
- "choice": "gemini-api-key",
269
- "provider": "google",
270
- "plugin": "google",
3137
+ "choice": "tokenhub-api-key",
3138
+ "provider": "tencent-tokenhub",
3139
+ "plugin": "tencent",
271
3140
  "billing": "api",
272
- "via": "browser",
3141
+ "via": "key",
273
3142
  "prerequisite": null,
274
3143
  "offer": false,
275
- "reason": "API key (billed per use); offered only when the app or person opts in.",
276
- "source": "dist/provider-contract-api-*.js (2026.8.1)",
3144
+ "offerPolicy": "explicit",
3145
+ "reason": "Tencent Cloud: API key (billed per use).",
3146
+ "source": "extensions/tencent/openclaw.plugin.json (2026.8.1)",
277
3147
  "revision": "2026.8.1",
278
- "checked": "2026-09-30",
279
- "label": "API key (billed per use)",
3148
+ "checked": "2026-10-02",
3149
+ "label": "Tencent TokenHub",
280
3150
  "keyEntry": true,
281
3151
  "keyErrors": {
282
3152
  "invalid": "key.invalid",
283
3153
  "not_included": "key.notIncluded"
3154
+ },
3155
+ "id": "tencent-tokenhub:key:tokenhub-api-key",
3156
+ "name": "Tencent Cloud",
3157
+ "company": "Tencent Cloud",
3158
+ "billingFrom": "source",
3159
+ "group": "models",
3160
+ "platforms": {
3161
+ "node": "yes",
3162
+ "browser": "host",
3163
+ "rn": "host"
3164
+ },
3165
+ "needs": {
3166
+ "plugin": "tencent"
3167
+ },
3168
+ "install": {
3169
+ "clawhubSpec": "clawhub:@openclaw/tencent-provider",
3170
+ "npmSpec": "@openclaw/tencent-provider",
3171
+ "defaultChoice": "npm",
3172
+ "minHostVersion": ">=2026.6.9"
3173
+ },
3174
+ "upstream": {
3175
+ "surface": "openclaw",
3176
+ "id": "tencent-tokenhub",
3177
+ "method": "api-key",
3178
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3179
+ "flow": "present"
284
3180
  }
285
3181
  },
286
3182
  {
287
- "choice": "huggingface-api-key",
288
- "provider": "huggingface",
289
- "plugin": "huggingface",
290
- "billing": "api",
291
- "via": "browser",
3183
+ "choice": "tokenplan-api-key",
3184
+ "provider": "tencent-tokenplan",
3185
+ "plugin": "tencent",
3186
+ "billing": "subscription",
3187
+ "via": "plan_key",
292
3188
  "prerequisite": null,
293
3189
  "offer": false,
294
- "reason": "API key (billed per use); offered only when the app or person opts in.",
295
- "source": "dist/extensions/huggingface/openclaw.plugin.json (2026.8.1)",
3190
+ "offerPolicy": "default",
3191
+ "reason": "Tencent TokenPlan: subscription sign-in.",
3192
+ "source": "extensions/tencent/openclaw.plugin.json (2026.8.1)",
296
3193
  "revision": "2026.8.1",
297
- "checked": "2026-09-30",
298
- "label": "API key (billed per use)",
3194
+ "checked": "2026-10-02",
3195
+ "label": "Tencent TokenPlan",
299
3196
  "keyEntry": true,
300
3197
  "keyErrors": {
301
3198
  "invalid": "key.invalid",
302
3199
  "not_included": "key.notIncluded"
3200
+ },
3201
+ "id": "tencent-tokenplan:plan_key:tokenplan-api-key",
3202
+ "name": "Tencent Cloud",
3203
+ "company": "Tencent Cloud",
3204
+ "billingFrom": "source",
3205
+ "group": "models",
3206
+ "platforms": {
3207
+ "node": "yes",
3208
+ "browser": "host",
3209
+ "rn": "host"
3210
+ },
3211
+ "needs": {
3212
+ "plugin": "tencent"
3213
+ },
3214
+ "install": {
3215
+ "clawhubSpec": "clawhub:@openclaw/tencent-provider",
3216
+ "npmSpec": "@openclaw/tencent-provider",
3217
+ "defaultChoice": "npm",
3218
+ "minHostVersion": ">=2026.6.9"
3219
+ },
3220
+ "upstream": {
3221
+ "surface": "openclaw",
3222
+ "id": "tencent-tokenplan",
3223
+ "method": "api-key",
3224
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3225
+ "flow": "present"
303
3226
  }
304
3227
  },
305
3228
  {
306
- "choice": "litellm-api-key",
307
- "provider": "litellm",
308
- "plugin": "litellm",
3229
+ "choice": "together-api-key",
3230
+ "provider": "together",
3231
+ "plugin": "together",
309
3232
  "billing": "api",
310
- "via": "browser",
3233
+ "via": "key",
311
3234
  "prerequisite": null,
312
3235
  "offer": false,
313
- "reason": "Proxy route; API key (billed per use); offered only when an app asks.",
314
- "source": "dist/extensions/litellm/openclaw.plugin.json (2026.8.1)",
3236
+ "offerPolicy": "explicit",
3237
+ "reason": "Together AI: API key (billed per use).",
3238
+ "source": "extensions/together/openclaw.plugin.json (2026.8.1)",
315
3239
  "revision": "2026.8.1",
316
- "checked": "2026-09-30",
317
- "label": "API key (billed per use)",
3240
+ "checked": "2026-10-02",
3241
+ "label": "Together AI API key",
318
3242
  "keyEntry": true,
319
3243
  "keyErrors": {
320
3244
  "invalid": "key.invalid",
321
3245
  "not_included": "key.notIncluded"
3246
+ },
3247
+ "id": "together:key:together-api-key",
3248
+ "name": "Together AI",
3249
+ "company": "Together AI",
3250
+ "billingFrom": "source",
3251
+ "group": "models",
3252
+ "platforms": {
3253
+ "node": "yes",
3254
+ "browser": "host",
3255
+ "rn": "host"
3256
+ },
3257
+ "upstream": {
3258
+ "surface": "openclaw",
3259
+ "id": "together",
3260
+ "method": "api-key",
3261
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3262
+ "flow": "present"
322
3263
  }
323
3264
  },
324
3265
  {
325
- "choice": "lmstudio",
326
- "provider": "lmstudio",
327
- "plugin": "lmstudio",
328
- "billing": "local",
329
- "via": "browser",
3266
+ "choice": "venice-api-key",
3267
+ "provider": "venice",
3268
+ "plugin": "venice",
3269
+ "billing": "api",
3270
+ "via": "key",
330
3271
  "prerequisite": null,
331
3272
  "offer": false,
332
- "reason": "Local runtime on this computer; no account and no billing.",
333
- "source": "dist/extensions/lmstudio/openclaw.plugin.json (2026.8.1)",
3273
+ "offerPolicy": "explicit",
3274
+ "reason": "Venice AI: API key (billed per use).",
3275
+ "source": "extensions/venice/openclaw.plugin.json (2026.8.1)",
334
3276
  "revision": "2026.8.1",
335
- "checked": "2026-09-30",
336
- "label": "On this computer",
337
- "keyEntry": false,
338
- "keyErrors": null
3277
+ "checked": "2026-10-02",
3278
+ "label": "Venice AI API key",
3279
+ "keyEntry": true,
3280
+ "keyErrors": {
3281
+ "invalid": "key.invalid",
3282
+ "not_included": "key.notIncluded"
3283
+ },
3284
+ "id": "venice:key:venice-api-key",
3285
+ "name": "Venice AI",
3286
+ "company": "Venice AI",
3287
+ "billingFrom": "source",
3288
+ "group": "models",
3289
+ "platforms": {
3290
+ "node": "yes",
3291
+ "browser": "host",
3292
+ "rn": "host"
3293
+ },
3294
+ "needs": {
3295
+ "plugin": "venice"
3296
+ },
3297
+ "install": {
3298
+ "clawhubSpec": "clawhub:@openclaw/venice-provider",
3299
+ "npmSpec": "@openclaw/venice-provider",
3300
+ "defaultChoice": "npm",
3301
+ "minHostVersion": ">=2026.6.9"
3302
+ },
3303
+ "upstream": {
3304
+ "surface": "openclaw",
3305
+ "id": "venice",
3306
+ "method": "api-key",
3307
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3308
+ "flow": "present"
3309
+ }
339
3310
  },
340
3311
  {
341
- "choice": "microsoft-foundry-apikey",
342
- "provider": "microsoft-foundry",
343
- "plugin": "microsoft-foundry",
3312
+ "choice": "ai-gateway-api-key",
3313
+ "provider": "vercel-ai-gateway",
3314
+ "plugin": "vercel-ai-gateway",
344
3315
  "billing": "api",
345
- "via": "browser",
3316
+ "via": "key",
346
3317
  "prerequisite": null,
347
3318
  "offer": false,
348
- "reason": "API key (billed per use); offered only when the app or person opts in.",
349
- "source": "dist/extensions/microsoft-foundry/openclaw.plugin.json (2026.8.1)",
3319
+ "offerPolicy": "explicit",
3320
+ "reason": "Vercel AI Gateway: API key (billed per use).",
3321
+ "source": "extensions/vercel-ai-gateway/openclaw.plugin.json (2026.8.1)",
350
3322
  "revision": "2026.8.1",
351
- "checked": "2026-09-30",
352
- "label": "API key (billed per use)",
353
- "keyEntry": false,
354
- "keyErrors": null
3323
+ "checked": "2026-10-02",
3324
+ "label": "Vercel AI Gateway API key",
3325
+ "keyEntry": true,
3326
+ "keyErrors": {
3327
+ "invalid": "key.invalid",
3328
+ "not_included": "key.notIncluded"
3329
+ },
3330
+ "id": "vercel-ai-gateway:key:ai-gateway-api-key",
3331
+ "name": "Vercel AI Gateway",
3332
+ "company": "Vercel AI Gateway",
3333
+ "billingFrom": "source",
3334
+ "group": "models",
3335
+ "platforms": {
3336
+ "node": "yes",
3337
+ "browser": "host",
3338
+ "rn": "host"
3339
+ },
3340
+ "needs": {
3341
+ "plugin": "vercel-ai-gateway"
3342
+ },
3343
+ "install": {
3344
+ "clawhubSpec": "clawhub:@openclaw/vercel-ai-gateway-provider",
3345
+ "npmSpec": "@openclaw/vercel-ai-gateway-provider",
3346
+ "defaultChoice": "npm",
3347
+ "minHostVersion": ">=2026.6.9"
3348
+ },
3349
+ "upstream": {
3350
+ "surface": "openclaw",
3351
+ "id": "vercel-ai-gateway",
3352
+ "method": "api-key",
3353
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3354
+ "flow": "present"
3355
+ }
355
3356
  },
356
3357
  {
357
- "choice": "microsoft-foundry-entra",
358
- "provider": "microsoft-foundry",
359
- "plugin": "microsoft-foundry",
360
- "billing": "api",
361
- "via": "browser",
3358
+ "choice": "vllm",
3359
+ "provider": "vllm",
3360
+ "plugin": "vllm",
3361
+ "billing": "local",
3362
+ "via": "local",
362
3363
  "prerequisite": null,
363
3364
  "offer": false,
364
- "reason": "API key (billed per use); offered only when the app or person opts in.",
365
- "source": "dist/extensions/microsoft-foundry/openclaw.plugin.json (2026.8.1)",
3365
+ "offerPolicy": "explicit",
3366
+ "reason": "Local runtime; explicitly select this route.",
3367
+ "source": "extensions/vllm/openclaw.plugin.json (2026.8.1)",
366
3368
  "revision": "2026.8.1",
367
- "checked": "2026-09-30",
368
- "label": "API key (billed per use)",
3369
+ "checked": "2026-10-02",
3370
+ "label": "vLLM",
369
3371
  "keyEntry": false,
370
- "keyErrors": null
3372
+ "keyErrors": null,
3373
+ "id": "vllm:local:vllm",
3374
+ "name": "vLLM",
3375
+ "company": "vLLM",
3376
+ "billingFrom": "source",
3377
+ "group": "models",
3378
+ "platforms": {
3379
+ "node": "yes",
3380
+ "browser": "host",
3381
+ "rn": "host"
3382
+ },
3383
+ "upstream": {
3384
+ "surface": "openclaw",
3385
+ "id": "vllm",
3386
+ "method": "custom",
3387
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3388
+ "flow": "present"
3389
+ }
371
3390
  },
372
3391
  {
373
- "choice": "minimax-cn-api",
374
- "provider": "minimax",
375
- "plugin": "minimax",
3392
+ "choice": "volcengine-api-key",
3393
+ "provider": "volcengine",
3394
+ "plugin": "volcengine",
376
3395
  "billing": "api",
377
- "via": "browser",
3396
+ "via": "key",
378
3397
  "prerequisite": null,
379
3398
  "offer": false,
380
- "reason": "API key (billed per use); offered only when the app or person opts in.",
381
- "source": "dist/extensions/minimax/openclaw.plugin.json (2026.8.1)",
3399
+ "offerPolicy": "explicit",
3400
+ "reason": "Volcano Engine: API key (billed per use).",
3401
+ "source": "extensions/volcengine/openclaw.plugin.json (2026.8.1)",
382
3402
  "revision": "2026.8.1",
383
- "checked": "2026-09-30",
384
- "label": "API key (billed per use)",
385
- "keyEntry": false,
386
- "keyErrors": null
3403
+ "checked": "2026-10-02",
3404
+ "label": "Volcano Engine API key",
3405
+ "keyEntry": true,
3406
+ "keyErrors": {
3407
+ "invalid": "key.invalid",
3408
+ "not_included": "key.notIncluded"
3409
+ },
3410
+ "id": "volcengine:key:volcengine-api-key",
3411
+ "name": "Volcano Engine",
3412
+ "company": "Volcano Engine",
3413
+ "billingFrom": "source",
3414
+ "group": "models",
3415
+ "platforms": {
3416
+ "node": "yes",
3417
+ "browser": "host",
3418
+ "rn": "host"
3419
+ },
3420
+ "needs": {
3421
+ "plugin": "volcengine"
3422
+ },
3423
+ "install": {
3424
+ "clawhubSpec": "clawhub:@openclaw/volcengine-provider",
3425
+ "npmSpec": "@openclaw/volcengine-provider",
3426
+ "defaultChoice": "npm",
3427
+ "minHostVersion": ">=2026.7.2"
3428
+ },
3429
+ "upstream": {
3430
+ "surface": "openclaw",
3431
+ "id": "volcengine",
3432
+ "method": "api-key",
3433
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3434
+ "flow": "present"
3435
+ }
387
3436
  },
388
3437
  {
389
- "choice": "minimax-global-api",
390
- "provider": "minimax",
391
- "plugin": "minimax",
3438
+ "choice": "vydra-api-key",
3439
+ "provider": "vydra",
3440
+ "plugin": "vydra",
392
3441
  "billing": "api",
393
- "via": "browser",
3442
+ "via": "key",
394
3443
  "prerequisite": null,
395
3444
  "offer": false,
396
- "reason": "API key (billed per use); offered only when the app or person opts in.",
397
- "source": "dist/extensions/minimax/openclaw.plugin.json (2026.8.1)",
3445
+ "offerPolicy": "explicit",
3446
+ "reason": "Vydra: API key (billed per use).",
3447
+ "source": "extensions/vydra/openclaw.plugin.json (2026.8.1)",
398
3448
  "revision": "2026.8.1",
399
- "checked": "2026-09-30",
400
- "label": "API key (billed per use)",
401
- "keyEntry": false,
402
- "keyErrors": null
3449
+ "checked": "2026-10-02",
3450
+ "label": "Vydra API key",
3451
+ "keyEntry": true,
3452
+ "keyErrors": {
3453
+ "invalid": "key.invalid",
3454
+ "not_included": "key.notIncluded"
3455
+ },
3456
+ "id": "vydra:key:vydra-api-key",
3457
+ "name": "Vydra",
3458
+ "company": "Vydra",
3459
+ "billingFrom": "source",
3460
+ "group": "services",
3461
+ "platforms": {
3462
+ "node": "yes",
3463
+ "browser": "host",
3464
+ "rn": "host"
3465
+ },
3466
+ "needs": {
3467
+ "plugin": "vydra"
3468
+ },
3469
+ "install": {
3470
+ "clawhubSpec": "clawhub:@openclaw/vydra-provider",
3471
+ "npmSpec": "@openclaw/vydra-provider",
3472
+ "defaultChoice": "npm",
3473
+ "minHostVersion": ">=2026.7.2"
3474
+ },
3475
+ "upstream": {
3476
+ "surface": "openclaw",
3477
+ "id": "vydra",
3478
+ "method": "api-key",
3479
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3480
+ "flow": "present"
3481
+ }
403
3482
  },
404
3483
  {
405
- "choice": "nvidia-api-key",
406
- "provider": "nvidia",
407
- "plugin": "nvidia",
3484
+ "choice": "xai-api-key",
3485
+ "provider": "xai",
3486
+ "plugin": "xai",
408
3487
  "billing": "api",
409
- "via": "browser",
3488
+ "via": "key",
410
3489
  "prerequisite": null,
411
3490
  "offer": false,
412
- "reason": "API key (billed per use); offered only when the app or person opts in.",
413
- "source": "dist/extensions/nvidia/openclaw.plugin.json (2026.8.1)",
3491
+ "offerPolicy": "explicit",
3492
+ "reason": "xAI (Grok): API key (billed per use).",
3493
+ "source": "extensions/xai/openclaw.plugin.json (2026.8.1)",
414
3494
  "revision": "2026.8.1",
415
- "checked": "2026-09-30",
416
- "label": "API key (billed per use)",
3495
+ "checked": "2026-10-02",
3496
+ "label": "xAI API key",
417
3497
  "keyEntry": true,
418
3498
  "keyErrors": {
419
3499
  "invalid": "key.invalid",
420
3500
  "not_included": "key.notIncluded"
3501
+ },
3502
+ "id": "xai:key:xai-api-key",
3503
+ "name": "xAI (Grok)",
3504
+ "company": "xAI (Grok)",
3505
+ "billingFrom": "source",
3506
+ "group": "models",
3507
+ "platforms": {
3508
+ "node": "yes",
3509
+ "browser": "host",
3510
+ "rn": "host"
3511
+ },
3512
+ "upstream": {
3513
+ "surface": "openclaw",
3514
+ "id": "xai",
3515
+ "method": "api-key",
3516
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3517
+ "flow": "present"
421
3518
  }
422
3519
  },
423
3520
  {
424
- "choice": "ollama",
425
- "provider": "ollama",
426
- "plugin": "ollama",
427
- "billing": "local",
428
- "via": "browser",
3521
+ "choice": "xai-oauth",
3522
+ "provider": "xai",
3523
+ "plugin": "xai",
3524
+ "billing": "subscription",
3525
+ "via": "code",
3526
+ "prerequisite": null,
3527
+ "offer": true,
3528
+ "offerPolicy": "default",
3529
+ "reason": "xAI OAuth: subscription sign-in.",
3530
+ "source": "extensions/xai/openclaw.plugin.json (2026.8.1)",
3531
+ "revision": "2026.8.1",
3532
+ "checked": "2026-10-02",
3533
+ "label": "xAI OAuth",
3534
+ "keyEntry": false,
3535
+ "keyErrors": null,
3536
+ "id": "xai:code:xai-oauth",
3537
+ "name": "xAI (Grok)",
3538
+ "company": "xAI (Grok)",
3539
+ "billingFrom": "source",
3540
+ "group": "models",
3541
+ "platforms": {
3542
+ "node": "yes",
3543
+ "browser": "host",
3544
+ "rn": "host"
3545
+ },
3546
+ "upstream": {
3547
+ "surface": "openclaw",
3548
+ "id": "xai",
3549
+ "method": "oauth",
3550
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3551
+ "flow": "present"
3552
+ }
3553
+ },
3554
+ {
3555
+ "choice": "xai-device-code",
3556
+ "provider": "xai",
3557
+ "plugin": "xai",
3558
+ "billing": "subscription",
3559
+ "via": "code",
429
3560
  "prerequisite": null,
430
3561
  "offer": false,
431
- "reason": "Local runtime on this computer; no account and no billing.",
432
- "source": "dist/extensions/ollama/openclaw.plugin.json (2026.8.1)",
3562
+ "offerPolicy": "explicit",
3563
+ "reason": "Compatibility alias the Gateway does not offer; use xai-oauth.",
3564
+ "source": "extensions/xai/openclaw.plugin.json (2026.8.1)",
433
3565
  "revision": "2026.8.1",
434
- "checked": "2026-09-30",
435
- "label": "On this computer",
3566
+ "checked": "2026-10-02",
3567
+ "label": "xAI device code",
436
3568
  "keyEntry": false,
437
- "keyErrors": null
3569
+ "keyErrors": null,
3570
+ "id": "xai:code:xai-device-code",
3571
+ "name": "xAI (Grok)",
3572
+ "company": "xAI (Grok)",
3573
+ "billingFrom": "source",
3574
+ "group": "models",
3575
+ "platforms": {
3576
+ "node": "yes",
3577
+ "browser": "host",
3578
+ "rn": "host"
3579
+ },
3580
+ "upstream": {
3581
+ "surface": "openclaw",
3582
+ "id": "xai",
3583
+ "method": "device-code",
3584
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3585
+ "flow": "absent"
3586
+ }
438
3587
  },
439
3588
  {
440
- "choice": "ollama-cloud",
441
- "provider": "ollama-cloud",
442
- "plugin": "ollama",
3589
+ "choice": "xiaomi-api-key",
3590
+ "provider": "xiaomi",
3591
+ "plugin": "xiaomi",
443
3592
  "billing": "api",
444
- "via": "browser",
3593
+ "via": "key",
445
3594
  "prerequisite": null,
446
3595
  "offer": false,
447
- "reason": "API key (billed per use); offered only when the app or person opts in.",
448
- "source": "dist/extensions/ollama/openclaw.plugin.json (2026.8.1)",
3596
+ "offerPolicy": "explicit",
3597
+ "reason": "Xiaomi: API key (billed per use).",
3598
+ "source": "extensions/xiaomi/openclaw.plugin.json (2026.8.1)",
449
3599
  "revision": "2026.8.1",
450
- "checked": "2026-09-30",
451
- "label": "API key (billed per use)",
3600
+ "checked": "2026-10-02",
3601
+ "label": "Xiaomi API key (Pay-as-you-go)",
452
3602
  "keyEntry": true,
453
3603
  "keyErrors": {
454
3604
  "invalid": "key.invalid",
455
3605
  "not_included": "key.notIncluded"
3606
+ },
3607
+ "id": "xiaomi:key:xiaomi-api-key",
3608
+ "name": "Xiaomi",
3609
+ "company": "Xiaomi",
3610
+ "billingFrom": "source",
3611
+ "group": "models",
3612
+ "platforms": {
3613
+ "node": "yes",
3614
+ "browser": "host",
3615
+ "rn": "host"
3616
+ },
3617
+ "needs": {
3618
+ "plugin": "xiaomi"
3619
+ },
3620
+ "install": {
3621
+ "clawhubSpec": "clawhub:@openclaw/xiaomi-provider",
3622
+ "npmSpec": "@openclaw/xiaomi-provider",
3623
+ "defaultChoice": "npm",
3624
+ "minHostVersion": ">=2026.7.2"
3625
+ },
3626
+ "upstream": {
3627
+ "surface": "openclaw",
3628
+ "id": "xiaomi",
3629
+ "method": "api-key",
3630
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3631
+ "flow": "present"
456
3632
  }
457
3633
  },
458
3634
  {
459
- "choice": "openai-api-key",
460
- "provider": "openai",
461
- "plugin": "openai",
462
- "billing": "api",
463
- "via": "browser",
3635
+ "choice": "xiaomi-token-plan-ams",
3636
+ "provider": "xiaomi-token-plan",
3637
+ "plugin": "xiaomi",
3638
+ "billing": "subscription",
3639
+ "via": "plan_key",
464
3640
  "prerequisite": null,
465
3641
  "offer": false,
466
- "reason": "API key (billed per use); offered only when the app or person opts in.",
467
- "source": "dist/provider-contract-api-*.js (2026.8.1)",
3642
+ "offerPolicy": "default",
3643
+ "reason": "Xiaomi Token Plan (Europe): subscription sign-in.",
3644
+ "source": "extensions/xiaomi/openclaw.plugin.json (2026.8.1)",
468
3645
  "revision": "2026.8.1",
469
- "checked": "2026-09-30",
470
- "label": "API key (billed per use)",
3646
+ "checked": "2026-10-02",
3647
+ "label": "Xiaomi Token Plan (Europe)",
471
3648
  "keyEntry": true,
472
3649
  "keyErrors": {
473
3650
  "invalid": "key.invalid",
474
3651
  "not_included": "key.notIncluded"
3652
+ },
3653
+ "id": "xiaomi-token-plan:plan_key:xiaomi-token-plan-ams",
3654
+ "name": "Xiaomi",
3655
+ "company": "Xiaomi",
3656
+ "billingFrom": "source",
3657
+ "group": "models",
3658
+ "platforms": {
3659
+ "node": "yes",
3660
+ "browser": "host",
3661
+ "rn": "host"
3662
+ },
3663
+ "needs": {
3664
+ "plugin": "xiaomi"
3665
+ },
3666
+ "install": {
3667
+ "clawhubSpec": "clawhub:@openclaw/xiaomi-provider",
3668
+ "npmSpec": "@openclaw/xiaomi-provider",
3669
+ "defaultChoice": "npm",
3670
+ "minHostVersion": ">=2026.7.2"
3671
+ },
3672
+ "upstream": {
3673
+ "surface": "openclaw",
3674
+ "id": "xiaomi-token-plan",
3675
+ "method": "token-plan-ams",
3676
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3677
+ "flow": "present"
475
3678
  }
476
3679
  },
477
3680
  {
478
- "choice": "opencode-go",
479
- "provider": "opencode-go",
480
- "plugin": "opencode-go",
481
- "billing": "api",
482
- "via": "browser",
3681
+ "choice": "xiaomi-token-plan-cn",
3682
+ "provider": "xiaomi-token-plan",
3683
+ "plugin": "xiaomi",
3684
+ "billing": "subscription",
3685
+ "via": "plan_key",
483
3686
  "prerequisite": null,
484
3687
  "offer": false,
485
- "reason": "API key (billed per use); offered only when the app or person opts in.",
486
- "source": "dist/extensions/opencode-go/openclaw.plugin.json (2026.8.1)",
3688
+ "offerPolicy": "default",
3689
+ "reason": "Xiaomi Token Plan (China): subscription sign-in.",
3690
+ "source": "extensions/xiaomi/openclaw.plugin.json (2026.8.1)",
487
3691
  "revision": "2026.8.1",
488
- "checked": "2026-09-30",
489
- "label": "API key (billed per use)",
3692
+ "checked": "2026-10-02",
3693
+ "label": "Xiaomi Token Plan (China)",
490
3694
  "keyEntry": true,
491
3695
  "keyErrors": {
492
3696
  "invalid": "key.invalid",
493
3697
  "not_included": "key.notIncluded"
3698
+ },
3699
+ "id": "xiaomi-token-plan:plan_key:xiaomi-token-plan-cn",
3700
+ "name": "Xiaomi",
3701
+ "company": "Xiaomi",
3702
+ "billingFrom": "source",
3703
+ "group": "models",
3704
+ "platforms": {
3705
+ "node": "yes",
3706
+ "browser": "host",
3707
+ "rn": "host"
3708
+ },
3709
+ "needs": {
3710
+ "plugin": "xiaomi"
3711
+ },
3712
+ "install": {
3713
+ "clawhubSpec": "clawhub:@openclaw/xiaomi-provider",
3714
+ "npmSpec": "@openclaw/xiaomi-provider",
3715
+ "defaultChoice": "npm",
3716
+ "minHostVersion": ">=2026.7.2"
3717
+ },
3718
+ "upstream": {
3719
+ "surface": "openclaw",
3720
+ "id": "xiaomi-token-plan",
3721
+ "method": "token-plan-cn",
3722
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3723
+ "flow": "present"
494
3724
  }
495
3725
  },
496
3726
  {
497
- "choice": "openrouter-api-key",
498
- "provider": "openrouter",
499
- "plugin": "openrouter",
500
- "billing": "api",
501
- "via": "browser",
3727
+ "choice": "xiaomi-token-plan-sgp",
3728
+ "provider": "xiaomi-token-plan",
3729
+ "plugin": "xiaomi",
3730
+ "billing": "subscription",
3731
+ "via": "plan_key",
502
3732
  "prerequisite": null,
503
3733
  "offer": false,
504
- "reason": "API key (billed per use); offered only when the app or person opts in.",
505
- "source": "dist/extensions/openrouter/openclaw.plugin.json (2026.8.1)",
3734
+ "offerPolicy": "default",
3735
+ "reason": "Xiaomi Token Plan (Singapore): subscription sign-in.",
3736
+ "source": "extensions/xiaomi/openclaw.plugin.json (2026.8.1)",
506
3737
  "revision": "2026.8.1",
507
- "checked": "2026-09-30",
508
- "label": "API key (billed per use)",
3738
+ "checked": "2026-10-02",
3739
+ "label": "Xiaomi Token Plan (Singapore)",
509
3740
  "keyEntry": true,
510
3741
  "keyErrors": {
511
3742
  "invalid": "key.invalid",
512
3743
  "not_included": "key.notIncluded"
3744
+ },
3745
+ "id": "xiaomi-token-plan:plan_key:xiaomi-token-plan-sgp",
3746
+ "name": "Xiaomi",
3747
+ "company": "Xiaomi",
3748
+ "billingFrom": "source",
3749
+ "group": "models",
3750
+ "platforms": {
3751
+ "node": "yes",
3752
+ "browser": "host",
3753
+ "rn": "host"
3754
+ },
3755
+ "needs": {
3756
+ "plugin": "xiaomi"
3757
+ },
3758
+ "install": {
3759
+ "clawhubSpec": "clawhub:@openclaw/xiaomi-provider",
3760
+ "npmSpec": "@openclaw/xiaomi-provider",
3761
+ "defaultChoice": "npm",
3762
+ "minHostVersion": ">=2026.7.2"
3763
+ },
3764
+ "upstream": {
3765
+ "surface": "openclaw",
3766
+ "id": "xiaomi-token-plan",
3767
+ "method": "token-plan-sgp",
3768
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3769
+ "flow": "present"
513
3770
  }
514
3771
  },
515
3772
  {
516
- "choice": "runway-api-key",
517
- "provider": "runway",
518
- "plugin": "runway",
3773
+ "choice": "zai-api-key",
3774
+ "provider": "zai",
3775
+ "plugin": "zai",
519
3776
  "billing": "api",
520
- "via": "browser",
3777
+ "via": "key",
521
3778
  "prerequisite": null,
522
3779
  "offer": false,
523
- "reason": "API key (billed per use); offered only when the app or person opts in.",
524
- "source": "dist/extensions/runway/openclaw.plugin.json (2026.8.1)",
3780
+ "offerPolicy": "explicit",
3781
+ "reason": "Z.AI: API key (billed per use).",
3782
+ "source": "extensions/zai/openclaw.plugin.json (2026.8.1)",
525
3783
  "revision": "2026.8.1",
526
- "checked": "2026-09-30",
527
- "label": "API key (billed per use)",
528
- "keyEntry": false,
529
- "keyErrors": null
3784
+ "checked": "2026-10-02",
3785
+ "label": "Z.AI API key",
3786
+ "keyEntry": true,
3787
+ "keyErrors": {
3788
+ "invalid": "key.invalid",
3789
+ "not_included": "key.notIncluded"
3790
+ },
3791
+ "id": "zai:key:zai-api-key",
3792
+ "name": "Z.AI",
3793
+ "company": "Z.AI",
3794
+ "billingFrom": "source",
3795
+ "group": "models",
3796
+ "platforms": {
3797
+ "node": "yes",
3798
+ "browser": "host",
3799
+ "rn": "host"
3800
+ },
3801
+ "needs": {
3802
+ "plugin": "zai"
3803
+ },
3804
+ "install": {
3805
+ "clawhubSpec": "clawhub:@openclaw/zai-provider",
3806
+ "npmSpec": "@openclaw/zai-provider",
3807
+ "defaultChoice": "npm",
3808
+ "minHostVersion": ">=2026.6.9"
3809
+ },
3810
+ "upstream": {
3811
+ "surface": "openclaw",
3812
+ "id": "zai",
3813
+ "method": "api-key",
3814
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3815
+ "flow": "present"
3816
+ }
530
3817
  },
531
3818
  {
532
- "choice": "setup-token",
533
- "provider": "anthropic",
534
- "plugin": "anthropic",
3819
+ "choice": "zai-coding-global",
3820
+ "provider": "zai",
3821
+ "plugin": "zai",
535
3822
  "billing": "subscription",
536
- "via": "browser",
3823
+ "via": "plan_key",
537
3824
  "prerequisite": null,
538
- "offer": true,
539
- "reason": "Claude subscription sign-in by pasting a token.",
540
- "source": "dist/extensions/anthropic/openclaw.plugin.json (2026.8.1)",
541
- "auth": "token",
542
- "terms": "grey",
543
- "termsUrl": "https://code.claude.com/docs/en/legal-and-compliance#authentication-and-credential-use",
3825
+ "offer": false,
3826
+ "offerPolicy": "default",
3827
+ "reason": "Coding-Plan-Global: subscription sign-in.",
3828
+ "source": "extensions/zai/openclaw.plugin.json (2026.8.1)",
544
3829
  "revision": "2026.8.1",
545
- "checked": "2026-09-30",
546
- "label": "Subscription",
547
- "keyEntry": false,
548
- "keyErrors": null
3830
+ "checked": "2026-10-02",
3831
+ "label": "Coding-Plan-Global",
3832
+ "keyEntry": true,
3833
+ "keyErrors": {
3834
+ "invalid": "key.invalid",
3835
+ "not_included": "key.notIncluded"
3836
+ },
3837
+ "id": "zai:plan_key:zai-coding-global",
3838
+ "name": "Z.AI",
3839
+ "company": "Z.AI",
3840
+ "billingFrom": "source",
3841
+ "group": "models",
3842
+ "platforms": {
3843
+ "node": "yes",
3844
+ "browser": "host",
3845
+ "rn": "host"
3846
+ },
3847
+ "needs": {
3848
+ "plugin": "zai"
3849
+ },
3850
+ "install": {
3851
+ "clawhubSpec": "clawhub:@openclaw/zai-provider",
3852
+ "npmSpec": "@openclaw/zai-provider",
3853
+ "defaultChoice": "npm",
3854
+ "minHostVersion": ">=2026.6.9"
3855
+ },
3856
+ "upstream": {
3857
+ "surface": "openclaw",
3858
+ "id": "zai",
3859
+ "method": "coding-global",
3860
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3861
+ "flow": "present"
3862
+ }
549
3863
  },
550
3864
  {
551
- "choice": "sglang",
552
- "provider": "sglang",
553
- "plugin": "sglang",
554
- "billing": "local",
555
- "via": "browser",
3865
+ "choice": "zai-coding-cn",
3866
+ "provider": "zai",
3867
+ "plugin": "zai",
3868
+ "billing": "subscription",
3869
+ "via": "plan_key",
556
3870
  "prerequisite": null,
557
3871
  "offer": false,
558
- "reason": "Local runtime on this computer; no account and no billing.",
559
- "source": "dist/extensions/sglang/openclaw.plugin.json (2026.8.1)",
3872
+ "offerPolicy": "default",
3873
+ "reason": "Coding-Plan-CN: subscription sign-in.",
3874
+ "source": "extensions/zai/openclaw.plugin.json (2026.8.1)",
560
3875
  "revision": "2026.8.1",
561
- "checked": "2026-09-30",
562
- "label": "On this computer",
563
- "keyEntry": false,
564
- "keyErrors": null
3876
+ "checked": "2026-10-02",
3877
+ "label": "Coding-Plan-CN",
3878
+ "keyEntry": true,
3879
+ "keyErrors": {
3880
+ "invalid": "key.invalid",
3881
+ "not_included": "key.notIncluded"
3882
+ },
3883
+ "id": "zai:plan_key:zai-coding-cn",
3884
+ "name": "Z.AI",
3885
+ "company": "Z.AI",
3886
+ "billingFrom": "source",
3887
+ "group": "models",
3888
+ "platforms": {
3889
+ "node": "yes",
3890
+ "browser": "host",
3891
+ "rn": "host"
3892
+ },
3893
+ "needs": {
3894
+ "plugin": "zai"
3895
+ },
3896
+ "install": {
3897
+ "clawhubSpec": "clawhub:@openclaw/zai-provider",
3898
+ "npmSpec": "@openclaw/zai-provider",
3899
+ "defaultChoice": "npm",
3900
+ "minHostVersion": ">=2026.6.9"
3901
+ },
3902
+ "upstream": {
3903
+ "surface": "openclaw",
3904
+ "id": "zai",
3905
+ "method": "coding-cn",
3906
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3907
+ "flow": "present"
3908
+ }
565
3909
  },
566
3910
  {
567
- "choice": "together-api-key",
568
- "provider": "together",
569
- "plugin": "together",
3911
+ "choice": "zai-global",
3912
+ "provider": "zai",
3913
+ "plugin": "zai",
570
3914
  "billing": "api",
571
- "via": "browser",
3915
+ "via": "key",
572
3916
  "prerequisite": null,
573
3917
  "offer": false,
574
- "reason": "API key (billed per use); offered only when the app or person opts in.",
575
- "source": "dist/extensions/together/openclaw.plugin.json (2026.8.1)",
3918
+ "offerPolicy": "explicit",
3919
+ "reason": "Z.AI: API key (billed per use).",
3920
+ "source": "extensions/zai/openclaw.plugin.json (2026.8.1)",
576
3921
  "revision": "2026.8.1",
577
- "checked": "2026-09-30",
578
- "label": "API key (billed per use)",
3922
+ "checked": "2026-10-02",
3923
+ "label": "Global",
579
3924
  "keyEntry": true,
580
3925
  "keyErrors": {
581
3926
  "invalid": "key.invalid",
582
3927
  "not_included": "key.notIncluded"
3928
+ },
3929
+ "id": "zai:key:zai-global",
3930
+ "name": "Z.AI",
3931
+ "company": "Z.AI",
3932
+ "billingFrom": "source",
3933
+ "group": "models",
3934
+ "platforms": {
3935
+ "node": "yes",
3936
+ "browser": "host",
3937
+ "rn": "host"
3938
+ },
3939
+ "needs": {
3940
+ "plugin": "zai"
3941
+ },
3942
+ "install": {
3943
+ "clawhubSpec": "clawhub:@openclaw/zai-provider",
3944
+ "npmSpec": "@openclaw/zai-provider",
3945
+ "defaultChoice": "npm",
3946
+ "minHostVersion": ">=2026.6.9"
3947
+ },
3948
+ "upstream": {
3949
+ "surface": "openclaw",
3950
+ "id": "zai",
3951
+ "method": "global",
3952
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3953
+ "flow": "present"
583
3954
  }
584
3955
  },
585
3956
  {
586
- "choice": "vllm",
587
- "provider": "vllm",
588
- "plugin": "vllm",
589
- "billing": "local",
590
- "via": "browser",
3957
+ "choice": "zai-cn",
3958
+ "provider": "zai",
3959
+ "plugin": "zai",
3960
+ "billing": "api",
3961
+ "via": "key",
591
3962
  "prerequisite": null,
592
3963
  "offer": false,
593
- "reason": "Local runtime on this computer; no account and no billing.",
594
- "source": "dist/extensions/vllm/openclaw.plugin.json (2026.8.1)",
3964
+ "offerPolicy": "explicit",
3965
+ "reason": "Z.AI: API key (billed per use).",
3966
+ "source": "extensions/zai/openclaw.plugin.json (2026.8.1)",
595
3967
  "revision": "2026.8.1",
596
- "checked": "2026-09-30",
597
- "label": "On this computer",
598
- "keyEntry": false,
599
- "keyErrors": null
3968
+ "checked": "2026-10-02",
3969
+ "label": "CN",
3970
+ "keyEntry": true,
3971
+ "keyErrors": {
3972
+ "invalid": "key.invalid",
3973
+ "not_included": "key.notIncluded"
3974
+ },
3975
+ "id": "zai:key:zai-cn",
3976
+ "name": "Z.AI",
3977
+ "company": "Z.AI",
3978
+ "billingFrom": "source",
3979
+ "group": "models",
3980
+ "platforms": {
3981
+ "node": "yes",
3982
+ "browser": "host",
3983
+ "rn": "host"
3984
+ },
3985
+ "needs": {
3986
+ "plugin": "zai"
3987
+ },
3988
+ "install": {
3989
+ "clawhubSpec": "clawhub:@openclaw/zai-provider",
3990
+ "npmSpec": "@openclaw/zai-provider",
3991
+ "defaultChoice": "npm",
3992
+ "minHostVersion": ">=2026.6.9"
3993
+ },
3994
+ "upstream": {
3995
+ "surface": "openclaw",
3996
+ "id": "zai",
3997
+ "method": "cn",
3998
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
3999
+ "flow": "present"
4000
+ }
600
4001
  },
601
4002
  {
602
- "choice": "xai-api-key",
603
- "provider": "xai",
604
- "plugin": "xai",
605
- "billing": "api",
606
- "via": "browser",
4003
+ "choice": "custom-api-key",
4004
+ "provider": "custom",
4005
+ "plugin": "",
4006
+ "billing": "unknown",
4007
+ "via": "endpoint",
607
4008
  "prerequisite": null,
608
4009
  "offer": false,
609
- "reason": "API key (billed per use); offered only when the app or person opts in.",
610
- "source": "dist/extensions/xai/openclaw.plugin.json (2026.8.1)",
4010
+ "offerPolicy": "explicit",
4011
+ "reason": "Billing must be supplied by the host; a server address does not determine billing.",
4012
+ "source": "src/commands/auth-choice-options.static.ts (2026.8.1)",
611
4013
  "revision": "2026.8.1",
612
- "checked": "2026-09-30",
613
- "label": "API key (billed per use)",
4014
+ "checked": "2026-10-02",
4015
+ "label": "Custom endpoint",
614
4016
  "keyEntry": true,
615
4017
  "keyErrors": {
616
4018
  "invalid": "key.invalid",
617
4019
  "not_included": "key.notIncluded"
4020
+ },
4021
+ "id": "custom:endpoint:custom-api-key",
4022
+ "name": "custom",
4023
+ "company": "custom",
4024
+ "billingFrom": "host",
4025
+ "group": "models",
4026
+ "platforms": {
4027
+ "node": "yes",
4028
+ "browser": "host",
4029
+ "rn": "host"
4030
+ },
4031
+ "upstream": {
4032
+ "surface": "openclaw",
4033
+ "id": "custom",
4034
+ "method": "custom",
4035
+ "revision": "ea806575e6450e4d1efdfc72c19f04be982a1b9b",
4036
+ "flow": "present"
618
4037
  }
619
4038
  }
620
4039
  ]