vilvona 1.0.0

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 (812) hide show
  1. package/CHANGELOG.md +12331 -0
  2. package/LICENSE +24 -0
  3. package/README.md +314 -0
  4. package/THIRD_PARTY_NOTICES.md +37 -0
  5. package/docs/.i18n/README.md +81 -0
  6. package/docs/.i18n/ar-navigation.json +18 -0
  7. package/docs/.i18n/de-navigation.json +18 -0
  8. package/docs/.i18n/es-navigation.json +18 -0
  9. package/docs/.i18n/fr-navigation.json +18 -0
  10. package/docs/.i18n/glossary.ar.json +82 -0
  11. package/docs/.i18n/glossary.de.json +82 -0
  12. package/docs/.i18n/glossary.es.json +82 -0
  13. package/docs/.i18n/glossary.fa.json +82 -0
  14. package/docs/.i18n/glossary.fr.json +82 -0
  15. package/docs/.i18n/glossary.id.json +82 -0
  16. package/docs/.i18n/glossary.it.json +82 -0
  17. package/docs/.i18n/glossary.ja-JP.json +102 -0
  18. package/docs/.i18n/glossary.ko.json +82 -0
  19. package/docs/.i18n/glossary.nl.json +82 -0
  20. package/docs/.i18n/glossary.pl.json +82 -0
  21. package/docs/.i18n/glossary.pt-BR.json +82 -0
  22. package/docs/.i18n/glossary.th.json +82 -0
  23. package/docs/.i18n/glossary.tr.json +82 -0
  24. package/docs/.i18n/glossary.uk.json +82 -0
  25. package/docs/.i18n/glossary.vi.json +82 -0
  26. package/docs/.i18n/glossary.zh-CN.json +1182 -0
  27. package/docs/.i18n/glossary.zh-TW.json +162 -0
  28. package/docs/.i18n/id-navigation.json +18 -0
  29. package/docs/.i18n/it-navigation.json +18 -0
  30. package/docs/.i18n/ja-navigation.json +18 -0
  31. package/docs/.i18n/ko-navigation.json +18 -0
  32. package/docs/.i18n/pl-navigation.json +18 -0
  33. package/docs/.i18n/pt-BR-navigation.json +18 -0
  34. package/docs/.i18n/tr-navigation.json +18 -0
  35. package/docs/.i18n/translation-workflow.md +111 -0
  36. package/docs/.i18n/zh-Hans-navigation.json +552 -0
  37. package/docs/AGENTS.md +36 -0
  38. package/docs/agent-runtime-architecture.md +48 -0
  39. package/docs/announcements/bluebubbles-imessage.md +79 -0
  40. package/docs/auth-credential-semantics.md +124 -0
  41. package/docs/automation/auth-monitoring.md +11 -0
  42. package/docs/automation/clawflow.md +12 -0
  43. package/docs/automation/cron-jobs.md +569 -0
  44. package/docs/automation/cron-vs-heartbeat.md +11 -0
  45. package/docs/automation/gmail-pubsub.md +11 -0
  46. package/docs/automation/hooks.md +387 -0
  47. package/docs/automation/index.md +135 -0
  48. package/docs/automation/poll.md +12 -0
  49. package/docs/automation/standing-orders.md +250 -0
  50. package/docs/automation/taskflow.md +155 -0
  51. package/docs/automation/tasks.md +374 -0
  52. package/docs/automation/troubleshooting.md +12 -0
  53. package/docs/automation/webhook.md +12 -0
  54. package/docs/brave-search.md +11 -0
  55. package/docs/channels/access-groups.md +201 -0
  56. package/docs/channels/ambient-room-events.md +214 -0
  57. package/docs/channels/bot-loop-protection.md +131 -0
  58. package/docs/channels/broadcast-groups.md +472 -0
  59. package/docs/channels/channel-routing.md +162 -0
  60. package/docs/channels/clickclack.md +146 -0
  61. package/docs/channels/discord.md +1758 -0
  62. package/docs/channels/feishu.md +654 -0
  63. package/docs/channels/googlechat.md +286 -0
  64. package/docs/channels/group-messages.md +95 -0
  65. package/docs/channels/groups.md +610 -0
  66. package/docs/channels/imessage-from-bluebubbles.md +259 -0
  67. package/docs/channels/imessage.md +864 -0
  68. package/docs/channels/index.md +65 -0
  69. package/docs/channels/irc.md +253 -0
  70. package/docs/channels/line.md +243 -0
  71. package/docs/channels/location.md +71 -0
  72. package/docs/channels/matrix-migration.md +375 -0
  73. package/docs/channels/matrix-presentation.md +77 -0
  74. package/docs/channels/matrix-push-rules.md +150 -0
  75. package/docs/channels/matrix.md +935 -0
  76. package/docs/channels/mattermost.md +542 -0
  77. package/docs/channels/msteams.md +1097 -0
  78. package/docs/channels/nextcloud-talk.md +176 -0
  79. package/docs/channels/nostr.md +253 -0
  80. package/docs/channels/pairing.md +214 -0
  81. package/docs/channels/qqbot.md +317 -0
  82. package/docs/channels/signal.md +417 -0
  83. package/docs/channels/slack.md +1623 -0
  84. package/docs/channels/sms.md +380 -0
  85. package/docs/channels/synology-chat.md +187 -0
  86. package/docs/channels/telegram.md +1121 -0
  87. package/docs/channels/tlon.md +296 -0
  88. package/docs/channels/troubleshooting.md +162 -0
  89. package/docs/channels/twitch.md +431 -0
  90. package/docs/channels/wechat.md +171 -0
  91. package/docs/channels/whatsapp.md +796 -0
  92. package/docs/channels/yuanbao.md +416 -0
  93. package/docs/channels/zalo.md +253 -0
  94. package/docs/channels/zalouser.md +217 -0
  95. package/docs/ci.md +665 -0
  96. package/docs/clawhub/cli.md +82 -0
  97. package/docs/clawhub/publishing.md +96 -0
  98. package/docs/cli/acp.md +370 -0
  99. package/docs/cli/agent.md +109 -0
  100. package/docs/cli/agents.md +253 -0
  101. package/docs/cli/approvals.md +193 -0
  102. package/docs/cli/backup.md +98 -0
  103. package/docs/cli/browser.md +322 -0
  104. package/docs/cli/channels.md +154 -0
  105. package/docs/cli/clawbot.md +25 -0
  106. package/docs/cli/commitments.md +90 -0
  107. package/docs/cli/completion.md +39 -0
  108. package/docs/cli/config.md +504 -0
  109. package/docs/cli/configure.md +77 -0
  110. package/docs/cli/crestodian.md +337 -0
  111. package/docs/cli/cron.md +344 -0
  112. package/docs/cli/daemon.md +67 -0
  113. package/docs/cli/dashboard.md +33 -0
  114. package/docs/cli/devices.md +240 -0
  115. package/docs/cli/directory.md +68 -0
  116. package/docs/cli/dns.md +53 -0
  117. package/docs/cli/docs.md +63 -0
  118. package/docs/cli/doctor.md +254 -0
  119. package/docs/cli/flows.md +52 -0
  120. package/docs/cli/gateway.md +572 -0
  121. package/docs/cli/health.md +43 -0
  122. package/docs/cli/hooks.md +345 -0
  123. package/docs/cli/index.md +406 -0
  124. package/docs/cli/infer.md +364 -0
  125. package/docs/cli/logs.md +68 -0
  126. package/docs/cli/mcp.md +851 -0
  127. package/docs/cli/memory.md +183 -0
  128. package/docs/cli/message.md +317 -0
  129. package/docs/cli/migrate.md +334 -0
  130. package/docs/cli/models.md +239 -0
  131. package/docs/cli/node.md +178 -0
  132. package/docs/cli/nodes.md +76 -0
  133. package/docs/cli/onboard.md +251 -0
  134. package/docs/cli/pairing.md +77 -0
  135. package/docs/cli/path.md +511 -0
  136. package/docs/cli/plugins.md +480 -0
  137. package/docs/cli/policy.md +929 -0
  138. package/docs/cli/proxy.md +89 -0
  139. package/docs/cli/qr.md +56 -0
  140. package/docs/cli/reset.md +39 -0
  141. package/docs/cli/sandbox.md +208 -0
  142. package/docs/cli/secrets.md +202 -0
  143. package/docs/cli/security.md +135 -0
  144. package/docs/cli/sessions.md +178 -0
  145. package/docs/cli/setup.md +60 -0
  146. package/docs/cli/skills.md +156 -0
  147. package/docs/cli/status.md +45 -0
  148. package/docs/cli/system.md +89 -0
  149. package/docs/cli/tasks.md +111 -0
  150. package/docs/cli/transcripts.md +151 -0
  151. package/docs/cli/tui.md +92 -0
  152. package/docs/cli/uninstall.md +45 -0
  153. package/docs/cli/update.md +283 -0
  154. package/docs/cli/voicecall.md +204 -0
  155. package/docs/cli/webhooks.md +117 -0
  156. package/docs/cli/wiki.md +256 -0
  157. package/docs/cli/workboard.md +228 -0
  158. package/docs/concepts/active-memory.md +856 -0
  159. package/docs/concepts/agent-loop.md +185 -0
  160. package/docs/concepts/agent-runtimes.md +276 -0
  161. package/docs/concepts/agent-workspace.md +230 -0
  162. package/docs/concepts/agent.md +142 -0
  163. package/docs/concepts/architecture.md +154 -0
  164. package/docs/concepts/channel-docking.md +145 -0
  165. package/docs/concepts/commitments.md +150 -0
  166. package/docs/concepts/compaction.md +203 -0
  167. package/docs/concepts/context-engine.md +347 -0
  168. package/docs/concepts/context.md +199 -0
  169. package/docs/concepts/delegate-architecture.md +319 -0
  170. package/docs/concepts/dreaming.md +279 -0
  171. package/docs/concepts/experimental-features.md +111 -0
  172. package/docs/concepts/features.md +91 -0
  173. package/docs/concepts/mantis-slack-desktop-runbook.md +231 -0
  174. package/docs/concepts/mantis.md +744 -0
  175. package/docs/concepts/markdown-formatting.md +139 -0
  176. package/docs/concepts/memory-builtin.md +151 -0
  177. package/docs/concepts/memory-honcho.md +144 -0
  178. package/docs/concepts/memory-qmd.md +277 -0
  179. package/docs/concepts/memory-search.md +175 -0
  180. package/docs/concepts/memory.md +299 -0
  181. package/docs/concepts/message-lifecycle-refactor.md +1126 -0
  182. package/docs/concepts/messages.md +216 -0
  183. package/docs/concepts/model-failover.md +405 -0
  184. package/docs/concepts/model-providers.md +719 -0
  185. package/docs/concepts/models.md +371 -0
  186. package/docs/concepts/multi-agent.md +625 -0
  187. package/docs/concepts/oauth.md +218 -0
  188. package/docs/concepts/parallel-specialist-lanes.md +127 -0
  189. package/docs/concepts/personal-agent-benchmark-pack.md +74 -0
  190. package/docs/concepts/presence.md +117 -0
  191. package/docs/concepts/progress-drafts.md +406 -0
  192. package/docs/concepts/qa-e2e-automation.md +979 -0
  193. package/docs/concepts/qa-matrix.md +139 -0
  194. package/docs/concepts/queue-steering.md +90 -0
  195. package/docs/concepts/queue.md +136 -0
  196. package/docs/concepts/retry.md +86 -0
  197. package/docs/concepts/session-pruning.md +104 -0
  198. package/docs/concepts/session-tool.md +201 -0
  199. package/docs/concepts/session.md +164 -0
  200. package/docs/concepts/soul.md +116 -0
  201. package/docs/concepts/streaming.md +258 -0
  202. package/docs/concepts/system-prompt.md +330 -0
  203. package/docs/concepts/timezone.md +47 -0
  204. package/docs/concepts/typebox.md +309 -0
  205. package/docs/concepts/typing-indicators.md +88 -0
  206. package/docs/concepts/usage-tracking.md +72 -0
  207. package/docs/date-time.md +126 -0
  208. package/docs/debug/node-issue.md +90 -0
  209. package/docs/diagnostics/flags.md +182 -0
  210. package/docs/docs.json +1885 -0
  211. package/docs/gateway/authentication.md +286 -0
  212. package/docs/gateway/background-process.md +147 -0
  213. package/docs/gateway/bonjour.md +303 -0
  214. package/docs/gateway/bridge-protocol.md +97 -0
  215. package/docs/gateway/cli-backends.md +463 -0
  216. package/docs/gateway/config-agents.md +1525 -0
  217. package/docs/gateway/config-channels.md +942 -0
  218. package/docs/gateway/config-tools.md +806 -0
  219. package/docs/gateway/configuration-examples.md +706 -0
  220. package/docs/gateway/configuration-reference.md +1449 -0
  221. package/docs/gateway/configuration.md +748 -0
  222. package/docs/gateway/diagnostics.md +213 -0
  223. package/docs/gateway/discovery.md +154 -0
  224. package/docs/gateway/doctor.md +576 -0
  225. package/docs/gateway/external-apps.md +86 -0
  226. package/docs/gateway/gateway-lock.md +37 -0
  227. package/docs/gateway/health.md +73 -0
  228. package/docs/gateway/heartbeat.md +498 -0
  229. package/docs/gateway/index.md +385 -0
  230. package/docs/gateway/local-model-services.md +205 -0
  231. package/docs/gateway/local-models.md +355 -0
  232. package/docs/gateway/logging.md +149 -0
  233. package/docs/gateway/multiple-gateways.md +178 -0
  234. package/docs/gateway/network-model.md +15 -0
  235. package/docs/gateway/openai-http-api.md +379 -0
  236. package/docs/gateway/openresponses-http-api.md +349 -0
  237. package/docs/gateway/openshell.md +316 -0
  238. package/docs/gateway/opentelemetry.md +440 -0
  239. package/docs/gateway/operator-scopes.md +119 -0
  240. package/docs/gateway/pairing.md +207 -0
  241. package/docs/gateway/prometheus.md +249 -0
  242. package/docs/gateway/protocol.md +839 -0
  243. package/docs/gateway/remote-gateway-readme.md +169 -0
  244. package/docs/gateway/remote.md +280 -0
  245. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +148 -0
  246. package/docs/gateway/sandboxing.md +546 -0
  247. package/docs/gateway/secrets-plan-contract.md +159 -0
  248. package/docs/gateway/secrets.md +805 -0
  249. package/docs/gateway/security/audit-checks.md +127 -0
  250. package/docs/gateway/security/exposure-runbook.md +212 -0
  251. package/docs/gateway/security/index.md +1344 -0
  252. package/docs/gateway/security/secure-file-operations.md +76 -0
  253. package/docs/gateway/security/shrinkwrap.md +111 -0
  254. package/docs/gateway/tailscale.md +180 -0
  255. package/docs/gateway/tools-invoke-http-api.md +175 -0
  256. package/docs/gateway/troubleshooting.md +881 -0
  257. package/docs/gateway/trusted-proxy-auth.md +483 -0
  258. package/docs/help/debugging.md +341 -0
  259. package/docs/help/environment.md +240 -0
  260. package/docs/help/faq-first-run.md +872 -0
  261. package/docs/help/faq-models.md +557 -0
  262. package/docs/help/faq.md +2115 -0
  263. package/docs/help/index.md +39 -0
  264. package/docs/help/scripts.md +56 -0
  265. package/docs/help/testing-live.md +592 -0
  266. package/docs/help/testing-updates-plugins.md +299 -0
  267. package/docs/help/testing.md +977 -0
  268. package/docs/help/troubleshooting.md +500 -0
  269. package/docs/index.md +196 -0
  270. package/docs/install/ansible.md +233 -0
  271. package/docs/install/azure.md +315 -0
  272. package/docs/install/bun.md +59 -0
  273. package/docs/install/clawdock.md +112 -0
  274. package/docs/install/development-channels.md +148 -0
  275. package/docs/install/digitalocean.md +174 -0
  276. package/docs/install/docker-vm-runtime.md +154 -0
  277. package/docs/install/docker.md +564 -0
  278. package/docs/install/exe-dev.md +201 -0
  279. package/docs/install/fly.md +524 -0
  280. package/docs/install/gcp.md +418 -0
  281. package/docs/install/hetzner.md +285 -0
  282. package/docs/install/hostinger.md +98 -0
  283. package/docs/install/index.md +236 -0
  284. package/docs/install/installer.md +447 -0
  285. package/docs/install/kubernetes.md +196 -0
  286. package/docs/install/macos-vm.md +281 -0
  287. package/docs/install/migrating-claude.md +165 -0
  288. package/docs/install/migrating-hermes.md +178 -0
  289. package/docs/install/migrating.md +137 -0
  290. package/docs/install/nix.md +112 -0
  291. package/docs/install/node.md +142 -0
  292. package/docs/install/northflank.mdx +44 -0
  293. package/docs/install/oracle.md +218 -0
  294. package/docs/install/podman.md +216 -0
  295. package/docs/install/railway.mdx +92 -0
  296. package/docs/install/raspberry-pi.md +234 -0
  297. package/docs/install/render.mdx +167 -0
  298. package/docs/install/uninstall.md +140 -0
  299. package/docs/install/updating.md +284 -0
  300. package/docs/install/upstash.md +96 -0
  301. package/docs/logging.md +322 -0
  302. package/docs/maturity-scores.yaml +5361 -0
  303. package/docs/nav-tabs-underline.js +104 -0
  304. package/docs/network.md +72 -0
  305. package/docs/nodes/audio.md +216 -0
  306. package/docs/nodes/camera.md +166 -0
  307. package/docs/nodes/images.md +77 -0
  308. package/docs/nodes/index.md +444 -0
  309. package/docs/nodes/location-command.md +102 -0
  310. package/docs/nodes/media-understanding.md +495 -0
  311. package/docs/nodes/talk.md +160 -0
  312. package/docs/nodes/troubleshooting.md +123 -0
  313. package/docs/nodes/voicewake.md +93 -0
  314. package/docs/openclaw-agent-runtime.md +82 -0
  315. package/docs/perplexity.md +11 -0
  316. package/docs/plan/codex-context-engine-harness.md +624 -0
  317. package/docs/plan/ui-channels.md +284 -0
  318. package/docs/platforms/android.md +286 -0
  319. package/docs/platforms/digitalocean.md +12 -0
  320. package/docs/platforms/easyrunner.md +109 -0
  321. package/docs/platforms/index.md +65 -0
  322. package/docs/platforms/ios.md +287 -0
  323. package/docs/platforms/linux.md +141 -0
  324. package/docs/platforms/mac/bundled-gateway.md +79 -0
  325. package/docs/platforms/mac/canvas.md +128 -0
  326. package/docs/platforms/mac/child-process.md +72 -0
  327. package/docs/platforms/mac/dev-setup.md +112 -0
  328. package/docs/platforms/mac/health.md +39 -0
  329. package/docs/platforms/mac/icon.md +36 -0
  330. package/docs/platforms/mac/logging.md +62 -0
  331. package/docs/platforms/mac/menu-bar.md +93 -0
  332. package/docs/platforms/mac/peekaboo.md +96 -0
  333. package/docs/platforms/mac/permissions.md +73 -0
  334. package/docs/platforms/mac/remote.md +123 -0
  335. package/docs/platforms/mac/signing.md +52 -0
  336. package/docs/platforms/mac/skills.md +45 -0
  337. package/docs/platforms/mac/voice-overlay.md +66 -0
  338. package/docs/platforms/mac/voicewake.md +79 -0
  339. package/docs/platforms/mac/webchat.md +54 -0
  340. package/docs/platforms/mac/xpc.md +66 -0
  341. package/docs/platforms/macos.md +228 -0
  342. package/docs/platforms/oracle.md +12 -0
  343. package/docs/platforms/raspberry-pi.md +13 -0
  344. package/docs/platforms/windows.md +304 -0
  345. package/docs/plugins/adding-capabilities.md +146 -0
  346. package/docs/plugins/admin-http-rpc.md +216 -0
  347. package/docs/plugins/agent-tools.md +13 -0
  348. package/docs/plugins/architecture-internals.md +1203 -0
  349. package/docs/plugins/architecture.md +483 -0
  350. package/docs/plugins/building-extensions.md +13 -0
  351. package/docs/plugins/building-plugins.md +343 -0
  352. package/docs/plugins/bundles.md +310 -0
  353. package/docs/plugins/cli-backend-plugins.md +328 -0
  354. package/docs/plugins/codex-computer-use.md +297 -0
  355. package/docs/plugins/codex-harness-reference.md +480 -0
  356. package/docs/plugins/codex-harness-runtime.md +268 -0
  357. package/docs/plugins/codex-harness.md +800 -0
  358. package/docs/plugins/codex-native-plugins.md +280 -0
  359. package/docs/plugins/community.md +77 -0
  360. package/docs/plugins/compatibility.md +198 -0
  361. package/docs/plugins/copilot.md +355 -0
  362. package/docs/plugins/dependency-resolution.md +176 -0
  363. package/docs/plugins/google-meet.md +1737 -0
  364. package/docs/plugins/hooks.md +525 -0
  365. package/docs/plugins/install-overrides.md +80 -0
  366. package/docs/plugins/llama-cpp.md +58 -0
  367. package/docs/plugins/manage-plugins.md +214 -0
  368. package/docs/plugins/manifest.md +1468 -0
  369. package/docs/plugins/memory-lancedb.md +385 -0
  370. package/docs/plugins/memory-wiki.md +529 -0
  371. package/docs/plugins/message-presentation.md +487 -0
  372. package/docs/plugins/oc-path.md +166 -0
  373. package/docs/plugins/plugin-inventory.md +318 -0
  374. package/docs/plugins/plugin-permission-requests.md +193 -0
  375. package/docs/plugins/reference/acpx.md +23 -0
  376. package/docs/plugins/reference/admin-http-rpc.md +23 -0
  377. package/docs/plugins/reference/alibaba.md +23 -0
  378. package/docs/plugins/reference/amazon-bedrock-mantle.md +23 -0
  379. package/docs/plugins/reference/amazon-bedrock.md +23 -0
  380. package/docs/plugins/reference/anthropic-vertex.md +29 -0
  381. package/docs/plugins/reference/anthropic.md +23 -0
  382. package/docs/plugins/reference/arcee.md +23 -0
  383. package/docs/plugins/reference/azure-speech.md +23 -0
  384. package/docs/plugins/reference/bonjour.md +19 -0
  385. package/docs/plugins/reference/brave.md +23 -0
  386. package/docs/plugins/reference/browser.md +23 -0
  387. package/docs/plugins/reference/byteplus.md +19 -0
  388. package/docs/plugins/reference/canvas.md +19 -0
  389. package/docs/plugins/reference/cerebras.md +23 -0
  390. package/docs/plugins/reference/chutes.md +23 -0
  391. package/docs/plugins/reference/clickclack.md +23 -0
  392. package/docs/plugins/reference/cloudflare-ai-gateway.md +23 -0
  393. package/docs/plugins/reference/codex-supervisor.md +27 -0
  394. package/docs/plugins/reference/codex.md +23 -0
  395. package/docs/plugins/reference/comfy.md +23 -0
  396. package/docs/plugins/reference/copilot-proxy.md +19 -0
  397. package/docs/plugins/reference/copilot.md +23 -0
  398. package/docs/plugins/reference/deepgram.md +23 -0
  399. package/docs/plugins/reference/deepinfra.md +23 -0
  400. package/docs/plugins/reference/deepseek.md +23 -0
  401. package/docs/plugins/reference/diagnostics-otel.md +19 -0
  402. package/docs/plugins/reference/diagnostics-prometheus.md +19 -0
  403. package/docs/plugins/reference/diffs-language-pack.md +31 -0
  404. package/docs/plugins/reference/diffs.md +19 -0
  405. package/docs/plugins/reference/discord.md +23 -0
  406. package/docs/plugins/reference/document-extract.md +23 -0
  407. package/docs/plugins/reference/duckduckgo.md +23 -0
  408. package/docs/plugins/reference/elevenlabs.md +23 -0
  409. package/docs/plugins/reference/exa.md +23 -0
  410. package/docs/plugins/reference/fal.md +23 -0
  411. package/docs/plugins/reference/feishu.md +23 -0
  412. package/docs/plugins/reference/file-transfer.md +19 -0
  413. package/docs/plugins/reference/firecrawl.md +23 -0
  414. package/docs/plugins/reference/fireworks.md +23 -0
  415. package/docs/plugins/reference/github-copilot.md +23 -0
  416. package/docs/plugins/reference/gmi.md +23 -0
  417. package/docs/plugins/reference/google-meet.md +23 -0
  418. package/docs/plugins/reference/google.md +23 -0
  419. package/docs/plugins/reference/googlechat.md +23 -0
  420. package/docs/plugins/reference/gradium.md +23 -0
  421. package/docs/plugins/reference/groq.md +23 -0
  422. package/docs/plugins/reference/huggingface.md +23 -0
  423. package/docs/plugins/reference/imessage.md +23 -0
  424. package/docs/plugins/reference/inworld.md +23 -0
  425. package/docs/plugins/reference/irc.md +23 -0
  426. package/docs/plugins/reference/kilocode.md +23 -0
  427. package/docs/plugins/reference/kimi.md +23 -0
  428. package/docs/plugins/reference/line.md +23 -0
  429. package/docs/plugins/reference/litellm.md +23 -0
  430. package/docs/plugins/reference/llama-cpp.md +23 -0
  431. package/docs/plugins/reference/llm-task.md +19 -0
  432. package/docs/plugins/reference/lmstudio.md +23 -0
  433. package/docs/plugins/reference/lobster.md +19 -0
  434. package/docs/plugins/reference/matrix.md +23 -0
  435. package/docs/plugins/reference/mattermost.md +23 -0
  436. package/docs/plugins/reference/memory-core.md +19 -0
  437. package/docs/plugins/reference/memory-lancedb.md +23 -0
  438. package/docs/plugins/reference/memory-wiki.md +23 -0
  439. package/docs/plugins/reference/microsoft-foundry.md +113 -0
  440. package/docs/plugins/reference/microsoft.md +19 -0
  441. package/docs/plugins/reference/migrate-claude.md +19 -0
  442. package/docs/plugins/reference/migrate-hermes.md +19 -0
  443. package/docs/plugins/reference/minimax.md +23 -0
  444. package/docs/plugins/reference/mistral.md +23 -0
  445. package/docs/plugins/reference/moonshot.md +23 -0
  446. package/docs/plugins/reference/msteams.md +23 -0
  447. package/docs/plugins/reference/nextcloud-talk.md +23 -0
  448. package/docs/plugins/reference/nostr.md +23 -0
  449. package/docs/plugins/reference/novita.md +23 -0
  450. package/docs/plugins/reference/nvidia.md +23 -0
  451. package/docs/plugins/reference/oc-path.md +23 -0
  452. package/docs/plugins/reference/ollama.md +24 -0
  453. package/docs/plugins/reference/open-prose.md +19 -0
  454. package/docs/plugins/reference/openai.md +23 -0
  455. package/docs/plugins/reference/opencode-go.md +23 -0
  456. package/docs/plugins/reference/opencode.md +23 -0
  457. package/docs/plugins/reference/openrouter.md +23 -0
  458. package/docs/plugins/reference/openshell.md +19 -0
  459. package/docs/plugins/reference/perplexity.md +23 -0
  460. package/docs/plugins/reference/pixverse.md +23 -0
  461. package/docs/plugins/reference/policy.md +79 -0
  462. package/docs/plugins/reference/qa-channel.md +23 -0
  463. package/docs/plugins/reference/qa-lab.md +19 -0
  464. package/docs/plugins/reference/qa-matrix.md +19 -0
  465. package/docs/plugins/reference/qianfan.md +23 -0
  466. package/docs/plugins/reference/qqbot.md +23 -0
  467. package/docs/plugins/reference/qwen.md +24 -0
  468. package/docs/plugins/reference/runway.md +23 -0
  469. package/docs/plugins/reference/searxng.md +19 -0
  470. package/docs/plugins/reference/senseaudio.md +23 -0
  471. package/docs/plugins/reference/sglang.md +23 -0
  472. package/docs/plugins/reference/signal.md +23 -0
  473. package/docs/plugins/reference/slack.md +23 -0
  474. package/docs/plugins/reference/sms.md +23 -0
  475. package/docs/plugins/reference/stepfun.md +23 -0
  476. package/docs/plugins/reference/synology-chat.md +23 -0
  477. package/docs/plugins/reference/synthetic.md +23 -0
  478. package/docs/plugins/reference/tavily.md +23 -0
  479. package/docs/plugins/reference/telegram.md +23 -0
  480. package/docs/plugins/reference/tencent.md +23 -0
  481. package/docs/plugins/reference/tlon.md +23 -0
  482. package/docs/plugins/reference/together.md +23 -0
  483. package/docs/plugins/reference/tokenjuice.md +23 -0
  484. package/docs/plugins/reference/tts-local-cli.md +19 -0
  485. package/docs/plugins/reference/twitch.md +23 -0
  486. package/docs/plugins/reference/venice.md +23 -0
  487. package/docs/plugins/reference/vercel-ai-gateway.md +23 -0
  488. package/docs/plugins/reference/vllm.md +23 -0
  489. package/docs/plugins/reference/voice-call.md +23 -0
  490. package/docs/plugins/reference/volcengine.md +23 -0
  491. package/docs/plugins/reference/voyage.md +19 -0
  492. package/docs/plugins/reference/vydra.md +23 -0
  493. package/docs/plugins/reference/web-readability.md +19 -0
  494. package/docs/plugins/reference/webhooks.md +23 -0
  495. package/docs/plugins/reference/whatsapp.md +23 -0
  496. package/docs/plugins/reference/workboard.md +23 -0
  497. package/docs/plugins/reference/xai.md +23 -0
  498. package/docs/plugins/reference/xiaomi.md +23 -0
  499. package/docs/plugins/reference/zai.md +23 -0
  500. package/docs/plugins/reference/zalo.md +23 -0
  501. package/docs/plugins/reference/zalouser.md +24 -0
  502. package/docs/plugins/reference.md +19 -0
  503. package/docs/plugins/sdk-agent-harness.md +339 -0
  504. package/docs/plugins/sdk-channel-inbound.md +70 -0
  505. package/docs/plugins/sdk-channel-ingress.md +137 -0
  506. package/docs/plugins/sdk-channel-message.md +18 -0
  507. package/docs/plugins/sdk-channel-outbound.md +113 -0
  508. package/docs/plugins/sdk-channel-plugins.md +770 -0
  509. package/docs/plugins/sdk-channel-turn.md +9 -0
  510. package/docs/plugins/sdk-entrypoints.md +344 -0
  511. package/docs/plugins/sdk-migration.md +1011 -0
  512. package/docs/plugins/sdk-overview.md +525 -0
  513. package/docs/plugins/sdk-provider-plugins.md +1019 -0
  514. package/docs/plugins/sdk-runtime.md +683 -0
  515. package/docs/plugins/sdk-setup.md +550 -0
  516. package/docs/plugins/sdk-subpaths.md +401 -0
  517. package/docs/plugins/sdk-testing.md +403 -0
  518. package/docs/plugins/tool-plugins.md +411 -0
  519. package/docs/plugins/voice-call.md +942 -0
  520. package/docs/plugins/webhooks.md +192 -0
  521. package/docs/plugins/workboard.md +402 -0
  522. package/docs/plugins/zalouser.md +86 -0
  523. package/docs/prose.md +191 -0
  524. package/docs/providers/alibaba.md +158 -0
  525. package/docs/providers/anthropic.md +386 -0
  526. package/docs/providers/arcee.md +144 -0
  527. package/docs/providers/azure-speech.md +119 -0
  528. package/docs/providers/bedrock-mantle.md +224 -0
  529. package/docs/providers/bedrock.md +433 -0
  530. package/docs/providers/cerebras.md +130 -0
  531. package/docs/providers/chutes.md +153 -0
  532. package/docs/providers/claude-max-api-proxy.md +191 -0
  533. package/docs/providers/cloudflare-ai-gateway.md +119 -0
  534. package/docs/providers/comfy.md +362 -0
  535. package/docs/providers/deepgram.md +184 -0
  536. package/docs/providers/deepinfra.md +92 -0
  537. package/docs/providers/deepseek.md +146 -0
  538. package/docs/providers/ds4.md +309 -0
  539. package/docs/providers/elevenlabs.md +130 -0
  540. package/docs/providers/fal.md +240 -0
  541. package/docs/providers/fireworks.md +144 -0
  542. package/docs/providers/github-copilot.md +257 -0
  543. package/docs/providers/gmi.md +92 -0
  544. package/docs/providers/google.md +472 -0
  545. package/docs/providers/gradium.md +123 -0
  546. package/docs/providers/groq.md +171 -0
  547. package/docs/providers/huggingface.md +235 -0
  548. package/docs/providers/index.md +105 -0
  549. package/docs/providers/inferrs.md +272 -0
  550. package/docs/providers/inworld.md +120 -0
  551. package/docs/providers/kilocode.md +135 -0
  552. package/docs/providers/litellm.md +234 -0
  553. package/docs/providers/lmstudio.md +224 -0
  554. package/docs/providers/minimax.md +518 -0
  555. package/docs/providers/mistral.md +235 -0
  556. package/docs/providers/models.md +64 -0
  557. package/docs/providers/moonshot.md +413 -0
  558. package/docs/providers/novita.md +92 -0
  559. package/docs/providers/nvidia.md +208 -0
  560. package/docs/providers/ollama-cloud.md +115 -0
  561. package/docs/providers/ollama.md +1225 -0
  562. package/docs/providers/openai.md +1091 -0
  563. package/docs/providers/opencode-go.md +123 -0
  564. package/docs/providers/opencode.md +149 -0
  565. package/docs/providers/openrouter.md +390 -0
  566. package/docs/providers/perplexity-provider.md +123 -0
  567. package/docs/providers/pixverse.md +165 -0
  568. package/docs/providers/qianfan.md +132 -0
  569. package/docs/providers/qwen-oauth.md +115 -0
  570. package/docs/providers/qwen.md +364 -0
  571. package/docs/providers/runway.md +103 -0
  572. package/docs/providers/senseaudio.md +68 -0
  573. package/docs/providers/sglang.md +161 -0
  574. package/docs/providers/stepfun.md +229 -0
  575. package/docs/providers/synthetic.md +154 -0
  576. package/docs/providers/tencent.md +130 -0
  577. package/docs/providers/together.md +140 -0
  578. package/docs/providers/venice.md +312 -0
  579. package/docs/providers/vercel-ai-gateway.md +128 -0
  580. package/docs/providers/vllm.md +407 -0
  581. package/docs/providers/volcengine.md +199 -0
  582. package/docs/providers/vydra.md +180 -0
  583. package/docs/providers/xai.md +571 -0
  584. package/docs/providers/xiaomi.md +286 -0
  585. package/docs/providers/zai.md +224 -0
  586. package/docs/refactor/access.md +9 -0
  587. package/docs/refactor/acp.md +298 -0
  588. package/docs/refactor/canvas.md +131 -0
  589. package/docs/refactor/database-first.md +2263 -0
  590. package/docs/refactor/ingress-core.md +341 -0
  591. package/docs/reference/AGENTS.default.md +131 -0
  592. package/docs/reference/RELEASING.md +844 -0
  593. package/docs/reference/api-usage-costs.md +208 -0
  594. package/docs/reference/application-modernization-plan.md +208 -0
  595. package/docs/reference/code-mode.md +1058 -0
  596. package/docs/reference/credits.md +33 -0
  597. package/docs/reference/device-models.md +50 -0
  598. package/docs/reference/full-release-validation.md +206 -0
  599. package/docs/reference/memory-config.md +630 -0
  600. package/docs/reference/prompt-caching.md +358 -0
  601. package/docs/reference/release-performance-sweep.md +347 -0
  602. package/docs/reference/rich-output-protocol.md +93 -0
  603. package/docs/reference/rpc.md +43 -0
  604. package/docs/reference/secret-placeholder-conventions.md +33 -0
  605. package/docs/reference/secretref-credential-surface.md +163 -0
  606. package/docs/reference/secretref-user-supplied-credentials-matrix.json +691 -0
  607. package/docs/reference/session-management-compaction.md +474 -0
  608. package/docs/reference/templates/AGENTS.dev.md +90 -0
  609. package/docs/reference/templates/AGENTS.md +227 -0
  610. package/docs/reference/templates/BOOT.md +16 -0
  611. package/docs/reference/templates/BOOTSTRAP.md +66 -0
  612. package/docs/reference/templates/HEARTBEAT.md +24 -0
  613. package/docs/reference/templates/IDENTITY.dev.md +52 -0
  614. package/docs/reference/templates/IDENTITY.md +34 -0
  615. package/docs/reference/templates/SOUL.dev.md +82 -0
  616. package/docs/reference/templates/SOUL.md +49 -0
  617. package/docs/reference/templates/TOOLS.dev.md +29 -0
  618. package/docs/reference/templates/TOOLS.md +51 -0
  619. package/docs/reference/templates/USER.dev.md +23 -0
  620. package/docs/reference/templates/USER.md +28 -0
  621. package/docs/reference/test.md +248 -0
  622. package/docs/reference/token-use.md +246 -0
  623. package/docs/reference/transcript-hygiene.md +226 -0
  624. package/docs/reference/wizard.md +252 -0
  625. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +101 -0
  626. package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
  627. package/docs/security/formal-verification.md +170 -0
  628. package/docs/security/incident-response.md +59 -0
  629. package/docs/security/network-proxy.md +268 -0
  630. package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +12 -0
  631. package/docs/snippets/plugin-publish/minimal-package.json +16 -0
  632. package/docs/specs/claw-supervisor.md +247 -0
  633. package/docs/start/bootstrapping.md +49 -0
  634. package/docs/start/docs-directory.md +69 -0
  635. package/docs/start/getting-started.md +152 -0
  636. package/docs/start/hubs.md +201 -0
  637. package/docs/start/lore.md +223 -0
  638. package/docs/start/onboarding-overview.md +72 -0
  639. package/docs/start/onboarding.md +98 -0
  640. package/docs/start/openclaw.md +246 -0
  641. package/docs/start/quickstart.md +25 -0
  642. package/docs/start/setup.md +178 -0
  643. package/docs/start/showcase.md +371 -0
  644. package/docs/start/wizard-cli-automation.md +232 -0
  645. package/docs/start/wizard-cli-reference.md +331 -0
  646. package/docs/start/wizard.md +142 -0
  647. package/docs/style.css +137 -0
  648. package/docs/tools/acp-agents-setup.md +356 -0
  649. package/docs/tools/acp-agents.md +865 -0
  650. package/docs/tools/agent-send.md +130 -0
  651. package/docs/tools/apply-patch.md +64 -0
  652. package/docs/tools/brave-search.md +139 -0
  653. package/docs/tools/browser-control.md +405 -0
  654. package/docs/tools/browser-linux-troubleshooting.md +173 -0
  655. package/docs/tools/browser-login.md +77 -0
  656. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +219 -0
  657. package/docs/tools/browser.md +866 -0
  658. package/docs/tools/btw.md +159 -0
  659. package/docs/tools/capability-cookbook.md +12 -0
  660. package/docs/tools/clawhub.md +5 -0
  661. package/docs/tools/code-execution.md +173 -0
  662. package/docs/tools/creating-skills.md +271 -0
  663. package/docs/tools/diffs.md +527 -0
  664. package/docs/tools/duckduckgo-search.md +109 -0
  665. package/docs/tools/elevated.md +128 -0
  666. package/docs/tools/exa-search.md +152 -0
  667. package/docs/tools/exec-approvals-advanced.md +457 -0
  668. package/docs/tools/exec-approvals.md +520 -0
  669. package/docs/tools/exec.md +294 -0
  670. package/docs/tools/firecrawl.md +155 -0
  671. package/docs/tools/gemini-search.md +114 -0
  672. package/docs/tools/goal.md +217 -0
  673. package/docs/tools/grok-search.md +129 -0
  674. package/docs/tools/image-generation.md +538 -0
  675. package/docs/tools/index.md +176 -0
  676. package/docs/tools/kimi-search.md +105 -0
  677. package/docs/tools/llm-task.md +137 -0
  678. package/docs/tools/lobster.md +365 -0
  679. package/docs/tools/loop-detection.md +154 -0
  680. package/docs/tools/media-overview.md +161 -0
  681. package/docs/tools/minimax-search.md +102 -0
  682. package/docs/tools/multi-agent-sandbox-tools.md +409 -0
  683. package/docs/tools/music-generation.md +372 -0
  684. package/docs/tools/ollama-search.md +153 -0
  685. package/docs/tools/parallel-search.md +154 -0
  686. package/docs/tools/pdf.md +213 -0
  687. package/docs/tools/permission-modes.md +111 -0
  688. package/docs/tools/perplexity-search.md +220 -0
  689. package/docs/tools/plugin.md +378 -0
  690. package/docs/tools/reactions.md +100 -0
  691. package/docs/tools/searxng-search.md +141 -0
  692. package/docs/tools/skill-workshop.md +283 -0
  693. package/docs/tools/skills-config.md +457 -0
  694. package/docs/tools/skills.md +591 -0
  695. package/docs/tools/slash-commands.md +518 -0
  696. package/docs/tools/steer.md +77 -0
  697. package/docs/tools/subagents.md +652 -0
  698. package/docs/tools/tavily.md +162 -0
  699. package/docs/tools/thinking.md +142 -0
  700. package/docs/tools/tokenjuice.md +84 -0
  701. package/docs/tools/tool-search.md +269 -0
  702. package/docs/tools/trajectory.md +229 -0
  703. package/docs/tools/tts.md +1013 -0
  704. package/docs/tools/video-generation.md +555 -0
  705. package/docs/tools/web-fetch.md +210 -0
  706. package/docs/tools/web.md +476 -0
  707. package/docs/tts.md +11 -0
  708. package/docs/vps.md +139 -0
  709. package/docs/web/control-ui.md +530 -0
  710. package/docs/web/dashboard.md +107 -0
  711. package/docs/web/index.md +133 -0
  712. package/docs/web/tui.md +258 -0
  713. package/docs/web/webchat.md +102 -0
  714. package/npm-shrinkwrap.json +3485 -0
  715. package/openclaw.mjs +661 -0
  716. package/package.json +1971 -0
  717. package/patches/.gitkeep +0 -0
  718. package/patches/@agentclientprotocol__claude-agent-acp@0.39.0.patch +40 -0
  719. package/pnpm-workspace.yaml +124 -0
  720. package/scripts/crabbox-wrapper.mjs +2470 -0
  721. package/scripts/lib/official-external-channel-catalog.json +570 -0
  722. package/scripts/lib/official-external-plugin-catalog.json +284 -0
  723. package/scripts/lib/official-external-provider-catalog.json +158 -0
  724. package/scripts/lib/package-dist-imports.mjs +174 -0
  725. package/scripts/npm-runner.mjs +95 -0
  726. package/scripts/postinstall-bundled-plugins.mjs +978 -0
  727. package/scripts/preinstall-package-manager-warning.mjs +74 -0
  728. package/scripts/prepare-git-hooks.mjs +73 -0
  729. package/scripts/windows-cmd-helpers.mjs +29 -0
  730. package/skills/1password/SKILL.md +70 -0
  731. package/skills/1password/references/cli-examples.md +29 -0
  732. package/skills/1password/references/get-started.md +17 -0
  733. package/skills/apple-notes/SKILL.md +77 -0
  734. package/skills/apple-reminders/SKILL.md +118 -0
  735. package/skills/bear-notes/SKILL.md +107 -0
  736. package/skills/blogwatcher/SKILL.md +69 -0
  737. package/skills/blucli/SKILL.md +47 -0
  738. package/skills/camsnap/SKILL.md +45 -0
  739. package/skills/canvas/SKILL.md +78 -0
  740. package/skills/clawhub/SKILL.md +77 -0
  741. package/skills/coding-agent/SKILL.md +143 -0
  742. package/skills/diagram-maker/SKILL.md +53 -0
  743. package/skills/diagram-maker/references/excalidraw-patterns.md +85 -0
  744. package/skills/diagram-maker/references/svg-template.md +112 -0
  745. package/skills/discord/SKILL.md +136 -0
  746. package/skills/eightctl/SKILL.md +50 -0
  747. package/skills/gemini/SKILL.md +47 -0
  748. package/skills/gh-issues/SKILL.md +213 -0
  749. package/skills/gifgrep/SKILL.md +85 -0
  750. package/skills/github/SKILL.md +84 -0
  751. package/skills/gog/SKILL.md +116 -0
  752. package/skills/goplaces/SKILL.md +52 -0
  753. package/skills/healthcheck/SKILL.md +105 -0
  754. package/skills/himalaya/SKILL.md +80 -0
  755. package/skills/himalaya/references/configuration.md +184 -0
  756. package/skills/himalaya/references/message-composition.md +199 -0
  757. package/skills/imsg/SKILL.md +122 -0
  758. package/skills/mcporter/SKILL.md +61 -0
  759. package/skills/meme-maker/SKILL.md +42 -0
  760. package/skills/meme-maker/references/templates.json +358 -0
  761. package/skills/meme-maker/scripts/meme.mjs +398 -0
  762. package/skills/model-usage/SKILL.md +71 -0
  763. package/skills/model-usage/references/codexbar-cli.md +33 -0
  764. package/skills/model-usage/scripts/model_usage.py +319 -0
  765. package/skills/model-usage/scripts/test_model_usage.py +40 -0
  766. package/skills/nano-pdf/SKILL.md +38 -0
  767. package/skills/node-connect/SKILL.md +143 -0
  768. package/skills/node-inspect-debugger/SKILL.md +85 -0
  769. package/skills/notion/SKILL.md +150 -0
  770. package/skills/obsidian/SKILL.md +119 -0
  771. package/skills/openai-whisper/SKILL.md +38 -0
  772. package/skills/openai-whisper-api/SKILL.md +71 -0
  773. package/skills/openai-whisper-api/scripts/transcribe.sh +154 -0
  774. package/skills/openhue/SKILL.md +112 -0
  775. package/skills/oracle/SKILL.md +126 -0
  776. package/skills/ordercli/SKILL.md +78 -0
  777. package/skills/peekaboo/SKILL.md +198 -0
  778. package/skills/pyproject.toml +10 -0
  779. package/skills/python-debugpy/SKILL.md +73 -0
  780. package/skills/sag/SKILL.md +87 -0
  781. package/skills/session-logs/SKILL.md +151 -0
  782. package/skills/sherpa-onnx-tts/SKILL.md +109 -0
  783. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  784. package/skills/skill-creator/SKILL.md +78 -0
  785. package/skills/skill-creator/license.txt +202 -0
  786. package/skills/skill-creator/scripts/init_skill.py +378 -0
  787. package/skills/skill-creator/scripts/package_skill.py +144 -0
  788. package/skills/skill-creator/scripts/quick_validate.py +169 -0
  789. package/skills/skill-creator/scripts/test_package_skill.py +199 -0
  790. package/skills/skill-creator/scripts/test_quick_validate.py +116 -0
  791. package/skills/slack/SKILL.md +78 -0
  792. package/skills/songsee/SKILL.md +49 -0
  793. package/skills/sonoscli/SKILL.md +65 -0
  794. package/skills/spike/SKILL.md +51 -0
  795. package/skills/spotify-player/SKILL.md +64 -0
  796. package/skills/summarize/SKILL.md +87 -0
  797. package/skills/taskflow/SKILL.md +149 -0
  798. package/skills/taskflow/examples/inbox-triage.lobster +33 -0
  799. package/skills/taskflow/examples/pr-intake.lobster +32 -0
  800. package/skills/taskflow-inbox-triage/SKILL.md +119 -0
  801. package/skills/things-mac/SKILL.md +86 -0
  802. package/skills/tmux/SKILL.md +91 -0
  803. package/skills/tmux/scripts/find-sessions.sh +112 -0
  804. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  805. package/skills/trello/SKILL.md +108 -0
  806. package/skills/video-frames/SKILL.md +46 -0
  807. package/skills/video-frames/scripts/frame.sh +81 -0
  808. package/skills/voice-call/SKILL.md +45 -0
  809. package/skills/wacli/SKILL.md +72 -0
  810. package/skills/weather/SKILL.md +87 -0
  811. package/skills/xurl/SKILL.md +120 -0
  812. package/src/agents/templates/HEARTBEAT.md +5 -0
