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,365 @@
1
+ ---
2
+ summary: "Typed workflow runtime for OpenClaw with resumable approval gates."
3
+ title: Lobster
4
+ read_when:
5
+ - You want deterministic multi-step workflows with explicit approvals
6
+ - You need to resume a workflow without re-running earlier steps
7
+ ---
8
+
9
+ Lobster is a workflow shell that lets OpenClaw run multi-step tool sequences as a single, deterministic operation with explicit approval checkpoints.
10
+
11
+ Lobster is one authoring layer above detached background work. For flow orchestration above individual tasks, see [Task Flow](/automation/taskflow) (`openclaw tasks flow`). For the task activity ledger, see [`openclaw tasks`](/automation/tasks).
12
+
13
+ ## Hook
14
+
15
+ Your assistant can build the tools that manage itself. Ask for a workflow, and 30 minutes later you have a CLI plus pipelines that run as one call. Lobster is the missing piece: deterministic pipelines, explicit approvals, and resumable state.
16
+
17
+ ## Why
18
+
19
+ Today, complex workflows require many back-and-forth tool calls. Each call costs tokens, and the LLM has to orchestrate every step. Lobster moves that orchestration into a typed runtime:
20
+
21
+ - **One call instead of many**: OpenClaw runs one Lobster tool call and gets a structured result.
22
+ - **Approvals built in**: Side effects (send email, post comment) halt the workflow until explicitly approved.
23
+ - **Resumable**: Halted workflows return a token; approve and resume without re-running everything.
24
+
25
+ ## Why a DSL instead of plain programs?
26
+
27
+ Lobster is intentionally small. The goal is not "a new language," it's a predictable, AI-friendly pipeline spec with first-class approvals and resume tokens.
28
+
29
+ - **Approve/resume is built in**: A normal program can prompt a human, but it can't _pause and resume_ with a durable token without you inventing that runtime yourself.
30
+ - **Determinism + auditability**: Pipelines are data, so they're easy to log, diff, replay, and review.
31
+ - **Constrained surface for AI**: A tiny grammar + JSON piping reduces "creative" code paths and makes validation realistic.
32
+ - **Safety policy baked in**: Timeouts, output caps, sandbox checks, and allowlists are enforced by the runtime, not each script.
33
+ - **Still programmable**: Each step can call any CLI or script. If you want JS/TS, generate `.lobster` files from code.
34
+
35
+ ## How it works
36
+
37
+ OpenClaw runs Lobster workflows **in-process** using an embedded runner. No external CLI subprocess is spawned; the workflow engine executes inside the gateway process and returns a JSON envelope directly.
38
+ If the pipeline pauses for approval, the tool returns a `resumeToken` so you can continue later.
39
+
40
+ ## Pattern: small CLI + JSON pipes + approvals
41
+
42
+ Build tiny commands that speak JSON, then chain them into a single Lobster call. (Example command names below - swap in your own.)
43
+
44
+ ```bash
45
+ inbox list --json
46
+ inbox categorize --json
47
+ inbox apply --json
48
+ ```
49
+
50
+ ```json
51
+ {
52
+ "action": "run",
53
+ "pipeline": "exec --json --shell 'inbox list --json' | exec --stdin json --shell 'inbox categorize --json' | exec --stdin json --shell 'inbox apply --json' | approve --preview-from-stdin --limit 5 --prompt 'Apply changes?'",
54
+ "timeoutMs": 30000
55
+ }
56
+ ```
57
+
58
+ If the pipeline requests approval, resume with the token:
59
+
60
+ ```json
61
+ {
62
+ "action": "resume",
63
+ "token": "<resumeToken>",
64
+ "approve": true
65
+ }
66
+ ```
67
+
68
+ AI triggers the workflow; Lobster executes the steps. Approval gates keep side effects explicit and auditable.
69
+
70
+ Example: map input items into tool calls:
71
+
72
+ ```bash
73
+ gog.gmail.search --query 'newer_than:1d' \
74
+ | openclaw.invoke --tool message --action send --each --item-key message --args-json '{"provider":"telegram","to":"..."}'
75
+ ```
76
+
77
+ ## JSON-only LLM steps (llm-task)
78
+
79
+ For workflows that need a **structured LLM step**, enable the optional
80
+ `llm-task` plugin tool and call it from Lobster. This keeps the workflow
81
+ deterministic while still letting you classify/summarize/draft with a model.
82
+
83
+ Enable the tool:
84
+
85
+ ```json
86
+ {
87
+ "plugins": {
88
+ "entries": {
89
+ "llm-task": { "enabled": true }
90
+ }
91
+ },
92
+ "agents": {
93
+ "list": [
94
+ {
95
+ "id": "main",
96
+ "tools": { "alsoAllow": ["llm-task"] }
97
+ }
98
+ ]
99
+ }
100
+ }
101
+ ```
102
+
103
+ ### Important limitation: embedded Lobster vs `openclaw.invoke`
104
+
105
+ The bundled Lobster plugin runs workflows **in-process** inside the gateway. In that embedded mode, `openclaw.invoke` does **not** automatically inherit a gateway URL/auth context for nested OpenClaw CLI tool calls.
106
+
107
+ That means this pattern is **not currently reliable in the embedded runner**:
108
+
109
+ ```lobster
110
+ openclaw.invoke --tool llm-task --action json --args-json '{ ... }'
111
+ ```
112
+
113
+ Use the example below only when running the **standalone Lobster CLI** in an environment where `openclaw.invoke` is already configured with the correct gateway/auth context.
114
+
115
+ Use it in a standalone Lobster CLI pipeline:
116
+
117
+ ```lobster
118
+ openclaw.invoke --tool llm-task --action json --args-json '{
119
+ "prompt": "Given the input email, return intent and draft.",
120
+ "thinking": "low",
121
+ "input": { "subject": "Hello", "body": "Can you help?" },
122
+ "schema": {
123
+ "type": "object",
124
+ "properties": {
125
+ "intent": { "type": "string" },
126
+ "draft": { "type": "string" }
127
+ },
128
+ "required": ["intent", "draft"],
129
+ "additionalProperties": false
130
+ }
131
+ }'
132
+ ```
133
+
134
+ If you are using the embedded Lobster plugin today, prefer either:
135
+
136
+ - a direct `llm-task` tool call outside Lobster, or
137
+ - non-`openclaw.invoke` steps inside the Lobster pipeline until a supported embedded bridge is added.
138
+
139
+ See [LLM Task](/tools/llm-task) for details and configuration options.
140
+
141
+ ## Workflow files (.lobster)
142
+
143
+ Lobster can run YAML/JSON workflow files with `name`, `args`, `steps`, `env`, `condition`, and `approval` fields. In OpenClaw tool calls, set `pipeline` to the file path.
144
+
145
+ ```yaml
146
+ name: inbox-triage
147
+ args:
148
+ tag:
149
+ default: "family"
150
+ steps:
151
+ - id: collect
152
+ command: inbox list --json
153
+ - id: categorize
154
+ command: inbox categorize --json
155
+ stdin: $collect.stdout
156
+ - id: approve
157
+ command: inbox apply --approve
158
+ stdin: $categorize.stdout
159
+ approval: required
160
+ - id: execute
161
+ command: inbox apply --execute
162
+ stdin: $categorize.stdout
163
+ condition: $approve.approved
164
+ ```
165
+
166
+ Notes:
167
+
168
+ - `stdin: $step.stdout` and `stdin: $step.json` pass a prior step's output.
169
+ - `condition` (or `when`) can gate steps on `$step.approved`.
170
+
171
+ ## Install Lobster
172
+
173
+ Bundled Lobster workflows run in-process; no separate `lobster` binary is required. The embedded runner ships with the Lobster plugin.
174
+
175
+ If you need the standalone Lobster CLI for development or external pipelines, install it from the [Lobster repo](https://github.com/openclaw/lobster) and ensure `lobster` is on `PATH`.
176
+
177
+ ## Enable the tool
178
+
179
+ Lobster is an **optional** plugin tool (not enabled by default).
180
+
181
+ Recommended (additive, safe):
182
+
183
+ ```json
184
+ {
185
+ "tools": {
186
+ "alsoAllow": ["lobster"]
187
+ }
188
+ }
189
+ ```
190
+
191
+ Or per-agent:
192
+
193
+ ```json
194
+ {
195
+ "agents": {
196
+ "list": [
197
+ {
198
+ "id": "main",
199
+ "tools": {
200
+ "alsoAllow": ["lobster"]
201
+ }
202
+ }
203
+ ]
204
+ }
205
+ }
206
+ ```
207
+
208
+ Avoid using `tools.allow: ["lobster"]` unless you intend to run in restrictive allowlist mode.
209
+
210
+ <Note>
211
+ Allowlists are opt-in for optional plugins. `alsoAllow` enables only the named optional plugin tools while preserving the normal core tool set. To restrict core tools, use `tools.allow` with the core tools or groups you want.
212
+ </Note>
213
+
214
+ ## Example: Email triage
215
+
216
+ Without Lobster:
217
+
218
+ ```
219
+ User: "Check my email and draft replies"
220
+ → openclaw calls gmail.list
221
+ → LLM summarizes
222
+ → User: "draft replies to #2 and #5"
223
+ → LLM drafts
224
+ → User: "send #2"
225
+ → openclaw calls gmail.send
226
+ (repeat daily, no memory of what was triaged)
227
+ ```
228
+
229
+ With Lobster:
230
+
231
+ ```json
232
+ {
233
+ "action": "run",
234
+ "pipeline": "email.triage --limit 20",
235
+ "timeoutMs": 30000
236
+ }
237
+ ```
238
+
239
+ Returns a JSON envelope (truncated):
240
+
241
+ ```json
242
+ {
243
+ "ok": true,
244
+ "status": "needs_approval",
245
+ "output": [{ "summary": "5 need replies, 2 need action" }],
246
+ "requiresApproval": {
247
+ "type": "approval_request",
248
+ "prompt": "Send 2 draft replies?",
249
+ "items": [],
250
+ "resumeToken": "..."
251
+ }
252
+ }
253
+ ```
254
+
255
+ User approves → resume:
256
+
257
+ ```json
258
+ {
259
+ "action": "resume",
260
+ "token": "<resumeToken>",
261
+ "approve": true
262
+ }
263
+ ```
264
+
265
+ One workflow. Deterministic. Safe.
266
+
267
+ ## Tool parameters
268
+
269
+ ### `run`
270
+
271
+ Run a pipeline in tool mode.
272
+
273
+ ```json
274
+ {
275
+ "action": "run",
276
+ "pipeline": "gog.gmail.search --query 'newer_than:1d' | email.triage",
277
+ "cwd": "workspace",
278
+ "timeoutMs": 30000,
279
+ "maxStdoutBytes": 512000
280
+ }
281
+ ```
282
+
283
+ Run a workflow file with args:
284
+
285
+ ```json
286
+ {
287
+ "action": "run",
288
+ "pipeline": "/path/to/inbox-triage.lobster",
289
+ "argsJson": "{\"tag\":\"family\"}"
290
+ }
291
+ ```
292
+
293
+ ### `resume`
294
+
295
+ Continue a halted workflow after approval.
296
+
297
+ ```json
298
+ {
299
+ "action": "resume",
300
+ "token": "<resumeToken>",
301
+ "approve": true
302
+ }
303
+ ```
304
+
305
+ ### Optional inputs
306
+
307
+ - `cwd`: Relative working directory for the pipeline (must stay within the gateway working directory).
308
+ - `timeoutMs`: Abort the workflow if it exceeds this duration (default: 20000).
309
+ - `maxStdoutBytes`: Abort the workflow if output exceeds this size (default: 512000).
310
+ - `argsJson`: JSON string passed to `lobster run --args-json` (workflow files only).
311
+
312
+ ## Output envelope
313
+
314
+ Lobster returns a JSON envelope with one of three statuses:
315
+
316
+ - `ok` → finished successfully
317
+ - `needs_approval` → paused; `requiresApproval.resumeToken` is required to resume
318
+ - `cancelled` → explicitly denied or cancelled
319
+
320
+ The tool surfaces the envelope in both `content` (pretty JSON) and `details` (raw object).
321
+
322
+ ## Approvals
323
+
324
+ If `requiresApproval` is present, inspect the prompt and decide:
325
+
326
+ - `approve: true` → resume and continue side effects
327
+ - `approve: false` → cancel and finalize the workflow
328
+
329
+ Use `approve --preview-from-stdin --limit N` to attach a JSON preview to approval requests without custom jq/heredoc glue. Resume tokens are now compact: Lobster stores workflow resume state under its state dir and hands back a small token key.
330
+
331
+ ## OpenProse
332
+
333
+ OpenProse pairs well with Lobster: use `/prose` to orchestrate multi-agent prep, then run a Lobster pipeline for deterministic approvals. If a Prose program needs Lobster, allow the `lobster` tool for sub-agents via `tools.subagents.tools`. See [OpenProse](/prose).
334
+
335
+ ## Safety
336
+
337
+ - **Local in-process only** - workflows execute inside the gateway process; no network calls from the plugin itself.
338
+ - **No secrets** - Lobster doesn't manage OAuth; it calls OpenClaw tools that do.
339
+ - **Sandbox-aware** - disabled when the tool context is sandboxed.
340
+ - **Hardened** - timeouts and output caps enforced by the embedded runner.
341
+
342
+ ## Troubleshooting
343
+
344
+ - **`lobster timed out`** → increase `timeoutMs`, or split a long pipeline.
345
+ - **`lobster output exceeded maxStdoutBytes`** → raise `maxStdoutBytes` or reduce output size.
346
+ - **`lobster returned invalid JSON`** → ensure the pipeline runs in tool mode and prints only JSON.
347
+ - **`lobster failed`** → check gateway logs for the embedded runner error details.
348
+
349
+ ## Learn more
350
+
351
+ - [Plugins](/tools/plugin)
352
+ - [Plugin tool authoring](/plugins/building-plugins#registering-agent-tools)
353
+
354
+ ## Case study: community workflows
355
+
356
+ One public example: a "second brain" CLI + Lobster pipelines that manage three Markdown vaults (personal, partner, shared). The CLI emits JSON for stats, inbox listings, and stale scans; Lobster chains those commands into workflows like `weekly-review`, `inbox-triage`, `memory-consolidation`, and `shared-task-sync`, each with approval gates. AI handles judgment (categorization) when available and falls back to deterministic rules when not.
357
+
358
+ - Thread: [https://x.com/plattenschieber/status/2014508656335770033](https://x.com/plattenschieber/status/2014508656335770033)
359
+ - Repo: [https://github.com/bloomedai/brain-cli](https://github.com/bloomedai/brain-cli)
360
+
361
+ ## Related
362
+
363
+ - [Automation](/automation) - scheduling Lobster workflows
364
+ - [Automation Overview](/automation) - all automation mechanisms
365
+ - [Tools Overview](/tools) - all available agent tools
@@ -0,0 +1,154 @@
1
+ ---
2
+ summary: "How to enable and tune guardrails that detect repetitive tool-call loops"
3
+ title: "Tool-loop detection"
4
+ read_when:
5
+ - A user reports agents getting stuck repeating tool calls
6
+ - You need to tune repetitive-call protection
7
+ - You are editing agent tool/runtime policies
8
+ - You hit `compaction_loop_persisted` aborts after a context-overflow retry
9
+ ---
10
+
11
+ OpenClaw has two cooperating guardrails for repetitive tool-call patterns:
12
+
13
+ 1. **Loop detection** (`tools.loopDetection.enabled`) — disabled by default. Watches the rolling tool-call history for repeated patterns and unknown-tool retries.
14
+ 2. **Post-compaction guard** (`tools.loopDetection.postCompactionGuard`) — enabled by default unless `tools.loopDetection.enabled` is explicitly `false`. Arms after every compaction-retry and aborts the run when the agent emits the same `(tool, args, result)` triple within the window.
15
+
16
+ Both are configured under the same `tools.loopDetection` block, but the post-compaction guard runs whenever the master switch is not explicitly off. Set `tools.loopDetection.enabled: false` to silence both surfaces.
17
+
18
+ ## Why this exists
19
+
20
+ - Detect repetitive sequences that do not make progress.
21
+ - Detect high-frequency no-result loops (same tool, same inputs, repeated errors).
22
+ - Detect specific repeated-call patterns for known polling tools.
23
+ - Prevent context-overflow then compaction then same-loop cycles from running indefinitely.
24
+
25
+ ## Configuration block
26
+
27
+ Global defaults, with every documented field shown:
28
+
29
+ ```json5
30
+ {
31
+ tools: {
32
+ loopDetection: {
33
+ enabled: false, // master switch for the rolling-history detectors
34
+ historySize: 30,
35
+ warningThreshold: 10,
36
+ criticalThreshold: 20,
37
+ unknownToolThreshold: 10,
38
+ globalCircuitBreakerThreshold: 30,
39
+ detectors: {
40
+ genericRepeat: true,
41
+ knownPollNoProgress: true,
42
+ pingPong: true,
43
+ },
44
+ postCompactionGuard: {
45
+ windowSize: 3, // armed after compaction-retry; runs unless enabled is explicitly false
46
+ },
47
+ },
48
+ },
49
+ }
50
+ ```
51
+
52
+ Per-agent override (optional):
53
+
54
+ ```json5
55
+ {
56
+ agents: {
57
+ list: [
58
+ {
59
+ id: "safe-runner",
60
+ tools: {
61
+ loopDetection: {
62
+ enabled: true,
63
+ warningThreshold: 8,
64
+ criticalThreshold: 16,
65
+ },
66
+ },
67
+ },
68
+ ],
69
+ },
70
+ }
71
+ ```
72
+
73
+ ### Field behavior
74
+
75
+ | Field | Default | Effect |
76
+ | -------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
77
+ | `enabled` | `false` | Master switch for the rolling-history detectors. Setting `false` also disables the post-compaction guard. |
78
+ | `historySize` | `30` | Number of recent tool calls kept for analysis. |
79
+ | `warningThreshold` | `10` | Threshold before a pattern is classified as warning-only. |
80
+ | `criticalThreshold` | `20` | Threshold for blocking repetitive no-progress loop patterns. |
81
+ | `unknownToolThreshold` | `10` | Block repeated calls to the same unavailable tool after this many misses. |
82
+ | `globalCircuitBreakerThreshold` | `30` | Global no-progress breaker threshold across all detectors. |
83
+ | `detectors.genericRepeat` | `true` | Warns on repeated same-tool + same-params patterns and blocks when the same calls also return identical outcomes. |
84
+ | `detectors.knownPollNoProgress` | `true` | Detects known polling-like patterns with no state change. |
85
+ | `detectors.pingPong` | `true` | Detects alternating ping-pong patterns. |
86
+ | `postCompactionGuard.windowSize` | `3` | Number of post-compaction tool calls during which the guard stays armed and the count of identical triples that aborts the run. |
87
+
88
+ For `exec`, no-progress checks compare stable command outcomes and ignore volatile runtime metadata such as duration, PID, session ID, and working directory. When a run id is available, recent tool-call history is evaluated only within that run so scheduled heartbeat cycles and fresh runs do not inherit stale loop counts from earlier runs.
89
+
90
+ ## Recommended setup
91
+
92
+ - For smaller models, set `enabled: true` and leave the thresholds at their defaults. Flagship models rarely need rolling-history detection and can leave the master switch at `false` while still benefiting from the post-compaction guard.
93
+ - Keep thresholds ordered as `warningThreshold < criticalThreshold < globalCircuitBreakerThreshold`.
94
+ - If false positives occur:
95
+ - Raise `warningThreshold` and/or `criticalThreshold`.
96
+ - Optionally raise `globalCircuitBreakerThreshold`.
97
+ - Disable only the specific detector causing issues (`detectors.<name>: false`).
98
+ - Reduce `historySize` for less strict historical context.
99
+ - To disable everything (including the post-compaction guard), set `tools.loopDetection.enabled: false` explicitly.
100
+
101
+ ## Post-compaction guard
102
+
103
+ When the runner completes a compaction-retry after a context-overflow, it arms a short-window guard that watches the next few tool calls. If the agent emits the same `(toolName, argsHash, resultHash)` triple multiple times within the window, the guard concludes that compaction did not break the loop and aborts the run with a `compaction_loop_persisted` error.
104
+
105
+ The guard is gated by the master `tools.loopDetection.enabled` flag with one twist: it stays **enabled when the flag is unset or `true`** and only deactivates when the flag is explicitly `false`. This is intentional. The guard exists to escape compaction loops that would otherwise burn unbounded tokens, so a no-config user still gets the protection.
106
+
107
+ ```json5
108
+ {
109
+ tools: {
110
+ loopDetection: {
111
+ // master switch; set false to disable the guard along with the rolling detectors
112
+ enabled: true,
113
+ postCompactionGuard: {
114
+ windowSize: 3, // default
115
+ },
116
+ },
117
+ },
118
+ }
119
+ ```
120
+
121
+ - Lower `windowSize` is stricter (fewer attempts before abort).
122
+ - Higher `windowSize` gives the agent more recovery attempts.
123
+ - The guard never aborts when results are changing, only when results are byte-identical across the window.
124
+ - It is intentionally narrow: it fires only in the immediate aftermath of a compaction-retry.
125
+
126
+ <Note>
127
+ The post-compaction guard runs whenever the master flag is not explicitly `false`, even if you never wrote a `tools.loopDetection` block. To verify, look for `post-compaction guard armed for N attempts` in the gateway log immediately after a compaction event.
128
+ </Note>
129
+
130
+ ## Logs and expected behavior
131
+
132
+ When a loop is detected, OpenClaw reports a loop event and either dampens or blocks the next tool-cycle depending on severity. This protects users from runaway token spend and lockups while preserving normal tool access.
133
+
134
+ - Warnings come first.
135
+ - Suppression follows when patterns persist past the warning threshold.
136
+ - Critical thresholds block the next tool-cycle and surface a clear loop-detection reason in the run record.
137
+ - The post-compaction guard emits `compaction_loop_persisted` errors with the offending tool name and identical-call count.
138
+
139
+ ## Related
140
+
141
+ <CardGroup cols={2}>
142
+ <Card title="Exec approvals" href="/tools/exec-approvals" icon="shield">
143
+ Allow/deny policy for shell execution.
144
+ </Card>
145
+ <Card title="Thinking levels" href="/tools/thinking" icon="brain">
146
+ Reasoning effort levels and provider-policy interaction.
147
+ </Card>
148
+ <Card title="Sub-agents" href="/tools/subagents" icon="users">
149
+ Spawning isolated agents to bound runaway behavior.
150
+ </Card>
151
+ <Card title="Configuration reference" href="/gateway/configuration-reference" icon="gear">
152
+ Full `tools.loopDetection` schema and merging semantics.
153
+ </Card>
154
+ </CardGroup>
@@ -0,0 +1,161 @@
1
+ ---
2
+ summary: "Image, video, music, speech, and media-understanding capabilities at a glance"
3
+ read_when:
4
+ - Looking for an overview of OpenClaw's media capabilities
5
+ - Deciding which media provider to configure
6
+ - Understanding how async media generation works
7
+ title: "Media overview"
8
+ sidebarTitle: "Media overview"
9
+ ---
10
+
11
+ OpenClaw generates images, videos, and music, understands inbound media
12
+ (images, audio, video), and speaks replies aloud with text-to-speech. All
13
+ media capabilities are tool-driven: the agent decides when to use them based
14
+ on the conversation, and each tool only appears when at least one backing
15
+ provider is configured.
16
+
17
+ Live speech uses the Talk session contract instead of the one-shot media tool
18
+ path. Talk has three modes: provider-native `realtime`, local or streaming
19
+ `stt-tts`, and `transcription` for observe-only speech capture. Those modes
20
+ share provider catalogs, event envelopes, and cancellation semantics with
21
+ telephony, meetings, browser realtime, and native push-to-talk clients.
22
+
23
+ ## Capabilities
24
+
25
+ <CardGroup cols={2}>
26
+ <Card title="Image generation" href="/tools/image-generation" icon="image">
27
+ Create and edit images from text prompts or reference images via
28
+ `image_generate`. Async in chat sessions — runs in the background and
29
+ posts the result when ready.
30
+ </Card>
31
+ <Card title="Video generation" href="/tools/video-generation" icon="video">
32
+ Text-to-video, image-to-video, and video-to-video via `video_generate`.
33
+ Async — runs in the background and posts the result when ready.
34
+ </Card>
35
+ <Card title="Music generation" href="/tools/music-generation" icon="music">
36
+ Generate music or audio tracks via `music_generate`. Async in chat
37
+ sessions on the shared media-generation task lifecycle.
38
+ </Card>
39
+ <Card title="Text-to-speech" href="/tools/tts" icon="microphone">
40
+ Convert outbound replies to spoken audio via the `tts` tool plus
41
+ `messages.tts` config. Synchronous.
42
+ </Card>
43
+ <Card title="Media understanding" href="/nodes/media-understanding" icon="eye">
44
+ Summarize inbound images, audio, and video using vision-capable model
45
+ providers and dedicated media-understanding plugins.
46
+ </Card>
47
+ <Card title="Speech-to-text" href="/nodes/audio" icon="ear-listen">
48
+ Transcribe inbound voice messages through batch STT or Voice Call
49
+ streaming STT providers.
50
+ </Card>
51
+ </CardGroup>
52
+
53
+ ## Provider capability matrix
54
+
55
+ | Provider | Image | Video | Music | TTS | STT | Realtime voice | Media understanding |
56
+ | ----------------- | :---: | :---: | :---: | :-: | :-: | :------------: | :-----------------: |
57
+ | Alibaba | | ✓ | | | | | |
58
+ | BytePlus | | ✓ | | | | | |
59
+ | ComfyUI | ✓ | ✓ | ✓ | | | | |
60
+ | DeepInfra | ✓ | ✓ | | ✓ | ✓ | | ✓ |
61
+ | Deepgram | | | | | ✓ | ✓ | |
62
+ | ElevenLabs | | | | ✓ | ✓ | | |
63
+ | fal | ✓ | ✓ | ✓ | | | | |
64
+ | Google | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ |
65
+ | Gradium | | | | ✓ | | | |
66
+ | Local CLI | | | | ✓ | | | |
67
+ | Microsoft | | | | ✓ | | | |
68
+ | Microsoft Foundry | ✓ | | | | | | |
69
+ | MiniMax | ✓ | ✓ | ✓ | ✓ | | | |
70
+ | Mistral | | | | | ✓ | | |
71
+ | OpenAI | ✓ | ✓ | | ✓ | ✓ | ✓ | ✓ |
72
+ | OpenRouter | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
73
+ | Qwen | | ✓ | | | | | |
74
+ | Runway | | ✓ | | | | | |
75
+ | SenseAudio | | | | | ✓ | | |
76
+ | Together | | ✓ | | | | | |
77
+ | Vydra | ✓ | ✓ | | ✓ | | | |
78
+ | xAI | ✓ | ✓ | | ✓ | ✓ | | ✓ |
79
+ | Xiaomi MiMo | ✓ | | | ✓ | | | ✓ |
80
+
81
+ <Note>
82
+ Media understanding uses any vision-capable or audio-capable model registered
83
+ in your provider config. The matrix above lists providers with dedicated
84
+ media-understanding support; most multimodal LLM providers (Anthropic, Google,
85
+ OpenAI, etc.) can also understand inbound media when configured as the active
86
+ reply model.
87
+ </Note>
88
+
89
+ ## Async vs synchronous
90
+
91
+ | Capability | Mode | Why |
92
+ | -------------- | ------------ | ---------------------------------------------------------------------------------------------------- |
93
+ | Image | Asynchronous | Provider processing can outlive a chat turn; generated attachments use the shared completion path. |
94
+ | Text-to-speech | Synchronous | Provider responses return in seconds; attached to the reply audio. |
95
+ | Video | Asynchronous | Provider processing takes 30 s to several minutes; slow queues can run up to the configured timeout. |
96
+ | Music | Asynchronous | Same provider-processing characteristic as video. |
97
+
98
+ For async tools, OpenClaw submits the request to the provider, returns a task
99
+ id immediately, and tracks the job in the task ledger. The agent continues
100
+ responding to other messages while the job runs. When the provider finishes,
101
+ OpenClaw wakes the agent with the generated media paths so it can tell the
102
+ user through the session's normal visible-reply mode: automatic final reply
103
+ delivery when configured, or `message(action="send")` when the session requires
104
+ the message tool. If the requester session is inactive or its active wake
105
+ fails, and some generated media is still missing from the completion reply,
106
+ OpenClaw sends an idempotent direct fallback with only the missing media. Media
107
+ already delivered by the completion reply is not posted again.
108
+
109
+ ## Speech-to-text and Voice Call
110
+
111
+ Deepgram, DeepInfra, ElevenLabs, Mistral, OpenAI, OpenRouter, SenseAudio, and xAI can all transcribe
112
+ inbound audio through the batch `tools.media.audio` path when configured.
113
+ Channel plugins that preflight a voice note for mention gating or command
114
+ parsing mark the transcribed attachment on the inbound context, so the shared
115
+ media-understanding pass reuses that transcript instead of making a second
116
+ STT call for the same audio.
117
+
118
+ Deepgram, ElevenLabs, Mistral, OpenAI, and xAI also register Voice Call
119
+ streaming STT providers, so live phone audio can be forwarded to the selected
120
+ vendor without waiting for a completed recording.
121
+
122
+ For live user conversations, prefer [Talk mode](/nodes/talk). Batch audio
123
+ attachments stay on the media path; browser realtime, native push-to-talk,
124
+ telephony, and meeting audio should use Talk events and the session-scoped
125
+ catalogs returned by the Gateway.
126
+
127
+ ## Provider mappings (how vendors split across surfaces)
128
+
129
+ <AccordionGroup>
130
+ <Accordion title="Google">
131
+ Image, video, music, batch TTS, backend realtime voice, and
132
+ media-understanding surfaces.
133
+ </Accordion>
134
+ <Accordion title="OpenAI">
135
+ Image, video, batch TTS, batch STT, Voice Call streaming STT, backend
136
+ realtime voice, and memory-embedding surfaces.
137
+ </Accordion>
138
+ <Accordion title="DeepInfra">
139
+ Chat/model routing, image generation/editing, text-to-video, batch TTS,
140
+ batch STT, image media understanding, and memory-embedding surfaces.
141
+ DeepInfra-native rerank/classification/object-detection models are not
142
+ registered until OpenClaw has dedicated provider contracts for those
143
+ categories.
144
+ </Accordion>
145
+ <Accordion title="xAI">
146
+ Image, video, search, code-execution, batch TTS, batch STT, and Voice
147
+ Call streaming STT. xAI Realtime voice is an upstream capability but is
148
+ not registered in OpenClaw until the shared realtime-voice contract can
149
+ represent it.
150
+ </Accordion>
151
+ </AccordionGroup>
152
+
153
+ ## Related
154
+
155
+ - [Image generation](/tools/image-generation)
156
+ - [Video generation](/tools/video-generation)
157
+ - [Music generation](/tools/music-generation)
158
+ - [Text-to-speech](/tools/tts)
159
+ - [Media understanding](/nodes/media-understanding)
160
+ - [Audio nodes](/nodes/audio)
161
+ - [Talk mode](/nodes/talk)