@@ -0,0 +1,347 @@
1
+ ---
2
+ summary: "Visual summary and technical evidence for the May 2026 performance, package-size, dependency, and shrinkwrap cleanup"
3
+ read_when:
4
+ - You are validating the May 2026 performance and package-size cleanup
5
+ - You need the numbers behind the OpenClaw performance and dependency blog post
6
+ - You are changing release gates, package shrinkwrap, or plugin dependency boundaries
7
+ title: "Release performance sweep"
8
+ ---
9
+
10
+ This page captures the evidence behind the May 2026 OpenClaw performance,
11
+ package-size, dependency, and shrinkwrap cleanup. It is the technical companion
12
+ to the public blog post.
13
+
14
+ Two audits are combined here:
15
+
16
+ - **Release performance sweep:** GitHub Releases from `v2026.5.28` back through
17
+ stable `v2026.4.23`, using the `OpenClaw Performance` workflow,
18
+ `profile=smoke`, mock-provider lane. Most tag rows are one sample; the
19
+ `v2026.5.27` and `v2026.5.28` rows use the latest repeat-3 release-branch
20
+ artifacts.
21
+ - **Earlier April context:** published `clawgrit-reports` mock-provider
22
+ baselines from `v2026.4.1` through `v2026.5.2`, used only to avoid treating
23
+ the broken late-April releases as the public performance baseline.
24
+ - **Install footprint sweep:** fresh `npm install --ignore-scripts` installs
25
+ into temporary packages, with `du -sk node_modules` for size and a
26
+ `node_modules` walk for package-instance counts.
27
+ - **npm package size sweep:** `npm pack openclaw@<version> --dry-run --json`
28
+ for published releases, recording compressed tarball size, unpacked size, and
29
+ file count.
30
+
31
+ <Warning>
32
+ The main performance sweep uses one smoke sample per tag, except the
33
+ `v2026.5.27` and `v2026.5.28` rows, which use the latest repeat-3
34
+ release-branch artifacts. Earlier April context uses published repeat-3
35
+ medians from `clawgrit-reports`. Treat the numbers as trend evidence and
36
+ regression-hunting signal, not as release-gate statistics.
37
+ </Warning>
38
+
39
+ ## Snapshot
40
+
41
+ Performance coverage: **77 requested releases**, **74 artifact-backed points**,
42
+ and **3 unavailable CI runs**. Latest stable measured point: `v2026.5.28`.
43
+
44
+ <CardGroup cols={2}>
45
+ <Card title="Stable agent turn" icon="gauge">
46
+ **5.1x faster cold turn**
47
+
48
+ - `v2026.4.14`: 9.8s
49
+ - `v2026.5.28`: 1.9s
50
+
51
+ </Card>
52
+ <Card title="Published package" icon="package">
53
+ **17.9MB tarball**
54
+
55
+ Latest stable package, down from the 43.3MB March package-size peak.
56
+
57
+ </Card>
58
+ <Card title="Latest stable install" icon="hard-drive">
59
+ **361.7MiB fresh install**
60
+
61
+ `v2026.5.28` cuts the nested OpenClaw dependency tree sharply, but a
62
+ smaller 259.7MiB nested tree still remains in the local install audit.
63
+
64
+ </Card>
65
+ <Card title="Dependency graph" icon="boxes">
66
+ **300 installed packages**
67
+
68
+ Latest stable release, measured as unique package name/version roots in a
69
+ fresh install with scripts disabled.
70
+
71
+ </Card>
72
+ </CardGroup>
73
+
74
+ ## Install Footprint Timeline
75
+
76
+ <CardGroup cols={2}>
77
+ <Card title="Monthly high" icon="triangle-alert">
78
+ **645 dependencies**
79
+
80
+ `2026.2.26` was the monthly dependency-count high in this sample.
81
+
82
+ </Card>
83
+ <Card title="Shrinkwrap introduced" icon="lock">
84
+ **1,020.6MB install**
85
+
86
+ `2026.5.22` added root shrinkwrap and exposed a package-shape problem:
87
+ 911.8MB landed under nested `openclaw/node_modules`.
88
+
89
+ </Card>
90
+ <Card title="Latest stable" icon="tag">
91
+ **361.7MiB install**
92
+
93
+ `2026.5.28` cuts fresh install size by 52.8% from `2026.5.27`, but still
94
+ installs a 259.7MiB nested OpenClaw tree.
95
+
96
+ </Card>
97
+ <Card title="Dependency graph" icon="scissors">
98
+ **300 package roots**
99
+
100
+ `2026.5.28` installs 71 fewer unique package name/version roots than
101
+ `2026.5.27`.
102
+
103
+ </Card>
104
+ </CardGroup>
105
+
106
+ <Tip>
107
+ Shrinkwrap was not the problem by itself. The bad package shape was.
108
+ `v2026.5.28` still ships shrinkwrap, but the nested dependency tree is much
109
+ smaller and the all-platform canvas fanout is gone in the local audit.
110
+ </Tip>
111
+
112
+ ## What Changed In 5.28
113
+
114
+ The cleanup between `v2026.5.27` and `v2026.5.28` reduced the default-install
115
+ graph instead of removing the capabilities themselves.
116
+
117
+ <CardGroup cols={2}>
118
+ <Card title="Root default graph" icon="git-branch">
119
+ Unique package name/version roots fell from **371** to **300**. Package
120
+ instances fell from **372** to **301**.
121
+ </Card>
122
+ <Card title="Nested tree" icon="unplug">
123
+ Nested `openclaw/node_modules` fell from **656.1MiB** to **259.7MiB** in
124
+ the same local install audit.
125
+ </Card>
126
+ <Card title="Native optional cones" icon="cpu">
127
+ The all-platform `@napi-rs/canvas` native package cone stopped landing in
128
+ the default install.
129
+ </Card>
130
+ <Card title="Supply-chain surface" icon="shield">
131
+ Fewer default packages means fewer tarballs, maintainers, native binaries,
132
+ install-time behaviors, and transitive update paths to trust by default.
133
+ </Card>
134
+ </CardGroup>
135
+
136
+ ## Headline Numbers
137
+
138
+ Do not use the late-April broken rows as public performance baselines.
139
+ `v2026.4.23` and `v2026.4.29` are useful regression evidence, but the large
140
+ `14x`-style deltas mostly describe the recovery from a bad release line.
141
+
142
+ For the blog narrative, use the earlier April published baseline as scale:
143
+
144
+ | Metric | Earlier April baseline | `v2026.5.28` | Delta |
145
+ | --------------- | ---------------------: | -----------: | -----------------------: |
146
+ | Cold agent turn | 9,819ms | 1,908ms | 80.6% lower, 5.1x faster |
147
+ | Warm agent turn | 7,458ms | 1,870ms | 74.9% lower, 4.0x faster |
148
+ | Agent peak RSS | 686.2MB | 581.0MB | 15.3% lower |
149
+
150
+ The earlier April baseline is `v2026.4.14` from the published
151
+ `clawgrit-reports` mock-provider run. That run used repeat 3 and failed only
152
+ because the diagnostic timeline was not emitted; the cold, warm, and RSS
153
+ medians are still useful as rough scale. Treat this as narrative context, not a
154
+ release-gate statistic.
155
+
156
+ Within the May sweep, the latest release-branch row moved materially from
157
+ `v2026.5.2`:
158
+
159
+ | Metric | `v2026.5.2` | `v2026.5.28` | Delta |
160
+ | --------------- | ----------: | -----------: | ----------: |
161
+ | Cold agent turn | 3,897ms | 1,908ms | 51.0% lower |
162
+ | Warm agent turn | 3,610ms | 1,870ms | 48.2% lower |
163
+ | Agent peak RSS | 613.7MB | 581.0MB | 5.3% lower |
164
+
165
+ Compared with the previous stable release:
166
+
167
+ | Metric | `v2026.5.27` | `v2026.5.28` | Delta |
168
+ | --------------- | -----------: | -----------: | ----------: |
169
+ | Cold agent turn | 2,231ms | 1,908ms | 14.5% lower |
170
+ | Warm agent turn | 2,226ms | 1,870ms | 16.0% lower |
171
+ | Agent peak RSS | 649.0MB | 581.0MB | 10.5% lower |
172
+
173
+ ### Install footprint
174
+
175
+ | Metric | Baseline | `v2026.5.28` | Delta |
176
+ | ----------------------------------------------- | --------: | -----------: | ----------: |
177
+ | Install size from `2026.5.22` peak | 1,020.6MB | 361.7MiB | 64.6% lower |
178
+ | Install size from latest release `2026.5.27` | 767.1MiB | 361.7MiB | 52.8% lower |
179
+ | Dependencies from monthly high `2026.2.26` | 645 | 300 | 53.5% lower |
180
+ | Dependencies from latest release `2026.5.27` | 371 | 300 | 19.1% lower |
181
+ | Nested `openclaw/node_modules` from `2026.5.22` | 911.8MB | 259.7MiB | 71.5% lower |
182
+ | Nested `openclaw/node_modules` from `2026.5.27` | 656.1MiB | 259.7MiB | 60.4% lower |
183
+
184
+ ### npm package size
185
+
186
+ | Version | Compressed tarball | Unpacked package | Files | Notes |
187
+ | ----------- | -----------------: | ---------------: | -----: | --------------------------------- |
188
+ | `2026.1.30` | 12.8MB | 33.5MB | 4,607 | early rebranded package |
189
+ | `2026.2.26` | 23.6MB | 82.9MB | 10,125 | feature growth |
190
+ | `2026.3.31` | 43.3MB | 182.6MB | 21,037 | package-size high point |
191
+ | `2026.4.29` | 22.9MB | 74.6MB | 9,309 | package pruning visible |
192
+ | `2026.5.12` | 23.4MB | 80.1MB | 12,035 | major external-plugin split |
193
+ | `2026.5.22` | 17.2MB | 76.9MB | 12,386 | docs/assets excluded from package |
194
+ | `2026.5.27` | 17.8MB | 79.0MB | 12,509 | previous stable package |
195
+ | `2026.5.28` | 17.9MB | 81.0MB | 9,082 | latest stable package |
196
+
197
+ `2026.5.12` is the visible plugin-extraction milestone in the changelog:
198
+ Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex,
199
+ Matrix, and WhatsApp moved out of the core dependency path so their dependency
200
+ cones install with those plugins instead of every core install.
201
+
202
+ ## Kova agent turn summary
203
+
204
+ The April stable line contains two different stories. Earlier April was slow
205
+ but recognizable. Late April became a regression cliff. `v2026.5.2` is where
206
+ the mock-provider lane first drops into the 3-5s range and starts passing
207
+ consistently in the supplied sweep.
208
+
209
+ Earlier published context:
210
+
211
+ | Release | Kova | Cold turn | Warm turn | Agent peak RSS |
212
+ | ------------ | ---- | --------: | --------: | -------------: |
213
+ | `v2026.4.10` | FAIL | 11,031ms | 7,962ms | 679.0MB |
214
+ | `v2026.4.12` | FAIL | 11,965ms | 8,289ms | 713.5MB |
215
+ | `v2026.4.14` | FAIL | 9,819ms | 7,458ms | 686.2MB |
216
+ | `v2026.4.20` | FAIL | 22,314ms | 18,811ms | 810.8MB |
217
+ | `v2026.4.22` | FAIL | 9,630ms | 7,459ms | 743.0MB |
218
+
219
+ Supplied sweep:
220
+
221
+ | Release | Kova | Cold turn | Warm turn | Agent peak RSS |
222
+ | ------------------- | ---- | --------: | --------: | -------------: |
223
+ | `v2026.4.23` | FAIL | 47,847ms | 8,010ms | 1,082.7MB |
224
+ | `v2026.4.24` | FAIL | 48,264ms | 25,483ms | 996.0MB |
225
+ | `v2026.4.25` | FAIL | 81,080ms | 59,172ms | 1,113.9MB |
226
+ | `v2026.4.26` | FAIL | 76,771ms | 54,941ms | 1,140.8MB |
227
+ | `v2026.4.27` | FAIL | 60,902ms | 33,699ms | 1,156.0MB |
228
+ | `v2026.4.29` | FAIL | 94,031ms | 57,334ms | 3,613.7MB |
229
+ | `v2026.5.2` | PASS | 3,897ms | 3,610ms | 613.7MB |
230
+ | `v2026.5.7` | PASS | 3,923ms | 3,693ms | 654.1MB |
231
+ | `v2026.5.12` | PASS | 7,248ms | 6,629ms | 834.8MB |
232
+ | `v2026.5.18` | PASS | 3,301ms | 2,913ms | 630.3MB |
233
+ | `v2026.5.20` | PASS | 3,413ms | 2,952ms | 643.2MB |
234
+ | `v2026.5.22` | PASS | 4,494ms | 4,093ms | 654.3MB |
235
+ | `v2026.5.26` | PASS | 2,626ms | 2,282ms | 660.4MB |
236
+ | `v2026.5.27-beta.1` | PASS | 2,575ms | 2,217ms | 635.3MB |
237
+ | `v2026.5.27` | PASS | 2,231ms | 2,226ms | 649.0MB |
238
+ | `v2026.5.28` | PASS | 1,908ms | 1,870ms | 581.0MB |
239
+
240
+ ## Source probes
241
+
242
+ Source probes were skipped for 17 successful older refs because those source
243
+ trees did not yet have the required probe entry points. Agent-turn metrics still
244
+ exist for those refs.
245
+
246
+ Representative source-probe points:
247
+
248
+ | Release | Default `readyz` p50 | 50 plugins `readyz` p50 | CLI health p50 | Plugin max RSS |
249
+ | ------------------- | -------------------: | ----------------------: | -------------: | -------------: |
250
+ | `v2026.4.29` | 2,819ms | 2,618ms | 1,679ms | 389.0MB |
251
+ | `v2026.5.2` | 2,324ms | 2,013ms | 1,384ms | 377.2MB |
252
+ | `v2026.5.7` | 1,649ms | 1,540ms | 1,175ms | 387.6MB |
253
+ | `v2026.5.18` | 1,942ms | 1,927ms | 607ms | 426.5MB |
254
+ | `v2026.5.20` | 1,966ms | 1,987ms | 621ms | 455.0MB |
255
+ | `v2026.5.22` | 2,081ms | 1,884ms | 5,095ms | 444.2MB |
256
+ | `v2026.5.26` | 1,546ms | 1,634ms | 656ms | 400.4MB |
257
+ | `v2026.5.27-beta.1` | 1,462ms | 1,548ms | 548ms | 394.0MB |
258
+ | `v2026.5.27` | 1,491ms | 1,571ms | 553ms | 401.5MB |
259
+ | `v2026.5.28` | 1,457ms | 1,474ms | 623ms | 386.1MB |
260
+
261
+ The `v2026.5.22` CLI health spike is visible in this table even though the
262
+ agent-turn lane still passed. Keep the source probes when investigating
263
+ targeted CLI or gateway regressions.
264
+
265
+ ## Install footprint audit
266
+
267
+ Dependency samples use one stable release per month, plus the
268
+ `2026.5.22` shrinkwrap-introduction event and the latest `2026.5.28` release.
269
+
270
+ | Point | Installed deps | Fresh install | OpenClaw package | Nested `openclaw/node_modules` | Root shrinkwrap | Canvas install behavior |
271
+ | ------------------ | -------------: | ------------: | ---------------: | -----------------------------: | --------------- | ----------------------------------------- |
272
+ | Jan `2026.1.30` | 605 | 438.4MB | 45.8MB | 2.4MB | no | top-level wrapper + `darwin-arm64` |
273
+ | Feb `2026.2.26` | 645 | 575.7MB | 110.1MB | 3.5MB | no | top-level wrapper + `darwin-arm64` |
274
+ | Mar `2026.3.31` | 438 | 584.1MB | 234.8MB | 0MB | no | top-level wrapper + `darwin-arm64` |
275
+ | Apr `2026.4.29` | 392 | 335.0MB | 97.4MB | 0MB | no | none installed |
276
+ | `2026.5.22` | 401 | 1,020.6MB | 1,020.4MB | 911.8MB | yes | nested: all 12 `@napi-rs/canvas` packages |
277
+ | May `2026.5.26` | 371 | 767.5MB | 767.4MB | 656.4MB | yes | nested: all 12 `@napi-rs/canvas` packages |
278
+ | `2026.5.27` | 371 | 767.1MiB | 766.9MiB | 656.1MiB | yes | nested: all 12 `@napi-rs/canvas` packages |
279
+ | Latest `2026.5.28` | 300 | 361.7MiB | 361.6MiB | 259.7MiB | yes | none installed |
280
+
281
+ ### Shrinkwrap boundary
282
+
283
+ <CardGroup cols={2}>
284
+ <Card title="Before shrinkwrap" icon="unlock">
285
+ `2026.5.20` has no root shrinkwrap and no large nested OpenClaw dependency
286
+ tree.
287
+ </Card>
288
+ <Card title="Introduced" icon="lock">
289
+ `2026.5.22` adds root shrinkwrap and installs 911.8MB under nested
290
+ `openclaw/node_modules`.
291
+ </Card>
292
+ <Card title="Latest stable" icon="tag">
293
+ `2026.5.28` keeps shrinkwrap and still installs 259.7MiB under nested
294
+ `openclaw/node_modules`.
295
+ </Card>
296
+ <Card title="Canvas fanout fixed" icon="check">
297
+ `2026.5.28` no longer installs any `@napi-rs/canvas` packages in the local
298
+ fresh install audit.
299
+ </Card>
300
+ </CardGroup>
301
+
302
+ Published tarball inspection verifies the boundary:
303
+
304
+ | Version | Published stable? | Root `npm-shrinkwrap.json` | Notes |
305
+ | ----------- | ----------------- | -------------------------- | ------------------------------------- |
306
+ | `2026.5.20` | yes | no | last stable release before shrinkwrap |
307
+ | `2026.5.21` | no | n/a | no stable npm release |
308
+ | `2026.5.22` | yes | yes | shrinkwrap introduced |
309
+ | `2026.5.23` | no | n/a | no stable npm release |
310
+ | `2026.5.24` | no | n/a | no stable npm release |
311
+ | `2026.5.25` | no | n/a | no stable npm release |
312
+ | `2026.5.26` | yes | yes | nested dependency tree still present |
313
+ | `2026.5.27` | yes | yes | nested dependency tree still present |
314
+ | `2026.5.28` | yes | yes | nested dependency tree much smaller |
315
+
316
+ The important distinction: **shrinkwrap itself is not the problem**.
317
+ `v2026.5.28` still ships root shrinkwrap. The problem was the package shape
318
+ that made npm materialize a large nested OpenClaw dependency tree and all 12
319
+ `@napi-rs/canvas` platform packages. The nested tree is smaller in `v2026.5.28`,
320
+ and the canvas platform fanout no longer lands in the local audit.
321
+
322
+ For a plain-English explanation of shrinkwrap and the maintainer-level package
323
+ checks, see [npm shrinkwrap](/gateway/security/shrinkwrap).
324
+
325
+ ## Supply-chain interpretation
326
+
327
+ Dependency count is an operational security metric, not only an install-size
328
+ metric. Every package expands the set of maintainers, tarballs, transitive
329
+ updates, optional native binaries, and install-time behaviors that operators
330
+ must trust.
331
+
332
+ The cleanup direction is:
333
+
334
+ - keep heavy and optional capabilities outside the default core install
335
+ - make plugin packages own their runtime dependency graph
336
+ - avoid runtime package-manager repair during Gateway startup
337
+ - preserve deterministic installs without causing all-platform native package
338
+ materialization
339
+ - keep install scripts disabled in package acceptance and measurement paths
340
+ - catch nested dependency trees and native optional dependency explosions before
341
+ publishing
342
+
343
+ Related docs:
344
+
345
+ - [Plugin dependency resolution](/plugins/dependency-resolution)
346
+ - [Plugin inventory](/plugins/plugin-inventory)
347
+ - [Full release validation](/reference/full-release-validation)
@@ -0,0 +1,93 @@
1
+ ---
2
+ summary: "Rich output protocol for structured media, embeds, audio hints, and replies"
3
+ read_when:
4
+ - Changing assistant output rendering in the Control UI
5
+ - Debugging `[embed ...]`, structured media, reply, or audio presentation directives
6
+ title: "Rich output protocol"
7
+ ---
8
+
9
+ Assistant output can carry a small set of delivery/render directives:
10
+
11
+ - structured `mediaUrl` / `mediaUrls` fields for attachment delivery
12
+ - `[[audio_as_voice]]` for audio presentation hints
13
+ - `[[reply_to_current]]` / `[[reply_to:<id>]]` for reply metadata
14
+ - `[embed ...]` for Control UI rich rendering
15
+
16
+ Remote media attachments must be public `https:` URLs. Plain `http:`,
17
+ loopback, link-local, private, and internal hostnames are ignored as attachment
18
+ directives; server-side media fetchers still enforce their own network guards.
19
+
20
+ Local media attachments can use absolute paths, workspace-relative paths, or
21
+ home-relative `~/` paths. They still pass through the agent file-read policy and
22
+ media type checks before delivery.
23
+
24
+ <Warning>
25
+ Do not emit text commands for attachments from tools, plugins, streaming blocks,
26
+ browser output, or message actions. Use structured media fields instead.
27
+
28
+ Valid message-tool payload:
29
+
30
+ ```json
31
+ { "message": "Here is your image.", "mediaUrl": "/workspace/image.png" }
32
+ ```
33
+
34
+ Legacy final assistant reply text may still be normalized for compatibility, but
35
+ it is not a general plugin/tool protocol.
36
+ </Warning>
37
+
38
+ Plain Markdown image syntax stays text by default. Channels that intentionally
39
+ map Markdown image replies to media attachments opt in at their outbound
40
+ adapter; Telegram does this so `![alt](url)` can still become a media reply.
41
+
42
+ These directives are separate. Structured media fields and reply/voice tags are
43
+ delivery metadata; `[embed ...]` is the web-only rich render path.
44
+
45
+ When block streaming is enabled, media must be carried on structured payload
46
+ fields. If the same media URL is sent in a streamed block and repeated in the
47
+ final assistant payload, OpenClaw delivers the attachment once and strips the
48
+ duplicate from the final payload.
49
+
50
+ ## `[embed ...]`
51
+
52
+ `[embed ...]` is the only agent-facing rich render syntax for the Control UI.
53
+
54
+ Self-closing example:
55
+
56
+ ```text
57
+ [embed ref="cv_123" title="Status" /]
58
+ ```
59
+
60
+ Rules:
61
+
62
+ - `[view ...]` is no longer valid for new output.
63
+ - Embed shortcodes render in the assistant message surface only.
64
+ - Only URL-backed embeds are rendered. Use `ref="..."` or `url="..."`.
65
+ - Block-form inline HTML embed shortcodes are not rendered.
66
+ - The web UI strips the shortcode from visible text and renders the embed inline.
67
+ - Structured media is not an embed alias and should not be used for rich embed rendering.
68
+
69
+ ## Stored rendering shape
70
+
71
+ The normalized/stored assistant content block is a structured `canvas` item:
72
+
73
+ ```json
74
+ {
75
+ "type": "canvas",
76
+ "preview": {
77
+ "kind": "canvas",
78
+ "surface": "assistant_message",
79
+ "render": "url",
80
+ "viewId": "cv_123",
81
+ "url": "/__openclaw__/canvas/documents/cv_123/index.html",
82
+ "title": "Status",
83
+ "preferredHeight": 320
84
+ }
85
+ }
86
+ ```
87
+
88
+ Stored/rendered rich blocks use this `canvas` shape directly. `present_view` is not recognized.
89
+
90
+ ## Related
91
+
92
+ - [RPC adapters](/reference/rpc)
93
+ - [Typebox](/concepts/typebox)
@@ -0,0 +1,43 @@
1
+ ---
2
+ summary: "RPC adapters for external CLIs (signal-cli, imsg) and gateway patterns"
3
+ read_when:
4
+ - Adding or changing external CLI integrations
5
+ - Debugging RPC adapters (signal-cli, imsg)
6
+ title: "RPC adapters"
7
+ ---
8
+
9
+ OpenClaw integrates external CLIs via JSON-RPC. Two patterns are used today.
10
+
11
+ ## Pattern A: HTTP daemon (signal-cli)
12
+
13
+ - `signal-cli` runs as a daemon with JSON-RPC over HTTP.
14
+ - Event stream is SSE (`/api/v1/events`).
15
+ - Health probe: `/api/v1/check`.
16
+ - OpenClaw owns lifecycle when `channels.signal.autoStart=true`.
17
+
18
+ See [Signal](/channels/signal) for setup and endpoints.
19
+
20
+ ## Pattern B: stdio child process (imsg)
21
+
22
+ - OpenClaw spawns `imsg rpc` as a child process for [iMessage](/channels/imessage).
23
+ - JSON-RPC is line-delimited over stdin/stdout (one JSON object per line).
24
+ - No TCP port, no daemon required.
25
+
26
+ Core methods used:
27
+
28
+ - `watch.subscribe` → notifications (`method: "message"`)
29
+ - `watch.unsubscribe`
30
+ - `send`
31
+ - `chats.list` (probe/diagnostics)
32
+
33
+ See [iMessage](/channels/imessage) for legacy setup and addressing (`chat_id` preferred).
34
+
35
+ ## Adapter guidelines
36
+
37
+ - Gateway owns the process (start/stop tied to provider lifecycle).
38
+ - Keep RPC clients resilient: timeouts, restart on exit.
39
+ - Prefer stable IDs (e.g., `chat_id`) over display strings.
40
+
41
+ ## Related
42
+
43
+ - [Gateway protocol](/gateway/protocol)
@@ -0,0 +1,33 @@
1
+ ---
2
+ summary: "Secret-scanner-safe placeholder conventions for docs and examples"
3
+ read_when:
4
+ - Writing docs that include tokens, API keys, or credential snippets
5
+ - Updating examples that may be scanned by secret-detection tooling
6
+ title: "Secret Placeholder Conventions"
7
+ ---
8
+
9
+ # Secret placeholder conventions
10
+
11
+ Use placeholders that are human-readable but do not resemble real secrets.
12
+
13
+ ## Recommended style
14
+
15
+ - Prefer descriptive values like `example-openai-key-not-real` or `example-discord-bot-token`.
16
+ - For shell snippets, prefer `${OPENAI_API_KEY}` over inline token-like strings.
17
+ - Keep examples obviously fake and scoped to purpose (provider, channel, auth type).
18
+
19
+ ## Avoid these patterns in docs
20
+
21
+ - Literal PEM private-key header or footer text.
22
+ - Prefixes that resemble live credentials, for example `sk-...`, `xoxb-...`, `AKIA...`.
23
+ - Realistic-looking bearer tokens copied from runtime logs.
24
+
25
+ ## Example
26
+
27
+ ```bash
28
+ # Good
29
+ export OPENAI_API_KEY="example-openai-key-not-real"
30
+
31
+ # Better (when the doc is about env wiring)
32
+ export OPENAI_API_KEY="${OPENAI_API_KEY}"
33
+ ```
@@ -0,0 +1,163 @@
1
+ ---
2
+ summary: "Canonical supported vs unsupported SecretRef credential surface"
3
+ read_when:
4
+ - Verifying SecretRef credential coverage
5
+ - Auditing whether a credential is eligible for `secrets configure` or `secrets apply`
6
+ - Verifying why a credential is outside the supported surface
7
+ title: "SecretRef credential surface"
8
+ ---
9
+
10
+ This page defines the canonical SecretRef credential surface.
11
+
12
+ Scope intent:
13
+
14
+ - In scope: strictly user-supplied credentials that OpenClaw does not mint or rotate.
15
+ - Out of scope: runtime-minted or rotating credentials, OAuth refresh material, and session-like artifacts.
16
+
17
+ ## Supported credentials
18
+
19
+ ### `openclaw.json` targets (`secrets configure` + `secrets apply` + `secrets audit`)
20
+
21
+ [//]: # "secretref-supported-list-start"
22
+
23
+ - `models.providers.*.apiKey`
24
+ - `models.providers.*.headers.*`
25
+ - `models.providers.*.request.auth.token`
26
+ - `models.providers.*.request.auth.value`
27
+ - `models.providers.*.request.headers.*`
28
+ - `models.providers.*.request.proxy.tls.ca`
29
+ - `models.providers.*.request.proxy.tls.cert`
30
+ - `models.providers.*.request.proxy.tls.key`
31
+ - `models.providers.*.request.proxy.tls.passphrase`
32
+ - `models.providers.*.request.tls.ca`
33
+ - `models.providers.*.request.tls.cert`
34
+ - `models.providers.*.request.tls.key`
35
+ - `models.providers.*.request.tls.passphrase`
36
+ - `skills.entries.*.apiKey`
37
+ - `agents.defaults.memorySearch.remote.apiKey`
38
+ - `agents.list[].tts.providers.*.apiKey`
39
+ - `agents.list[].memorySearch.remote.apiKey`
40
+ - `talk.providers.*.apiKey`
41
+ - `talk.realtime.providers.*.apiKey`
42
+ - `messages.tts.providers.*.apiKey`
43
+ - `tools.web.fetch.firecrawl.apiKey`
44
+ - `plugins.entries.acpx.config.mcpServers.*.env.*`
45
+ - `plugins.entries.brave.config.webSearch.apiKey`
46
+ - `plugins.entries.exa.config.webSearch.apiKey`
47
+ - `plugins.entries.google.config.webSearch.apiKey`
48
+ - `plugins.entries.xai.config.webSearch.apiKey`
49
+ - `plugins.entries.moonshot.config.webSearch.apiKey`
50
+ - `plugins.entries.perplexity.config.webSearch.apiKey`
51
+ - `plugins.entries.firecrawl.config.webSearch.apiKey`
52
+ - `plugins.entries.minimax.config.webSearch.apiKey`
53
+ - `plugins.entries.tavily.config.webSearch.apiKey`
54
+ - `plugins.entries.parallel.config.webSearch.apiKey`
55
+ - `plugins.entries.voice-call.config.realtime.providers.*.apiKey`
56
+ - `plugins.entries.voice-call.config.streaming.providers.*.apiKey`
57
+ - `plugins.entries.voice-call.config.tts.providers.*.apiKey`
58
+ - `plugins.entries.voice-call.config.twilio.authToken`
59
+ - `tools.web.search.*.apiKey`
60
+ - `tools.web.search.apiKey`
61
+ - `gateway.auth.password`
62
+ - `gateway.auth.token`
63
+ - `gateway.remote.token`
64
+ - `gateway.remote.password`
65
+ - `cron.webhookToken`
66
+ - `channels.telegram.botToken`
67
+ - `channels.telegram.webhookSecret`
68
+ - `channels.telegram.accounts.*.botToken`
69
+ - `channels.telegram.accounts.*.webhookSecret`
70
+ - `channels.slack.botToken`
71
+ - `channels.slack.appToken`
72
+ - `channels.slack.userToken`
73
+ - `channels.slack.signingSecret`
74
+ - `channels.slack.accounts.*.botToken`
75
+ - `channels.slack.accounts.*.appToken`
76
+ - `channels.slack.accounts.*.userToken`
77
+ - `channels.slack.accounts.*.signingSecret`
78
+ - `channels.sms.authToken`
79
+ - `channels.sms.accounts.*.authToken`
80
+ - `channels.discord.token`
81
+ - `channels.discord.pluralkit.token`
82
+ - `channels.discord.voice.tts.providers.*.apiKey`
83
+ - `channels.discord.accounts.*.token`
84
+ - `channels.discord.accounts.*.pluralkit.token`
85
+ - `channels.discord.accounts.*.voice.tts.providers.*.apiKey`
86
+ - `channels.irc.password`
87
+ - `channels.irc.nickserv.password`
88
+ - `channels.irc.accounts.*.password`
89
+ - `channels.irc.accounts.*.nickserv.password`
90
+ - `channels.feishu.appSecret`
91
+ - `channels.feishu.encryptKey`
92
+ - `channels.feishu.verificationToken`
93
+ - `channels.feishu.accounts.*.appSecret`
94
+ - `channels.feishu.accounts.*.encryptKey`
95
+ - `channels.feishu.accounts.*.verificationToken`
96
+ - `channels.qqbot.clientSecret`
97
+ - `channels.qqbot.accounts.*.clientSecret`
98
+ - `channels.msteams.appPassword`
99
+ - `channels.mattermost.botToken`
100
+ - `channels.mattermost.accounts.*.botToken`
101
+ - `channels.matrix.accessToken`
102
+ - `channels.matrix.password`
103
+ - `channels.matrix.accounts.*.accessToken`
104
+ - `channels.matrix.accounts.*.password`
105
+ - `channels.nextcloud-talk.botSecret`
106
+ - `channels.nextcloud-talk.apiPassword`
107
+ - `channels.nextcloud-talk.accounts.*.botSecret`
108
+ - `channels.nextcloud-talk.accounts.*.apiPassword`
109
+ - `channels.zalo.botToken`
110
+ - `channels.zalo.webhookSecret`
111
+ - `channels.zalo.accounts.*.botToken`
112
+ - `channels.zalo.accounts.*.webhookSecret`
113
+ - `channels.googlechat.serviceAccount` via sibling `serviceAccountRef` (compatibility exception)
114
+ - `channels.googlechat.accounts.*.serviceAccount` via sibling `serviceAccountRef` (compatibility exception)
115
+
116
+ ### `auth-profiles.json` targets (`secrets configure` + `secrets apply` + `secrets audit`)
117
+
118
+ - `profiles.*.keyRef` (`type: "api_key"`; unsupported when `auth.profiles.<id>.mode = "oauth"`)
119
+ - `profiles.*.tokenRef` (`type: "token"`; unsupported when `auth.profiles.<id>.mode = "oauth"`)
120
+
121
+ [//]: # "secretref-supported-list-end"
122
+
123
+ Notes:
124
+
125
+ - Auth-profile plan targets require `agentId`.
126
+ - Plan entries target `profiles.*.key` / `profiles.*.token` and write sibling refs (`keyRef` / `tokenRef`).
127
+ - Auth-profile refs are included in runtime resolution and audit coverage.
128
+ - In `openclaw.json`, SecretRefs must use structured objects such as `{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}`. Legacy `secretref-env:<ENV_VAR>` marker strings are rejected on SecretRef credential paths; run `openclaw doctor --fix` to migrate valid markers.
129
+ - OAuth policy guard: `auth.profiles.<id>.mode = "oauth"` cannot be combined with SecretRef inputs for that profile. Startup/reload and auth-profile resolution fail fast when this policy is violated.
130
+ - For SecretRef-managed model providers, generated `agents/*/agent/models.json` entries persist non-secret markers (not resolved secret values) for `apiKey`/header surfaces.
131
+ - Marker persistence is source-authoritative: OpenClaw writes markers from the active source config snapshot (pre-resolution), not from resolved runtime secret values.
132
+ - For web search:
133
+ - In explicit provider mode (`tools.web.search.provider` set), only the selected provider key is active.
134
+ - In auto mode (`tools.web.search.provider` unset), only the first provider key that resolves by precedence is active.
135
+ - In auto mode, non-selected provider refs are treated as inactive until selected.
136
+ - Legacy `tools.web.search.*` provider paths still resolve during the compatibility window, but the canonical SecretRef surface is `plugins.entries.<plugin>.config.webSearch.*`.
137
+
138
+ ## Unsupported credentials
139
+
140
+ Out-of-scope credentials include:
141
+
142
+ [//]: # "secretref-unsupported-list-start"
143
+
144
+ - `commands.ownerDisplaySecret`
145
+ - `hooks.token`
146
+ - `hooks.gmail.pushToken`
147
+ - `hooks.mappings[].sessionKey`
148
+ - `auth-profiles.oauth.*`
149
+ - `channels.discord.threadBindings.webhookToken`
150
+ - `channels.discord.accounts.*.threadBindings.webhookToken`
151
+ - `channels.whatsapp.creds.json`
152
+ - `channels.whatsapp.accounts.*.creds.json`
153
+
154
+ [//]: # "secretref-unsupported-list-end"
155
+
156
+ Rationale:
157
+
158
+ - These credentials are minted, rotated, session-bearing, or OAuth-durable classes that do not fit read-only external SecretRef resolution.
159
+
160
+ ## Related
161
+
162
+ - [Secrets management](/gateway/secrets)
163
+ - [Auth credential semantics](/auth-credential-semantics)