nodmix 2026.5.25

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 (827) hide show
  1. package/CHANGELOG.md +11573 -0
  2. package/LICENSE +21 -0
  3. package/README.md +486 -0
  4. package/docs/.i18n/README.md +81 -0
  5. package/docs/.i18n/ar-navigation.json +18 -0
  6. package/docs/.i18n/de-navigation.json +18 -0
  7. package/docs/.i18n/es-navigation.json +18 -0
  8. package/docs/.i18n/fr-navigation.json +18 -0
  9. package/docs/.i18n/glossary.ar.json +78 -0
  10. package/docs/.i18n/glossary.de.json +78 -0
  11. package/docs/.i18n/glossary.es.json +78 -0
  12. package/docs/.i18n/glossary.fa.json +78 -0
  13. package/docs/.i18n/glossary.fr.json +78 -0
  14. package/docs/.i18n/glossary.id.json +78 -0
  15. package/docs/.i18n/glossary.it.json +78 -0
  16. package/docs/.i18n/glossary.ja-JP.json +98 -0
  17. package/docs/.i18n/glossary.ko.json +78 -0
  18. package/docs/.i18n/glossary.nl.json +78 -0
  19. package/docs/.i18n/glossary.pl.json +78 -0
  20. package/docs/.i18n/glossary.pt-BR.json +78 -0
  21. package/docs/.i18n/glossary.th.json +78 -0
  22. package/docs/.i18n/glossary.tr.json +78 -0
  23. package/docs/.i18n/glossary.uk.json +78 -0
  24. package/docs/.i18n/glossary.vi.json +78 -0
  25. package/docs/.i18n/glossary.zh-CN.json +1002 -0
  26. package/docs/.i18n/glossary.zh-TW.json +78 -0
  27. package/docs/.i18n/id-navigation.json +18 -0
  28. package/docs/.i18n/it-navigation.json +18 -0
  29. package/docs/.i18n/ja-navigation.json +18 -0
  30. package/docs/.i18n/ko-navigation.json +18 -0
  31. package/docs/.i18n/pl-navigation.json +18 -0
  32. package/docs/.i18n/pt-BR-navigation.json +18 -0
  33. package/docs/.i18n/tr-navigation.json +18 -0
  34. package/docs/.i18n/translation-workflow.md +111 -0
  35. package/docs/.i18n/zh-Hans-navigation.json +542 -0
  36. package/docs/AGENTS.md +36 -0
  37. package/docs/announcements/bluebubbles-imessage.md +79 -0
  38. package/docs/assets/install-script.svg +1 -0
  39. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  40. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  41. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  42. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  43. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  44. package/docs/assets/openclaw-logo-text-dark.png +0 -0
  45. package/docs/assets/openclaw-logo-text-dark.svg +418 -0
  46. package/docs/assets/openclaw-logo-text.png +0 -0
  47. package/docs/assets/openclaw-logo-text.svg +418 -0
  48. package/docs/assets/pixel-lobster.svg +60 -0
  49. package/docs/assets/pr/quick-settings-browser-tools.png +0 -0
  50. package/docs/assets/showcase/agents-ui.jpg +0 -0
  51. package/docs/assets/showcase/bambu-cli.png +0 -0
  52. package/docs/assets/showcase/codexmonitor.png +0 -0
  53. package/docs/assets/showcase/gohome-grafana.png +0 -0
  54. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  55. package/docs/assets/showcase/oura-health.png +0 -0
  56. package/docs/assets/showcase/padel-cli.svg +11 -0
  57. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  58. package/docs/assets/showcase/papla-tts.jpg +0 -0
  59. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  60. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  61. package/docs/assets/showcase/roborock-status.svg +13 -0
  62. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  63. package/docs/assets/showcase/snag.png +0 -0
  64. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  65. package/docs/assets/showcase/wienerlinien.png +0 -0
  66. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  67. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  68. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  69. package/docs/assets/sponsors/blacksmith-light.svg +14 -0
  70. package/docs/assets/sponsors/blacksmith.svg +14 -0
  71. package/docs/assets/sponsors/convex-light.svg +16 -0
  72. package/docs/assets/sponsors/convex.svg +16 -0
  73. package/docs/assets/sponsors/github-light.svg +3 -0
  74. package/docs/assets/sponsors/github.svg +3 -0
  75. package/docs/assets/sponsors/nvidia-dark.svg +9 -0
  76. package/docs/assets/sponsors/nvidia.svg +9 -0
  77. package/docs/assets/sponsors/openai-light.svg +3 -0
  78. package/docs/assets/sponsors/openai.svg +3 -0
  79. package/docs/assets/sponsors/vercel-light.svg +5 -0
  80. package/docs/assets/sponsors/vercel.svg +5 -0
  81. package/docs/auth-credential-semantics.md +124 -0
  82. package/docs/automation/auth-monitoring.md +11 -0
  83. package/docs/automation/clawflow.md +12 -0
  84. package/docs/automation/cron-jobs.md +500 -0
  85. package/docs/automation/cron-vs-heartbeat.md +11 -0
  86. package/docs/automation/gmail-pubsub.md +11 -0
  87. package/docs/automation/hooks.md +365 -0
  88. package/docs/automation/index.md +135 -0
  89. package/docs/automation/poll.md +12 -0
  90. package/docs/automation/standing-orders.md +250 -0
  91. package/docs/automation/taskflow.md +155 -0
  92. package/docs/automation/tasks.md +374 -0
  93. package/docs/automation/troubleshooting.md +12 -0
  94. package/docs/automation/webhook.md +12 -0
  95. package/docs/brave-search.md +11 -0
  96. package/docs/channels/access-groups.md +201 -0
  97. package/docs/channels/ambient-room-events.md +214 -0
  98. package/docs/channels/bot-loop-protection.md +131 -0
  99. package/docs/channels/broadcast-groups.md +472 -0
  100. package/docs/channels/channel-routing.md +162 -0
  101. package/docs/channels/clickclack.md +138 -0
  102. package/docs/channels/discord.md +1762 -0
  103. package/docs/channels/feishu.md +502 -0
  104. package/docs/channels/googlechat.md +284 -0
  105. package/docs/channels/group-messages.md +95 -0
  106. package/docs/channels/groups.md +519 -0
  107. package/docs/channels/imessage-from-bluebubbles.md +259 -0
  108. package/docs/channels/imessage.md +813 -0
  109. package/docs/channels/index.md +64 -0
  110. package/docs/channels/irc.md +253 -0
  111. package/docs/channels/line.md +243 -0
  112. package/docs/channels/location.md +71 -0
  113. package/docs/channels/matrix-migration.md +370 -0
  114. package/docs/channels/matrix-presentation.md +77 -0
  115. package/docs/channels/matrix-push-rules.md +150 -0
  116. package/docs/channels/matrix.md +921 -0
  117. package/docs/channels/mattermost.md +542 -0
  118. package/docs/channels/msteams.md +1042 -0
  119. package/docs/channels/nextcloud-talk.md +176 -0
  120. package/docs/channels/nostr.md +253 -0
  121. package/docs/channels/pairing.md +214 -0
  122. package/docs/channels/qqbot.md +309 -0
  123. package/docs/channels/signal.md +400 -0
  124. package/docs/channels/slack.md +1564 -0
  125. package/docs/channels/synology-chat.md +187 -0
  126. package/docs/channels/telegram.md +1107 -0
  127. package/docs/channels/tlon.md +296 -0
  128. package/docs/channels/troubleshooting.md +161 -0
  129. package/docs/channels/twitch.md +431 -0
  130. package/docs/channels/wechat.md +171 -0
  131. package/docs/channels/whatsapp.md +739 -0
  132. package/docs/channels/yuanbao.md +416 -0
  133. package/docs/channels/zalo.md +253 -0
  134. package/docs/channels/zalouser.md +199 -0
  135. package/docs/ci.md +612 -0
  136. package/docs/clawhub/publishing.md +96 -0
  137. package/docs/cli/acp.md +370 -0
  138. package/docs/cli/agent.md +103 -0
  139. package/docs/cli/agents.md +232 -0
  140. package/docs/cli/approvals.md +190 -0
  141. package/docs/cli/backup.md +97 -0
  142. package/docs/cli/browser.md +307 -0
  143. package/docs/cli/channels.md +154 -0
  144. package/docs/cli/clawbot.md +25 -0
  145. package/docs/cli/commitments.md +90 -0
  146. package/docs/cli/completion.md +39 -0
  147. package/docs/cli/config.md +504 -0
  148. package/docs/cli/configure.md +77 -0
  149. package/docs/cli/crestodian.md +332 -0
  150. package/docs/cli/cron.md +281 -0
  151. package/docs/cli/daemon.md +67 -0
  152. package/docs/cli/dashboard.md +33 -0
  153. package/docs/cli/devices.md +204 -0
  154. package/docs/cli/directory.md +68 -0
  155. package/docs/cli/dns.md +53 -0
  156. package/docs/cli/docs.md +73 -0
  157. package/docs/cli/doctor.md +237 -0
  158. package/docs/cli/flows.md +52 -0
  159. package/docs/cli/gateway.md +567 -0
  160. package/docs/cli/health.md +43 -0
  161. package/docs/cli/hooks.md +345 -0
  162. package/docs/cli/index.md +396 -0
  163. package/docs/cli/infer.md +364 -0
  164. package/docs/cli/logs.md +65 -0
  165. package/docs/cli/mcp.md +529 -0
  166. package/docs/cli/memory.md +183 -0
  167. package/docs/cli/message.md +317 -0
  168. package/docs/cli/migrate.md +290 -0
  169. package/docs/cli/models.md +224 -0
  170. package/docs/cli/node.md +177 -0
  171. package/docs/cli/nodes.md +76 -0
  172. package/docs/cli/onboard.md +245 -0
  173. package/docs/cli/pairing.md +77 -0
  174. package/docs/cli/path.md +502 -0
  175. package/docs/cli/plugins.md +454 -0
  176. package/docs/cli/policy.md +418 -0
  177. package/docs/cli/proxy.md +89 -0
  178. package/docs/cli/qr.md +56 -0
  179. package/docs/cli/reset.md +39 -0
  180. package/docs/cli/sandbox.md +208 -0
  181. package/docs/cli/secrets.md +202 -0
  182. package/docs/cli/security.md +124 -0
  183. package/docs/cli/sessions.md +164 -0
  184. package/docs/cli/setup.md +59 -0
  185. package/docs/cli/skills.md +102 -0
  186. package/docs/cli/status.md +45 -0
  187. package/docs/cli/system.md +89 -0
  188. package/docs/cli/tasks.md +111 -0
  189. package/docs/cli/tui.md +89 -0
  190. package/docs/cli/uninstall.md +44 -0
  191. package/docs/cli/update.md +242 -0
  192. package/docs/cli/voicecall.md +204 -0
  193. package/docs/cli/webhooks.md +117 -0
  194. package/docs/cli/wiki.md +256 -0
  195. package/docs/concepts/active-memory.md +856 -0
  196. package/docs/concepts/agent-loop.md +185 -0
  197. package/docs/concepts/agent-runtimes.md +243 -0
  198. package/docs/concepts/agent-workspace.md +230 -0
  199. package/docs/concepts/agent.md +136 -0
  200. package/docs/concepts/architecture.md +154 -0
  201. package/docs/concepts/channel-docking.md +145 -0
  202. package/docs/concepts/commitments.md +150 -0
  203. package/docs/concepts/compaction.md +203 -0
  204. package/docs/concepts/context-engine.md +306 -0
  205. package/docs/concepts/context.md +199 -0
  206. package/docs/concepts/delegate-architecture.md +319 -0
  207. package/docs/concepts/dreaming.md +261 -0
  208. package/docs/concepts/experimental-features.md +108 -0
  209. package/docs/concepts/features.md +91 -0
  210. package/docs/concepts/mantis-slack-desktop-runbook.md +202 -0
  211. package/docs/concepts/mantis.md +740 -0
  212. package/docs/concepts/markdown-formatting.md +139 -0
  213. package/docs/concepts/memory-builtin.md +146 -0
  214. package/docs/concepts/memory-honcho.md +144 -0
  215. package/docs/concepts/memory-qmd.md +271 -0
  216. package/docs/concepts/memory-search.md +166 -0
  217. package/docs/concepts/memory.md +258 -0
  218. package/docs/concepts/message-lifecycle-refactor.md +1128 -0
  219. package/docs/concepts/messages.md +214 -0
  220. package/docs/concepts/model-failover.md +385 -0
  221. package/docs/concepts/model-providers.md +715 -0
  222. package/docs/concepts/models.md +370 -0
  223. package/docs/concepts/multi-agent.md +619 -0
  224. package/docs/concepts/oauth.md +198 -0
  225. package/docs/concepts/openclaw-sdk.md +323 -0
  226. package/docs/concepts/parallel-specialist-lanes.md +127 -0
  227. package/docs/concepts/personal-agent-benchmark-pack.md +74 -0
  228. package/docs/concepts/presence.md +117 -0
  229. package/docs/concepts/progress-drafts.md +362 -0
  230. package/docs/concepts/qa-e2e-automation.md +820 -0
  231. package/docs/concepts/qa-matrix.md +139 -0
  232. package/docs/concepts/queue-steering.md +90 -0
  233. package/docs/concepts/queue.md +122 -0
  234. package/docs/concepts/retry.md +86 -0
  235. package/docs/concepts/session-pruning.md +104 -0
  236. package/docs/concepts/session-tool.md +190 -0
  237. package/docs/concepts/session.md +164 -0
  238. package/docs/concepts/soul.md +116 -0
  239. package/docs/concepts/streaming.md +251 -0
  240. package/docs/concepts/system-prompt.md +310 -0
  241. package/docs/concepts/timezone.md +47 -0
  242. package/docs/concepts/typebox.md +309 -0
  243. package/docs/concepts/typing-indicators.md +88 -0
  244. package/docs/concepts/usage-tracking.md +66 -0
  245. package/docs/date-time.md +126 -0
  246. package/docs/debug/node-issue.md +90 -0
  247. package/docs/diagnostics/flags.md +138 -0
  248. package/docs/docs.json +1832 -0
  249. package/docs/gateway/authentication.md +239 -0
  250. package/docs/gateway/background-process.md +147 -0
  251. package/docs/gateway/bonjour.md +303 -0
  252. package/docs/gateway/bridge-protocol.md +94 -0
  253. package/docs/gateway/cli-backends.md +420 -0
  254. package/docs/gateway/config-agents.md +1514 -0
  255. package/docs/gateway/config-channels.md +945 -0
  256. package/docs/gateway/config-tools.md +769 -0
  257. package/docs/gateway/configuration-examples.md +705 -0
  258. package/docs/gateway/configuration-reference.md +1393 -0
  259. package/docs/gateway/configuration.md +737 -0
  260. package/docs/gateway/diagnostics.md +213 -0
  261. package/docs/gateway/discovery.md +154 -0
  262. package/docs/gateway/doctor.md +574 -0
  263. package/docs/gateway/gateway-lock.md +37 -0
  264. package/docs/gateway/health.md +73 -0
  265. package/docs/gateway/heartbeat.md +493 -0
  266. package/docs/gateway/index.md +383 -0
  267. package/docs/gateway/local-model-services.md +205 -0
  268. package/docs/gateway/local-models.md +355 -0
  269. package/docs/gateway/logging.md +149 -0
  270. package/docs/gateway/multiple-gateways.md +178 -0
  271. package/docs/gateway/network-model.md +15 -0
  272. package/docs/gateway/openai-http-api.md +350 -0
  273. package/docs/gateway/openresponses-http-api.md +347 -0
  274. package/docs/gateway/openshell.md +316 -0
  275. package/docs/gateway/opentelemetry.md +404 -0
  276. package/docs/gateway/operator-scopes.md +111 -0
  277. package/docs/gateway/pairing.md +207 -0
  278. package/docs/gateway/prometheus.md +230 -0
  279. package/docs/gateway/protocol.md +803 -0
  280. package/docs/gateway/remote-gateway-readme.md +169 -0
  281. package/docs/gateway/remote.md +280 -0
  282. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +146 -0
  283. package/docs/gateway/sandboxing.md +545 -0
  284. package/docs/gateway/secrets-plan-contract.md +114 -0
  285. package/docs/gateway/secrets.md +609 -0
  286. package/docs/gateway/security/audit-checks.md +127 -0
  287. package/docs/gateway/security/index.md +1326 -0
  288. package/docs/gateway/security/secure-file-operations.md +76 -0
  289. package/docs/gateway/tailscale.md +156 -0
  290. package/docs/gateway/tools-invoke-http-api.md +169 -0
  291. package/docs/gateway/troubleshooting.md +772 -0
  292. package/docs/gateway/trusted-proxy-auth.md +451 -0
  293. package/docs/help/debugging.md +344 -0
  294. package/docs/help/environment.md +214 -0
  295. package/docs/help/faq-first-run.md +867 -0
  296. package/docs/help/faq-models.md +553 -0
  297. package/docs/help/faq.md +1975 -0
  298. package/docs/help/gpt55-codex-agentic-parity-maintainers.md +196 -0
  299. package/docs/help/gpt55-codex-agentic-parity.md +230 -0
  300. package/docs/help/index.md +39 -0
  301. package/docs/help/scripts.md +56 -0
  302. package/docs/help/testing-live.md +580 -0
  303. package/docs/help/testing-updates-plugins.md +291 -0
  304. package/docs/help/testing.md +928 -0
  305. package/docs/help/troubleshooting.md +424 -0
  306. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  307. package/docs/images/feishu-get-group-id.png +0 -0
  308. package/docs/images/groups-flow.svg +52 -0
  309. package/docs/images/mobile-ui-screenshot.png +0 -0
  310. package/docs/index.md +196 -0
  311. package/docs/install/ansible.md +233 -0
  312. package/docs/install/azure.md +315 -0
  313. package/docs/install/bun.md +59 -0
  314. package/docs/install/clawdock.md +112 -0
  315. package/docs/install/development-channels.md +135 -0
  316. package/docs/install/digitalocean.md +174 -0
  317. package/docs/install/docker-vm-runtime.md +154 -0
  318. package/docs/install/docker.md +562 -0
  319. package/docs/install/exe-dev.md +201 -0
  320. package/docs/install/fly.md +524 -0
  321. package/docs/install/gcp.md +418 -0
  322. package/docs/install/hetzner.md +285 -0
  323. package/docs/install/hostinger.md +98 -0
  324. package/docs/install/index.md +221 -0
  325. package/docs/install/installer.md +455 -0
  326. package/docs/install/kubernetes.md +196 -0
  327. package/docs/install/macos-vm.md +281 -0
  328. package/docs/install/migrating-claude.md +165 -0
  329. package/docs/install/migrating-hermes.md +177 -0
  330. package/docs/install/migrating.md +137 -0
  331. package/docs/install/nix.md +112 -0
  332. package/docs/install/node.md +142 -0
  333. package/docs/install/northflank.mdx +44 -0
  334. package/docs/install/oracle.md +218 -0
  335. package/docs/install/podman.md +210 -0
  336. package/docs/install/railway.mdx +92 -0
  337. package/docs/install/raspberry-pi.md +234 -0
  338. package/docs/install/render.mdx +167 -0
  339. package/docs/install/uninstall.md +131 -0
  340. package/docs/install/updating.md +280 -0
  341. package/docs/logging.md +318 -0
  342. package/docs/nav-tabs-underline.js +100 -0
  343. package/docs/network.md +72 -0
  344. package/docs/nodes/audio.md +215 -0
  345. package/docs/nodes/camera.md +166 -0
  346. package/docs/nodes/images.md +77 -0
  347. package/docs/nodes/index.md +439 -0
  348. package/docs/nodes/location-command.md +102 -0
  349. package/docs/nodes/media-understanding.md +469 -0
  350. package/docs/nodes/talk.md +154 -0
  351. package/docs/nodes/troubleshooting.md +123 -0
  352. package/docs/nodes/voicewake.md +93 -0
  353. package/docs/perplexity.md +11 -0
  354. package/docs/pi-dev.md +82 -0
  355. package/docs/pi.md +573 -0
  356. package/docs/plan/codex-context-engine-harness.md +624 -0
  357. package/docs/plan/ui-channels.md +284 -0
  358. package/docs/platforms/android.md +285 -0
  359. package/docs/platforms/digitalocean.md +12 -0
  360. package/docs/platforms/index.md +60 -0
  361. package/docs/platforms/ios.md +283 -0
  362. package/docs/platforms/linux.md +141 -0
  363. package/docs/platforms/mac/bundled-gateway.md +79 -0
  364. package/docs/platforms/mac/canvas.md +128 -0
  365. package/docs/platforms/mac/child-process.md +72 -0
  366. package/docs/platforms/mac/dev-setup.md +112 -0
  367. package/docs/platforms/mac/health.md +39 -0
  368. package/docs/platforms/mac/icon.md +36 -0
  369. package/docs/platforms/mac/logging.md +62 -0
  370. package/docs/platforms/mac/menu-bar.md +93 -0
  371. package/docs/platforms/mac/peekaboo.md +92 -0
  372. package/docs/platforms/mac/permissions.md +53 -0
  373. package/docs/platforms/mac/remote.md +123 -0
  374. package/docs/platforms/mac/signing.md +52 -0
  375. package/docs/platforms/mac/skills.md +43 -0
  376. package/docs/platforms/mac/voice-overlay.md +66 -0
  377. package/docs/platforms/mac/voicewake.md +73 -0
  378. package/docs/platforms/mac/webchat.md +54 -0
  379. package/docs/platforms/mac/xpc.md +66 -0
  380. package/docs/platforms/macos.md +226 -0
  381. package/docs/platforms/oracle.md +12 -0
  382. package/docs/platforms/raspberry-pi.md +13 -0
  383. package/docs/platforms/windows.md +286 -0
  384. package/docs/plugins/adding-capabilities.md +133 -0
  385. package/docs/plugins/admin-http-rpc.md +216 -0
  386. package/docs/plugins/agent-tools.md +13 -0
  387. package/docs/plugins/architecture-internals.md +1195 -0
  388. package/docs/plugins/architecture.md +481 -0
  389. package/docs/plugins/building-extensions.md +13 -0
  390. package/docs/plugins/building-plugins.md +330 -0
  391. package/docs/plugins/bundles.md +310 -0
  392. package/docs/plugins/cli-backend-plugins.md +310 -0
  393. package/docs/plugins/codex-computer-use.md +293 -0
  394. package/docs/plugins/codex-harness-reference.md +409 -0
  395. package/docs/plugins/codex-harness-runtime.md +247 -0
  396. package/docs/plugins/codex-harness.md +746 -0
  397. package/docs/plugins/codex-native-plugins.md +276 -0
  398. package/docs/plugins/community.md +77 -0
  399. package/docs/plugins/compatibility.md +164 -0
  400. package/docs/plugins/dependency-resolution.md +143 -0
  401. package/docs/plugins/google-meet.md +1737 -0
  402. package/docs/plugins/hooks.md +459 -0
  403. package/docs/plugins/install-overrides.md +80 -0
  404. package/docs/plugins/manage-plugins.md +210 -0
  405. package/docs/plugins/manifest.md +1359 -0
  406. package/docs/plugins/memory-lancedb.md +385 -0
  407. package/docs/plugins/memory-wiki.md +529 -0
  408. package/docs/plugins/message-presentation.md +473 -0
  409. package/docs/plugins/oc-path.md +166 -0
  410. package/docs/plugins/plugin-inventory.md +182 -0
  411. package/docs/plugins/reference/acpx.md +23 -0
  412. package/docs/plugins/reference/admin-http-rpc.md +23 -0
  413. package/docs/plugins/reference/alibaba.md +23 -0
  414. package/docs/plugins/reference/amazon-bedrock-mantle.md +23 -0
  415. package/docs/plugins/reference/amazon-bedrock.md +23 -0
  416. package/docs/plugins/reference/anthropic-vertex.md +19 -0
  417. package/docs/plugins/reference/anthropic.md +23 -0
  418. package/docs/plugins/reference/arcee.md +23 -0
  419. package/docs/plugins/reference/azure-speech.md +23 -0
  420. package/docs/plugins/reference/bonjour.md +19 -0
  421. package/docs/plugins/reference/brave.md +23 -0
  422. package/docs/plugins/reference/browser.md +23 -0
  423. package/docs/plugins/reference/byteplus.md +19 -0
  424. package/docs/plugins/reference/canvas.md +19 -0
  425. package/docs/plugins/reference/cerebras.md +23 -0
  426. package/docs/plugins/reference/chutes.md +23 -0
  427. package/docs/plugins/reference/clickclack.md +23 -0
  428. package/docs/plugins/reference/cloudflare-ai-gateway.md +23 -0
  429. package/docs/plugins/reference/codex.md +23 -0
  430. package/docs/plugins/reference/comfy.md +23 -0
  431. package/docs/plugins/reference/copilot-proxy.md +19 -0
  432. package/docs/plugins/reference/deepgram.md +23 -0
  433. package/docs/plugins/reference/deepinfra.md +23 -0
  434. package/docs/plugins/reference/deepseek.md +23 -0
  435. package/docs/plugins/reference/diagnostics-otel.md +19 -0
  436. package/docs/plugins/reference/diagnostics-prometheus.md +19 -0
  437. package/docs/plugins/reference/diffs.md +19 -0
  438. package/docs/plugins/reference/discord.md +23 -0
  439. package/docs/plugins/reference/document-extract.md +23 -0
  440. package/docs/plugins/reference/duckduckgo.md +23 -0
  441. package/docs/plugins/reference/elevenlabs.md +23 -0
  442. package/docs/plugins/reference/exa.md +23 -0
  443. package/docs/plugins/reference/fal.md +23 -0
  444. package/docs/plugins/reference/feishu.md +23 -0
  445. package/docs/plugins/reference/file-transfer.md +19 -0
  446. package/docs/plugins/reference/firecrawl.md +23 -0
  447. package/docs/plugins/reference/fireworks.md +23 -0
  448. package/docs/plugins/reference/github-copilot.md +23 -0
  449. package/docs/plugins/reference/google-meet.md +23 -0
  450. package/docs/plugins/reference/google.md +23 -0
  451. package/docs/plugins/reference/googlechat.md +23 -0
  452. package/docs/plugins/reference/gradium.md +23 -0
  453. package/docs/plugins/reference/groq.md +23 -0
  454. package/docs/plugins/reference/huggingface.md +23 -0
  455. package/docs/plugins/reference/imessage.md +23 -0
  456. package/docs/plugins/reference/inworld.md +23 -0
  457. package/docs/plugins/reference/irc.md +23 -0
  458. package/docs/plugins/reference/kilocode.md +23 -0
  459. package/docs/plugins/reference/kimi.md +23 -0
  460. package/docs/plugins/reference/line.md +23 -0
  461. package/docs/plugins/reference/litellm.md +23 -0
  462. package/docs/plugins/reference/llm-task.md +19 -0
  463. package/docs/plugins/reference/lmstudio.md +23 -0
  464. package/docs/plugins/reference/lobster.md +19 -0
  465. package/docs/plugins/reference/matrix.md +23 -0
  466. package/docs/plugins/reference/mattermost.md +23 -0
  467. package/docs/plugins/reference/memory-core.md +19 -0
  468. package/docs/plugins/reference/memory-lancedb.md +23 -0
  469. package/docs/plugins/reference/memory-wiki.md +23 -0
  470. package/docs/plugins/reference/microsoft-foundry.md +19 -0
  471. package/docs/plugins/reference/microsoft.md +19 -0
  472. package/docs/plugins/reference/migrate-claude.md +19 -0
  473. package/docs/plugins/reference/migrate-hermes.md +19 -0
  474. package/docs/plugins/reference/minimax.md +23 -0
  475. package/docs/plugins/reference/mistral.md +23 -0
  476. package/docs/plugins/reference/moonshot.md +23 -0
  477. package/docs/plugins/reference/msteams.md +23 -0
  478. package/docs/plugins/reference/nextcloud-talk.md +23 -0
  479. package/docs/plugins/reference/nostr.md +23 -0
  480. package/docs/plugins/reference/nvidia.md +23 -0
  481. package/docs/plugins/reference/oc-path.md +23 -0
  482. package/docs/plugins/reference/ollama.md +23 -0
  483. package/docs/plugins/reference/open-prose.md +19 -0
  484. package/docs/plugins/reference/openai.md +23 -0
  485. package/docs/plugins/reference/opencode-go.md +23 -0
  486. package/docs/plugins/reference/opencode.md +23 -0
  487. package/docs/plugins/reference/openrouter.md +23 -0
  488. package/docs/plugins/reference/openshell.md +19 -0
  489. package/docs/plugins/reference/perplexity.md +23 -0
  490. package/docs/plugins/reference/policy.md +23 -0
  491. package/docs/plugins/reference/qa-channel.md +23 -0
  492. package/docs/plugins/reference/qa-lab.md +19 -0
  493. package/docs/plugins/reference/qa-matrix.md +19 -0
  494. package/docs/plugins/reference/qianfan.md +23 -0
  495. package/docs/plugins/reference/qqbot.md +23 -0
  496. package/docs/plugins/reference/qwen.md +23 -0
  497. package/docs/plugins/reference/runway.md +23 -0
  498. package/docs/plugins/reference/searxng.md +19 -0
  499. package/docs/plugins/reference/senseaudio.md +23 -0
  500. package/docs/plugins/reference/sglang.md +23 -0
  501. package/docs/plugins/reference/signal.md +23 -0
  502. package/docs/plugins/reference/skill-workshop.md +23 -0
  503. package/docs/plugins/reference/slack.md +23 -0
  504. package/docs/plugins/reference/stepfun.md +23 -0
  505. package/docs/plugins/reference/synology-chat.md +23 -0
  506. package/docs/plugins/reference/synthetic.md +23 -0
  507. package/docs/plugins/reference/tavily.md +23 -0
  508. package/docs/plugins/reference/telegram.md +23 -0
  509. package/docs/plugins/reference/tencent.md +23 -0
  510. package/docs/plugins/reference/tlon.md +23 -0
  511. package/docs/plugins/reference/together.md +23 -0
  512. package/docs/plugins/reference/tokenjuice.md +23 -0
  513. package/docs/plugins/reference/tts-local-cli.md +19 -0
  514. package/docs/plugins/reference/twitch.md +23 -0
  515. package/docs/plugins/reference/venice.md +23 -0
  516. package/docs/plugins/reference/vercel-ai-gateway.md +23 -0
  517. package/docs/plugins/reference/vllm.md +23 -0
  518. package/docs/plugins/reference/voice-call.md +23 -0
  519. package/docs/plugins/reference/volcengine.md +23 -0
  520. package/docs/plugins/reference/voyage.md +19 -0
  521. package/docs/plugins/reference/vydra.md +23 -0
  522. package/docs/plugins/reference/web-readability.md +19 -0
  523. package/docs/plugins/reference/webhooks.md +23 -0
  524. package/docs/plugins/reference/whatsapp.md +23 -0
  525. package/docs/plugins/reference/xai.md +23 -0
  526. package/docs/plugins/reference/xiaomi.md +23 -0
  527. package/docs/plugins/reference/zai.md +23 -0
  528. package/docs/plugins/reference/zalo.md +23 -0
  529. package/docs/plugins/reference/zalouser.md +24 -0
  530. package/docs/plugins/reference.md +138 -0
  531. package/docs/plugins/sdk-agent-harness.md +339 -0
  532. package/docs/plugins/sdk-channel-ingress.md +137 -0
  533. package/docs/plugins/sdk-channel-message.md +458 -0
  534. package/docs/plugins/sdk-channel-plugins.md +762 -0
  535. package/docs/plugins/sdk-channel-turn.md +580 -0
  536. package/docs/plugins/sdk-entrypoints.md +333 -0
  537. package/docs/plugins/sdk-migration.md +949 -0
  538. package/docs/plugins/sdk-overview.md +501 -0
  539. package/docs/plugins/sdk-provider-plugins.md +807 -0
  540. package/docs/plugins/sdk-runtime.md +676 -0
  541. package/docs/plugins/sdk-setup.md +550 -0
  542. package/docs/plugins/sdk-subpaths.md +396 -0
  543. package/docs/plugins/sdk-testing.md +401 -0
  544. package/docs/plugins/skill-workshop.md +713 -0
  545. package/docs/plugins/tool-plugins.md +411 -0
  546. package/docs/plugins/voice-call.md +943 -0
  547. package/docs/plugins/webhooks.md +192 -0
  548. package/docs/plugins/zalouser.md +86 -0
  549. package/docs/prose.md +137 -0
  550. package/docs/providers/alibaba.md +158 -0
  551. package/docs/providers/anthropic.md +344 -0
  552. package/docs/providers/arcee.md +144 -0
  553. package/docs/providers/azure-speech.md +119 -0
  554. package/docs/providers/bedrock-mantle.md +211 -0
  555. package/docs/providers/bedrock.md +414 -0
  556. package/docs/providers/cerebras.md +130 -0
  557. package/docs/providers/chutes.md +153 -0
  558. package/docs/providers/claude-max-api-proxy.md +188 -0
  559. package/docs/providers/cloudflare-ai-gateway.md +119 -0
  560. package/docs/providers/comfy.md +362 -0
  561. package/docs/providers/deepgram.md +184 -0
  562. package/docs/providers/deepinfra.md +87 -0
  563. package/docs/providers/deepseek.md +146 -0
  564. package/docs/providers/ds4.md +309 -0
  565. package/docs/providers/elevenlabs.md +130 -0
  566. package/docs/providers/fal.md +204 -0
  567. package/docs/providers/fireworks.md +144 -0
  568. package/docs/providers/github-copilot.md +225 -0
  569. package/docs/providers/glm.md +137 -0
  570. package/docs/providers/google.md +472 -0
  571. package/docs/providers/gradium.md +123 -0
  572. package/docs/providers/groq.md +180 -0
  573. package/docs/providers/huggingface.md +235 -0
  574. package/docs/providers/index.md +102 -0
  575. package/docs/providers/inferrs.md +272 -0
  576. package/docs/providers/inworld.md +120 -0
  577. package/docs/providers/kilocode.md +135 -0
  578. package/docs/providers/litellm.md +234 -0
  579. package/docs/providers/lmstudio.md +224 -0
  580. package/docs/providers/minimax.md +505 -0
  581. package/docs/providers/mistral.md +235 -0
  582. package/docs/providers/models.md +65 -0
  583. package/docs/providers/moonshot.md +413 -0
  584. package/docs/providers/nvidia.md +140 -0
  585. package/docs/providers/ollama.md +1180 -0
  586. package/docs/providers/openai.md +1057 -0
  587. package/docs/providers/opencode-go.md +123 -0
  588. package/docs/providers/opencode.md +149 -0
  589. package/docs/providers/openrouter.md +349 -0
  590. package/docs/providers/perplexity-provider.md +123 -0
  591. package/docs/providers/qianfan.md +132 -0
  592. package/docs/providers/qwen.md +332 -0
  593. package/docs/providers/runway.md +103 -0
  594. package/docs/providers/senseaudio.md +68 -0
  595. package/docs/providers/sglang.md +161 -0
  596. package/docs/providers/stepfun.md +229 -0
  597. package/docs/providers/synthetic.md +154 -0
  598. package/docs/providers/tencent.md +130 -0
  599. package/docs/providers/together.md +141 -0
  600. package/docs/providers/venice.md +315 -0
  601. package/docs/providers/vercel-ai-gateway.md +128 -0
  602. package/docs/providers/vllm.md +383 -0
  603. package/docs/providers/volcengine.md +199 -0
  604. package/docs/providers/vydra.md +180 -0
  605. package/docs/providers/xai.md +560 -0
  606. package/docs/providers/xiaomi.md +188 -0
  607. package/docs/providers/zai.md +203 -0
  608. package/docs/refactor/access.md +9 -0
  609. package/docs/refactor/acp.md +298 -0
  610. package/docs/refactor/canvas.md +131 -0
  611. package/docs/refactor/ingress-core.md +341 -0
  612. package/docs/reference/AGENTS.default.md +129 -0
  613. package/docs/reference/RELEASING.md +767 -0
  614. package/docs/reference/api-usage-costs.md +202 -0
  615. package/docs/reference/application-modernization-plan.md +208 -0
  616. package/docs/reference/code-mode.md +757 -0
  617. package/docs/reference/credits.md +33 -0
  618. package/docs/reference/device-models.md +50 -0
  619. package/docs/reference/full-release-validation.md +202 -0
  620. package/docs/reference/memory-config.md +630 -0
  621. package/docs/reference/openclaw-sdk-api-design.md +390 -0
  622. package/docs/reference/prompt-caching.md +358 -0
  623. package/docs/reference/rich-output-protocol.md +79 -0
  624. package/docs/reference/rpc.md +43 -0
  625. package/docs/reference/secretref-credential-surface.md +159 -0
  626. package/docs/reference/secretref-user-supplied-credentials-matrix.json +663 -0
  627. package/docs/reference/session-management-compaction.md +461 -0
  628. package/docs/reference/templates/AGENTS.dev.md +89 -0
  629. package/docs/reference/templates/AGENTS.md +225 -0
  630. package/docs/reference/templates/BOOT.md +16 -0
  631. package/docs/reference/templates/BOOTSTRAP.md +66 -0
  632. package/docs/reference/templates/HEARTBEAT.md +16 -0
  633. package/docs/reference/templates/IDENTITY.dev.md +52 -0
  634. package/docs/reference/templates/IDENTITY.md +34 -0
  635. package/docs/reference/templates/SOUL.dev.md +82 -0
  636. package/docs/reference/templates/SOUL.md +49 -0
  637. package/docs/reference/templates/TOOLS.dev.md +29 -0
  638. package/docs/reference/templates/TOOLS.md +51 -0
  639. package/docs/reference/templates/USER.dev.md +23 -0
  640. package/docs/reference/templates/USER.md +28 -0
  641. package/docs/reference/test.md +239 -0
  642. package/docs/reference/token-use.md +233 -0
  643. package/docs/reference/transcript-hygiene.md +214 -0
  644. package/docs/reference/wizard.md +252 -0
  645. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +101 -0
  646. package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
  647. package/docs/security/formal-verification.md +170 -0
  648. package/docs/security/incident-response.md +59 -0
  649. package/docs/security/network-proxy.md +268 -0
  650. package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +12 -0
  651. package/docs/snippets/plugin-publish/minimal-package.json +16 -0
  652. package/docs/start/bootstrapping.md +49 -0
  653. package/docs/start/docs-directory.md +69 -0
  654. package/docs/start/getting-started.md +152 -0
  655. package/docs/start/hubs.md +201 -0
  656. package/docs/start/lore.md +223 -0
  657. package/docs/start/onboarding-overview.md +72 -0
  658. package/docs/start/onboarding.md +95 -0
  659. package/docs/start/openclaw.md +244 -0
  660. package/docs/start/quickstart.md +25 -0
  661. package/docs/start/setup.md +178 -0
  662. package/docs/start/showcase.md +383 -0
  663. package/docs/start/wizard-cli-automation.md +232 -0
  664. package/docs/start/wizard-cli-reference.md +331 -0
  665. package/docs/start/wizard.md +141 -0
  666. package/docs/style.css +184 -0
  667. package/docs/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +316 -0
  668. package/docs/tools/acp-agents-setup.md +352 -0
  669. package/docs/tools/acp-agents.md +847 -0
  670. package/docs/tools/agent-send.md +112 -0
  671. package/docs/tools/apply-patch.md +64 -0
  672. package/docs/tools/brave-search.md +139 -0
  673. package/docs/tools/browser-control.md +391 -0
  674. package/docs/tools/browser-linux-troubleshooting.md +173 -0
  675. package/docs/tools/browser-login.md +77 -0
  676. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +219 -0
  677. package/docs/tools/browser.md +769 -0
  678. package/docs/tools/btw.md +159 -0
  679. package/docs/tools/capability-cookbook.md +12 -0
  680. package/docs/tools/clawhub.md +5 -0
  681. package/docs/tools/code-execution.md +173 -0
  682. package/docs/tools/creating-skills.md +120 -0
  683. package/docs/tools/diffs.md +506 -0
  684. package/docs/tools/duckduckgo-search.md +109 -0
  685. package/docs/tools/elevated.md +128 -0
  686. package/docs/tools/exa-search.md +152 -0
  687. package/docs/tools/exec-approvals-advanced.md +360 -0
  688. package/docs/tools/exec-approvals.md +474 -0
  689. package/docs/tools/exec.md +282 -0
  690. package/docs/tools/firecrawl.md +155 -0
  691. package/docs/tools/gemini-search.md +114 -0
  692. package/docs/tools/grok-search.md +113 -0
  693. package/docs/tools/image-generation.md +433 -0
  694. package/docs/tools/index.md +178 -0
  695. package/docs/tools/kimi-search.md +105 -0
  696. package/docs/tools/llm-task.md +137 -0
  697. package/docs/tools/lobster.md +365 -0
  698. package/docs/tools/loop-detection.md +154 -0
  699. package/docs/tools/media-overview.md +157 -0
  700. package/docs/tools/minimax-search.md +102 -0
  701. package/docs/tools/multi-agent-sandbox-tools.md +409 -0
  702. package/docs/tools/music-generation.md +371 -0
  703. package/docs/tools/ollama-search.md +153 -0
  704. package/docs/tools/pdf.md +195 -0
  705. package/docs/tools/perplexity-search.md +220 -0
  706. package/docs/tools/plugin.md +327 -0
  707. package/docs/tools/reactions.md +100 -0
  708. package/docs/tools/searxng-search.md +141 -0
  709. package/docs/tools/skills-config.md +195 -0
  710. package/docs/tools/skills.md +535 -0
  711. package/docs/tools/slash-commands.md +488 -0
  712. package/docs/tools/steer.md +84 -0
  713. package/docs/tools/subagents.md +650 -0
  714. package/docs/tools/tavily.md +162 -0
  715. package/docs/tools/thinking.md +140 -0
  716. package/docs/tools/tokenjuice.md +81 -0
  717. package/docs/tools/tool-search.md +269 -0
  718. package/docs/tools/trajectory.md +229 -0
  719. package/docs/tools/tts.md +1004 -0
  720. package/docs/tools/video-generation.md +552 -0
  721. package/docs/tools/web-fetch.md +195 -0
  722. package/docs/tools/web.md +459 -0
  723. package/docs/tts.md +11 -0
  724. package/docs/vps.md +139 -0
  725. package/docs/web/control-ui.md +503 -0
  726. package/docs/web/dashboard.md +107 -0
  727. package/docs/web/index.md +133 -0
  728. package/docs/web/tui.md +246 -0
  729. package/docs/web/webchat.md +99 -0
  730. package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
  731. package/docs/whatsapp-openclaw.jpg +0 -0
  732. package/nodmix.mjs +487 -0
  733. package/package.json +1852 -0
  734. package/patches/.gitkeep +0 -0
  735. package/patches/@agentclientprotocol__claude-agent-acp@0.36.1.patch +41 -0
  736. package/pnpm-workspace.yaml +63 -0
  737. package/scripts/crabbox-wrapper.mjs +353 -0
  738. package/scripts/lib/official-external-channel-catalog.json +559 -0
  739. package/scripts/lib/official-external-plugin-catalog.json +192 -0
  740. package/scripts/lib/official-external-provider-catalog.json +117 -0
  741. package/scripts/lib/package-dist-imports.mjs +171 -0
  742. package/scripts/npm-runner.mjs +91 -0
  743. package/scripts/postinstall-bundled-plugins.mjs +978 -0
  744. package/scripts/preinstall-package-manager-warning.mjs +64 -0
  745. package/scripts/windows-cmd-helpers.mjs +20 -0
  746. package/skills/1password/SKILL.md +70 -0
  747. package/skills/1password/references/cli-examples.md +29 -0
  748. package/skills/1password/references/get-started.md +17 -0
  749. package/skills/apple-notes/SKILL.md +77 -0
  750. package/skills/apple-reminders/SKILL.md +118 -0
  751. package/skills/bear-notes/SKILL.md +107 -0
  752. package/skills/blogwatcher/SKILL.md +69 -0
  753. package/skills/blucli/SKILL.md +47 -0
  754. package/skills/camsnap/SKILL.md +45 -0
  755. package/skills/canvas/SKILL.md +78 -0
  756. package/skills/clawhub/SKILL.md +77 -0
  757. package/skills/coding-agent/SKILL.md +149 -0
  758. package/skills/diagram-maker/SKILL.md +53 -0
  759. package/skills/diagram-maker/references/excalidraw-patterns.md +85 -0
  760. package/skills/diagram-maker/references/svg-template.md +112 -0
  761. package/skills/discord/SKILL.md +136 -0
  762. package/skills/eightctl/SKILL.md +50 -0
  763. package/skills/gemini/SKILL.md +47 -0
  764. package/skills/gh-issues/SKILL.md +213 -0
  765. package/skills/gifgrep/SKILL.md +85 -0
  766. package/skills/github/SKILL.md +84 -0
  767. package/skills/gog/SKILL.md +116 -0
  768. package/skills/goplaces/SKILL.md +52 -0
  769. package/skills/healthcheck/SKILL.md +105 -0
  770. package/skills/himalaya/SKILL.md +80 -0
  771. package/skills/himalaya/references/configuration.md +184 -0
  772. package/skills/himalaya/references/message-composition.md +199 -0
  773. package/skills/imsg/SKILL.md +122 -0
  774. package/skills/mcporter/SKILL.md +61 -0
  775. package/skills/meme-maker/SKILL.md +42 -0
  776. package/skills/meme-maker/references/templates.json +358 -0
  777. package/skills/meme-maker/scripts/meme.mjs +398 -0
  778. package/skills/model-usage/SKILL.md +69 -0
  779. package/skills/model-usage/references/codexbar-cli.md +33 -0
  780. package/skills/model-usage/scripts/model_usage.py +319 -0
  781. package/skills/model-usage/scripts/test_model_usage.py +40 -0
  782. package/skills/nano-pdf/SKILL.md +38 -0
  783. package/skills/node-connect/SKILL.md +142 -0
  784. package/skills/node-inspect-debugger/SKILL.md +85 -0
  785. package/skills/notion/SKILL.md +150 -0
  786. package/skills/obsidian/SKILL.md +119 -0
  787. package/skills/openai-whisper/SKILL.md +38 -0
  788. package/skills/openai-whisper-api/SKILL.md +71 -0
  789. package/skills/openai-whisper-api/scripts/transcribe.sh +154 -0
  790. package/skills/openhue/SKILL.md +112 -0
  791. package/skills/oracle/SKILL.md +126 -0
  792. package/skills/ordercli/SKILL.md +78 -0
  793. package/skills/peekaboo/SKILL.md +190 -0
  794. package/skills/pyproject.toml +10 -0
  795. package/skills/python-debugpy/SKILL.md +73 -0
  796. package/skills/sag/SKILL.md +87 -0
  797. package/skills/session-logs/SKILL.md +151 -0
  798. package/skills/sherpa-onnx-tts/SKILL.md +109 -0
  799. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  800. package/skills/skill-creator/SKILL.md +78 -0
  801. package/skills/skill-creator/license.txt +202 -0
  802. package/skills/skill-creator/scripts/init_skill.py +378 -0
  803. package/skills/skill-creator/scripts/package_skill.py +139 -0
  804. package/skills/skill-creator/scripts/quick_validate.py +169 -0
  805. package/skills/skill-creator/scripts/test_package_skill.py +161 -0
  806. package/skills/skill-creator/scripts/test_quick_validate.py +116 -0
  807. package/skills/slack/SKILL.md +78 -0
  808. package/skills/songsee/SKILL.md +49 -0
  809. package/skills/sonoscli/SKILL.md +65 -0
  810. package/skills/spike/SKILL.md +51 -0
  811. package/skills/spotify-player/SKILL.md +64 -0
  812. package/skills/summarize/SKILL.md +87 -0
  813. package/skills/taskflow/SKILL.md +149 -0
  814. package/skills/taskflow/examples/inbox-triage.lobster +33 -0
  815. package/skills/taskflow/examples/pr-intake.lobster +32 -0
  816. package/skills/taskflow-inbox-triage/SKILL.md +119 -0
  817. package/skills/things-mac/SKILL.md +86 -0
  818. package/skills/tmux/SKILL.md +91 -0
  819. package/skills/tmux/scripts/find-sessions.sh +112 -0
  820. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  821. package/skills/trello/SKILL.md +108 -0
  822. package/skills/video-frames/SKILL.md +46 -0
  823. package/skills/video-frames/scripts/frame.sh +81 -0
  824. package/skills/voice-call/SKILL.md +45 -0
  825. package/skills/wacli/SKILL.md +72 -0
  826. package/skills/weather/SKILL.md +64 -0
  827. package/skills/xurl/SKILL.md +120 -0
@@ -0,0 +1,1057 @@
1
+ ---
2
+ summary: "Use OpenAI via API keys or Codex subscription in Nodmix"
3
+ read_when:
4
+ - You want to use OpenAI models in Nodmix
5
+ - You want Codex subscription auth instead of API keys
6
+ - You need stricter GPT-5 agent execution behavior
7
+ title: "OpenAI"
8
+ ---
9
+
10
+ OpenAI provides developer APIs for GPT models, and Codex is also available as a
11
+ ChatGPT-plan coding agent through OpenAI's Codex clients. Nodmix keeps those
12
+ surfaces separate so config stays predictable.
13
+
14
+ Nodmix uses `openai/*` as the canonical OpenAI model route. Embedded agent
15
+ turns on OpenAI models run through the native Codex app-server runtime by
16
+ default; direct OpenAI API-key auth remains available for non-agent OpenAI
17
+ surfaces such as images, embeddings, speech, and realtime.
18
+
19
+ - **Agent models** - `openai/*` models through the Codex runtime; sign in with
20
+ Codex auth for ChatGPT/Codex subscription use, or configure a Codex-compatible
21
+ OpenAI API-key backup when you intentionally want API-key auth.
22
+ - **Non-agent OpenAI APIs** - direct OpenAI Platform access with usage-based
23
+ billing through `OPENAI_API_KEY` or OpenAI API-key onboarding.
24
+ - **Legacy config** - `openai-codex/*` model refs are repaired by
25
+ `nodmix doctor --fix` to `openai/*` plus the Codex runtime.
26
+
27
+ OpenAI explicitly supports subscription OAuth usage in external tools and workflows like Nodmix.
28
+
29
+ Provider, model, runtime, and channel are separate layers. If those labels are
30
+ getting mixed together, read [Agent runtimes](/concepts/agent-runtimes) before
31
+ changing config.
32
+
33
+ ## Quick choice
34
+
35
+ | Goal | Use | Notes |
36
+ | ---------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------- |
37
+ | ChatGPT/Codex subscription with native Codex runtime | `openai/gpt-5.5` | Default OpenAI agent setup. Sign in with Codex auth. |
38
+ | Direct API-key billing for agent models | `openai/gpt-5.5` plus a Codex-compatible API-key profile | Use `auth.order.openai` to place the backup after subscription auth. |
39
+ | Direct API-key billing through explicit PI | `openai/gpt-5.5` plus provider/model runtime `pi` | Select a normal `openai` API-key profile. |
40
+ | Latest ChatGPT Instant API alias | `openai/chat-latest` | Direct API-key only. Moving alias for experiments, not the default. |
41
+ | ChatGPT/Codex subscription auth through explicit PI | `openai/gpt-5.5` plus provider/model runtime `pi` | Select an `openai-codex` auth profile for the compatibility route. |
42
+ | Image generation or editing | `openai/gpt-image-2` | Works with either `OPENAI_API_KEY` or OpenAI Codex OAuth. |
43
+ | Transparent-background images | `openai/gpt-image-1.5` | Use `outputFormat=png` or `webp` and `openai.background=transparent`. |
44
+
45
+ ## Naming map
46
+
47
+ The names are similar but not interchangeable:
48
+
49
+ | Name you see | Layer | Meaning |
50
+ | --------------------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------- |
51
+ | `openai` | Provider prefix | Canonical OpenAI model route; agent turns use the Codex runtime. |
52
+ | `openai-codex` | Legacy auth/profile prefix | Older OpenAI Codex OAuth/subscription profile namespace. Existing profiles and `auth.order.openai-codex` still work. |
53
+ | `codex` plugin | Plugin | Bundled Nodmix plugin that provides native Codex app-server runtime and `/codex` chat controls. |
54
+ | provider/model `agentRuntime.id: codex` | Agent runtime | Force the native Codex app-server harness for matching embedded turns. |
55
+ | `/codex ...` | Chat command set | Bind/control Codex app-server threads from a conversation. |
56
+ | `runtime: "acp", agentId: "codex"` | ACP session route | Explicit fallback path that runs Codex through ACP/acpx. |
57
+
58
+ This means a config can intentionally contain `openai/*` model refs while auth
59
+ profiles still point at Codex-compatible credentials. Prefer `auth.order.openai`
60
+ for new config; existing `openai-codex:*` profiles and `auth.order.openai-codex`
61
+ remain supported. `nodmix doctor --fix` rewrites legacy `openai-codex/*` model
62
+ refs to the canonical OpenAI model route.
63
+
64
+ <Note>
65
+ GPT-5.5 is available through both direct OpenAI Platform API-key access and
66
+ subscription/OAuth routes. For ChatGPT/Codex subscription plus native Codex
67
+ execution, use `openai/gpt-5.5`; unset runtime config now selects the Codex
68
+ harness for OpenAI agent turns. Use OpenAI API-key profiles only when you want
69
+ direct API-key auth for an OpenAI agent model.
70
+ </Note>
71
+
72
+ <Note>
73
+ OpenAI agent model turns require the bundled Codex app-server plugin. Explicit
74
+ PI runtime config remains available as an opt-in compatibility route. When PI is
75
+ explicitly selected with an `openai-codex` auth profile, Nodmix keeps the
76
+ public model ref as `openai/*` and routes PI internally through the legacy
77
+ Codex-auth transport. Run `nodmix doctor --fix` to repair stale
78
+ `openai-codex/*`, `codex-cli/*`, or old PI session pins that do not come from
79
+ explicit runtime config.
80
+ </Note>
81
+
82
+ ## Nodmix feature coverage
83
+
84
+ | OpenAI capability | Nodmix surface | Status |
85
+ | ------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ |
86
+ | Chat / Responses | `openai/<model>` model provider | Yes |
87
+ | Codex subscription models | `openai/<model>` with `openai-codex` OAuth | Yes |
88
+ | Legacy Codex model refs | `openai-codex/<model>` or `codex-cli/<model>` | Repaired by doctor to `openai/<model>` |
89
+ | Codex app-server harness | `openai/<model>` with omitted runtime or provider/model `agentRuntime.id: codex` | Yes |
90
+ | Server-side web search | Native OpenAI Responses tool | Yes, when web search is enabled and no provider pinned |
91
+ | Images | `image_generate` | Yes |
92
+ | Videos | `video_generate` | Yes |
93
+ | Text-to-speech | `messages.tts.provider: "openai"` / `tts` | Yes |
94
+ | Batch speech-to-text | `tools.media.audio` / media understanding | Yes |
95
+ | Streaming speech-to-text | Voice Call `streaming.provider: "openai"` | Yes |
96
+ | Realtime voice | Voice Call `realtime.provider: "openai"` / Control UI Talk | Yes |
97
+ | Embeddings | memory embedding provider | Yes |
98
+
99
+ ## Memory embeddings
100
+
101
+ Nodmix can use OpenAI, or an OpenAI-compatible embedding endpoint, for
102
+ `memory_search` indexing and query embeddings:
103
+
104
+ ```json5
105
+ {
106
+ agents: {
107
+ defaults: {
108
+ memorySearch: {
109
+ provider: "openai",
110
+ model: "text-embedding-3-small",
111
+ },
112
+ },
113
+ },
114
+ }
115
+ ```
116
+
117
+ For OpenAI-compatible endpoints that require asymmetric embedding labels, set
118
+ `queryInputType` and `documentInputType` under `memorySearch`. Nodmix forwards
119
+ those as provider-specific `input_type` request fields: query embeddings use
120
+ `queryInputType`; indexed memory chunks and batch indexing use
121
+ `documentInputType`. See the [Memory configuration reference](/reference/memory-config#provider-specific-config) for the full example.
122
+
123
+ ## Getting started
124
+
125
+ Choose your preferred auth method and follow the setup steps.
126
+
127
+ <Tabs>
128
+ <Tab title="API key (OpenAI Platform)">
129
+ **Best for:** direct API access and usage-based billing.
130
+
131
+ <Steps>
132
+ <Step title="Get your API key">
133
+ Create or copy an API key from the [OpenAI Platform dashboard](https://platform.openai.com/api-keys).
134
+ </Step>
135
+ <Step title="Run onboarding">
136
+ ```bash
137
+ nodmix onboard --auth-choice openai-api-key
138
+ ```
139
+
140
+ Or pass the key directly:
141
+
142
+ ```bash
143
+ nodmix onboard --openai-api-key "$OPENAI_API_KEY"
144
+ ```
145
+ </Step>
146
+ <Step title="Verify the model is available">
147
+ ```bash
148
+ nodmix models list --provider openai
149
+ ```
150
+ </Step>
151
+ </Steps>
152
+
153
+ ### Route summary
154
+
155
+ | Model ref | Runtime config | Route | Auth |
156
+ | ---------------------- | -------------------------- | --------------------------- | ---------------- |
157
+ | `openai/gpt-5.5` | omitted / provider/model `agentRuntime.id: "codex"` | Codex app-server harness | Codex-compatible OpenAI profile |
158
+ | `openai/gpt-5.4-mini` | omitted / provider/model `agentRuntime.id: "codex"` | Codex app-server harness | Codex-compatible OpenAI profile |
159
+ | `openai/gpt-5.5` | provider/model `agentRuntime.id: "pi"` | PI embedded runtime | `openai` profile or selected `openai-codex` profile |
160
+
161
+ <Note>
162
+ `openai/*` agent models use the Codex app-server harness. To use API-key
163
+ auth for an agent model, create a Codex-compatible API-key profile and order
164
+ it with `auth.order.openai`; `OPENAI_API_KEY` remains the direct fallback for
165
+ non-agent OpenAI API surfaces. Older `auth.order.openai-codex` entries still
166
+ work.
167
+ </Note>
168
+
169
+ ### Config example
170
+
171
+ ```json5
172
+ {
173
+ env: { OPENAI_API_KEY: "sk-..." },
174
+ agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },
175
+ }
176
+ ```
177
+
178
+ To try ChatGPT's current Instant model from the OpenAI API, set the model
179
+ to `openai/chat-latest`:
180
+
181
+ ```json5
182
+ {
183
+ env: { OPENAI_API_KEY: "sk-..." },
184
+ agents: { defaults: { model: { primary: "openai/chat-latest" } } },
185
+ }
186
+ ```
187
+
188
+ `chat-latest` is a moving alias. OpenAI documents it as the latest Instant
189
+ model used in ChatGPT and recommends `gpt-5.5` for production API usage, so
190
+ keep `openai/gpt-5.5` as the stable default unless you explicitly want that
191
+ alias behavior. The alias currently accepts only `medium` text verbosity, so
192
+ Nodmix normalizes incompatible OpenAI text-verbosity overrides for this
193
+ model.
194
+
195
+ <Warning>
196
+ Nodmix does **not** expose `openai/gpt-5.3-codex-spark`. Live OpenAI API requests reject that model, and the current Codex catalog does not expose it either.
197
+ </Warning>
198
+
199
+ </Tab>
200
+
201
+ <Tab title="Codex subscription">
202
+ **Best for:** using your ChatGPT/Codex subscription with native Codex app-server execution instead of a separate API key. Codex cloud requires ChatGPT sign-in.
203
+
204
+ <Steps>
205
+ <Step title="Run Codex OAuth">
206
+ ```bash
207
+ nodmix onboard --auth-choice openai-codex
208
+ ```
209
+
210
+ Or run OAuth directly:
211
+
212
+ ```bash
213
+ nodmix models auth login --provider openai-codex
214
+ ```
215
+
216
+ For headless or callback-hostile setups, add `--device-code` to sign in with a ChatGPT device-code flow instead of the localhost browser callback:
217
+
218
+ ```bash
219
+ nodmix models auth login --provider openai-codex --device-code
220
+ ```
221
+ </Step>
222
+ <Step title="Use the canonical OpenAI model route">
223
+ ```bash
224
+ nodmix config set agents.defaults.model.primary openai/gpt-5.5
225
+ ```
226
+
227
+ No runtime config is required for the default path. OpenAI agent turns
228
+ select the native Codex app-server runtime automatically, and Nodmix
229
+ installs or repairs the bundled Codex plugin when this route is chosen.
230
+ </Step>
231
+ <Step title="Verify Codex auth is available">
232
+ ```bash
233
+ nodmix models list --provider openai-codex
234
+ ```
235
+
236
+ After the gateway is running, send `/codex status` or `/codex models`
237
+ in chat to verify the native app-server runtime.
238
+ </Step>
239
+ </Steps>
240
+
241
+ ### Route summary
242
+
243
+ | Model ref | Runtime config | Route | Auth |
244
+ |-----------|----------------|-------|------|
245
+ | `openai/gpt-5.5` | omitted / provider/model `agentRuntime.id: "codex"` | Native Codex app-server harness | Codex sign-in or ordered `openai` auth profile |
246
+ | `openai/gpt-5.5` | provider/model `agentRuntime.id: "pi"` | PI embedded runtime with internal Codex-auth transport | Selected `openai-codex` profile |
247
+ | `openai-codex/gpt-5.5` | repaired by doctor | Legacy route rewritten to `openai/gpt-5.5` | Existing `openai-codex` profile |
248
+ | `codex-cli/gpt-5.5` | repaired by doctor | Legacy CLI route rewritten to `openai/gpt-5.5` | Codex app-server auth |
249
+
250
+ <Warning>
251
+ Prefer `openai/gpt-5.5` for new subscription-backed agent config. Older
252
+ `openai-codex/gpt-*` refs are legacy PI routes, not the native Codex runtime
253
+ path; run `nodmix doctor --fix` when you want to migrate them to canonical
254
+ `openai/*` refs.
255
+ </Warning>
256
+
257
+ <Note>
258
+ The `openai-codex/*` model prefix is legacy config repaired by doctor. For
259
+ the common subscription plus native runtime setup, sign in with Codex auth
260
+ but keep the model ref as `openai/gpt-5.5`. New config should put OpenAI
261
+ agent auth order under `auth.order.openai`; older `auth.order.openai-codex`
262
+ entries remain valid.
263
+ </Note>
264
+
265
+ ### Config example
266
+
267
+ ```json5
268
+ {
269
+ plugins: { entries: { codex: { enabled: true } } },
270
+ agents: {
271
+ defaults: {
272
+ model: { primary: "openai/gpt-5.5" },
273
+ },
274
+ },
275
+ }
276
+ ```
277
+
278
+ With an API-key backup, keep the model on `openai/gpt-5.5` and put the
279
+ auth order under `openai`. Nodmix will try the subscription first, then
280
+ the API key, while staying on the Codex harness:
281
+
282
+ ```json5
283
+ {
284
+ plugins: { entries: { codex: { enabled: true } } },
285
+ agents: {
286
+ defaults: {
287
+ model: { primary: "openai/gpt-5.5" },
288
+ },
289
+ },
290
+ auth: {
291
+ order: {
292
+ openai: [
293
+ "openai-codex:user@example.com",
294
+ "openai:api-key-backup",
295
+ ],
296
+ },
297
+ },
298
+ }
299
+ ```
300
+
301
+ <Note>
302
+ Onboarding no longer imports OAuth material from `~/.codex`. Sign in with browser OAuth (default) or the device-code flow above — Nodmix manages the resulting credentials in its own agent auth store.
303
+ </Note>
304
+
305
+ ### Check and recover Codex OAuth routing
306
+
307
+ Use these commands to see which model, runtime, and auth route your default
308
+ agent is using:
309
+
310
+ ```bash
311
+ nodmix models status
312
+ nodmix models auth list --provider openai-codex
313
+ nodmix config get agents.defaults.model --json
314
+ nodmix config get models.providers.openai.agentRuntime --json
315
+ ```
316
+
317
+ For a specific agent, add `--agent <id>`:
318
+
319
+ ```bash
320
+ nodmix models status --agent <id>
321
+ nodmix models auth list --agent <id> --provider openai-codex
322
+ ```
323
+
324
+ If an older config still has `openai-codex/gpt-*` or a stale OpenAI PI
325
+ session pin without explicit runtime config, repair it:
326
+
327
+ ```bash
328
+ nodmix doctor --fix
329
+ nodmix config validate
330
+ ```
331
+
332
+ If `models auth list --provider openai-codex` shows no usable profile, sign
333
+ in again:
334
+
335
+ ```bash
336
+ nodmix models auth login --provider openai-codex
337
+ nodmix models status --probe --probe-provider openai-codex
338
+ ```
339
+
340
+ `openai/*` is the model route for OpenAI agent turns through Codex. The
341
+ `openai-codex` auth/profile provider id remains accepted for existing
342
+ profiles and CLI listing.
343
+
344
+ ### Status indicator
345
+
346
+ Chat `/status` shows which model runtime is active for the current session.
347
+ The bundled Codex app-server harness appears as `Runtime: OpenAI Codex` for
348
+ OpenAI agent model turns. Stale PI session pins are repaired to Codex unless
349
+ config explicitly pins PI.
350
+
351
+ ### Doctor warning
352
+
353
+ If `openai-codex/*` routes or stale OpenAI PI pins remain in config or
354
+ session state, `nodmix doctor --fix` rewrites them to `openai/*` with the
355
+ Codex runtime unless PI is explicitly configured.
356
+
357
+ ### Context window cap
358
+
359
+ Nodmix treats model metadata and the runtime context cap as separate values.
360
+
361
+ For `openai/gpt-5.5` through the Codex OAuth catalog:
362
+
363
+ - Native `contextWindow`: `1000000`
364
+ - Default runtime `contextTokens` cap: `272000`
365
+
366
+ The smaller default cap has better latency and quality characteristics in practice. Override it with `contextTokens`:
367
+
368
+ ```json5
369
+ {
370
+ models: {
371
+ providers: {
372
+ "openai-codex": {
373
+ models: [{ id: "gpt-5.5", contextTokens: 160000 }],
374
+ },
375
+ },
376
+ },
377
+ }
378
+ ```
379
+
380
+ <Note>
381
+ Use `contextWindow` to declare native model metadata. Use `contextTokens` to limit the runtime context budget.
382
+ </Note>
383
+
384
+ ### Catalog recovery
385
+
386
+ Nodmix uses upstream Codex catalog metadata for `gpt-5.5` when it is
387
+ present. If live Codex discovery omits the `gpt-5.5` row while
388
+ the account is authenticated, Nodmix synthesizes that OAuth model row so
389
+ cron, sub-agent, and configured default-model runs do not fail with
390
+ `Unknown model`.
391
+
392
+ </Tab>
393
+ </Tabs>
394
+
395
+ ## Native Codex app-server auth
396
+
397
+ The native Codex app-server harness uses `openai/*` model refs plus omitted
398
+ runtime config or provider/model `agentRuntime.id: "codex"`, but its auth is
399
+ still account-based. Nodmix selects auth in this order:
400
+
401
+ 1. Ordered OpenAI auth profiles for the agent, preferably under
402
+ `auth.order.openai`. Existing `openai-codex:*` profiles and
403
+ `auth.order.openai-codex` remain valid for older installs.
404
+ 2. The app-server's existing account, such as a local Codex CLI ChatGPT sign-in.
405
+ 3. For local stdio app-server launches only, `CODEX_API_KEY`, then
406
+ `OPENAI_API_KEY`, when the app-server reports no account and still requires
407
+ OpenAI auth.
408
+
409
+ That means a local ChatGPT/Codex subscription sign-in is not replaced just
410
+ because the gateway process also has `OPENAI_API_KEY` for direct OpenAI models
411
+ or embeddings. Env API-key fallback is only the local stdio no-account path; it
412
+ is not sent to WebSocket app-server connections. When a subscription-style Codex
413
+ profile is selected, Nodmix also keeps `CODEX_API_KEY` and `OPENAI_API_KEY`
414
+ out of the spawned stdio app-server child and sends the selected credentials
415
+ through the app-server login RPC. When that subscription profile is blocked by a
416
+ Codex usage limit, Nodmix can rotate to the next ordered `openai:*` API-key
417
+ profile without changing the selected model or dropping out of the Codex
418
+ harness. Once the subscription reset time passes, the subscription profile is
419
+ eligible again.
420
+
421
+ ## Image generation
422
+
423
+ The bundled `openai` plugin registers image generation through the `image_generate` tool.
424
+ It supports both OpenAI API-key image generation and Codex OAuth image
425
+ generation through the same `openai/gpt-image-2` model ref.
426
+
427
+ | Capability | OpenAI API key | Codex OAuth |
428
+ | ------------------------- | ---------------------------------- | ------------------------------------ |
429
+ | Model ref | `openai/gpt-image-2` | `openai/gpt-image-2` |
430
+ | Auth | `OPENAI_API_KEY` | OpenAI Codex OAuth sign-in |
431
+ | Transport | OpenAI Images API | Codex Responses backend |
432
+ | Max images per request | 4 | 4 |
433
+ | Edit mode | Enabled (up to 5 reference images) | Enabled (up to 5 reference images) |
434
+ | Size overrides | Supported, including 2K/4K sizes | Supported, including 2K/4K sizes |
435
+ | Aspect ratio / resolution | Not forwarded to OpenAI Images API | Mapped to a supported size when safe |
436
+
437
+ ```json5
438
+ {
439
+ agents: {
440
+ defaults: {
441
+ imageGenerationModel: { primary: "openai/gpt-image-2" },
442
+ },
443
+ },
444
+ }
445
+ ```
446
+
447
+ <Note>
448
+ See [Image Generation](/tools/image-generation) for shared tool parameters, provider selection, and failover behavior.
449
+ </Note>
450
+
451
+ `gpt-image-2` is the default for both OpenAI text-to-image generation and image
452
+ editing. `gpt-image-1.5`, `gpt-image-1`, and `gpt-image-1-mini` remain usable as
453
+ explicit model overrides. Use `openai/gpt-image-1.5` for transparent-background
454
+ PNG/WebP output; the current `gpt-image-2` API rejects
455
+ `background: "transparent"`.
456
+
457
+ For a transparent-background request, agents should call `image_generate` with
458
+ `model: "openai/gpt-image-1.5"`, `outputFormat: "png"` or `"webp"`, and
459
+ `background: "transparent"`; the older `openai.background` provider option is
460
+ still accepted. Nodmix also protects the public OpenAI and
461
+ OpenAI Codex OAuth routes by rewriting default `openai/gpt-image-2` transparent
462
+ requests to `gpt-image-1.5`; Azure and custom OpenAI-compatible endpoints keep
463
+ their configured deployment/model names.
464
+
465
+ The same setting is exposed for headless CLI runs:
466
+
467
+ ```bash
468
+ nodmix infer image generate \
469
+ --model openai/gpt-image-1.5 \
470
+ --output-format png \
471
+ --background transparent \
472
+ --prompt "A simple red circle sticker on a transparent background" \
473
+ --json
474
+ ```
475
+
476
+ Use the same `--output-format` and `--background` flags with
477
+ `nodmix infer image edit` when starting from an input file.
478
+ `--openai-background` remains available as an OpenAI-specific alias.
479
+
480
+ For Codex OAuth installs, keep the same `openai/gpt-image-2` ref. When an
481
+ `openai-codex` OAuth profile is configured, Nodmix resolves that stored OAuth
482
+ access token and sends image requests through the Codex Responses backend. It
483
+ does not first try `OPENAI_API_KEY` or silently fall back to an API key for that
484
+ request. Configure `models.providers.openai` explicitly with an API key,
485
+ custom base URL, or Azure endpoint when you want the direct OpenAI Images API
486
+ route instead.
487
+ If that custom image endpoint is on a trusted LAN/private address, also set
488
+ `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork: true`; Nodmix keeps
489
+ private/internal OpenAI-compatible image endpoints blocked unless this opt-in is
490
+ present.
491
+
492
+ Generate:
493
+
494
+ ```
495
+ /tool image_generate model=openai/gpt-image-2 prompt="A polished launch poster for Nodmix on macOS" size=3840x2160 count=1
496
+ ```
497
+
498
+ Generate a transparent PNG:
499
+
500
+ ```
501
+ /tool image_generate model=openai/gpt-image-1.5 prompt="A simple red circle sticker on a transparent background" outputFormat=png background=transparent
502
+ ```
503
+
504
+ Edit:
505
+
506
+ ```
507
+ /tool image_generate model=openai/gpt-image-2 prompt="Preserve the object shape, change the material to translucent glass" image=/path/to/reference.png size=1024x1536
508
+ ```
509
+
510
+ ## Video generation
511
+
512
+ The bundled `openai` plugin registers video generation through the `video_generate` tool.
513
+
514
+ | Capability | Value |
515
+ | ---------------- | --------------------------------------------------------------------------------- |
516
+ | Default model | `openai/sora-2` |
517
+ | Modes | Text-to-video, image-to-video, single-video edit |
518
+ | Reference inputs | 1 image or 1 video |
519
+ | Size overrides | Supported |
520
+ | Other overrides | `aspectRatio`, `resolution`, `audio`, `watermark` are ignored with a tool warning |
521
+
522
+ ```json5
523
+ {
524
+ agents: {
525
+ defaults: {
526
+ videoGenerationModel: { primary: "openai/sora-2" },
527
+ },
528
+ },
529
+ }
530
+ ```
531
+
532
+ <Note>
533
+ See [Video Generation](/tools/video-generation) for shared tool parameters, provider selection, and failover behavior.
534
+ </Note>
535
+
536
+ ## GPT-5 prompt contribution
537
+
538
+ Nodmix adds a shared GPT-5 prompt contribution for GPT-5-family runs on Nodmix-assembled prompt surfaces. It applies by model id, so PI/provider routes such as legacy pre-repair refs (`openai-codex/gpt-5.5`), `openrouter/openai/gpt-5.5`, `opencode/gpt-5.5`, and other compatible GPT-5 refs receive the same overlay. Older GPT-4.x models do not.
539
+
540
+ The bundled native Codex harness does not receive this Nodmix GPT-5 overlay through Codex app-server developer instructions. Native Codex keeps Codex-owned base, model, personality, and project-doc behavior; Nodmix contributes only runtime context such as channel delivery, Nodmix dynamic tools, ACP delegation, workspace context, and Nodmix skills.
541
+
542
+ The GPT-5 contribution adds a tagged behavior contract for persona persistence, execution safety, tool discipline, output shape, completion checks, and verification on matching Nodmix-assembled prompts. Channel-specific reply and silent-message behavior stays in the shared Nodmix system prompt and outbound delivery policy. The friendly interaction-style layer is separate and configurable.
543
+
544
+ | Value | Effect |
545
+ | ---------------------- | ------------------------------------------- |
546
+ | `"friendly"` (default) | Enable the friendly interaction-style layer |
547
+ | `"on"` | Alias for `"friendly"` |
548
+ | `"off"` | Disable only the friendly style layer |
549
+
550
+ <Tabs>
551
+ <Tab title="Config">
552
+ ```json5
553
+ {
554
+ agents: {
555
+ defaults: {
556
+ promptOverlays: {
557
+ gpt5: { personality: "friendly" },
558
+ },
559
+ },
560
+ },
561
+ }
562
+ ```
563
+ </Tab>
564
+ <Tab title="CLI">
565
+ ```bash
566
+ nodmix config set agents.defaults.promptOverlays.gpt5.personality off
567
+ ```
568
+ </Tab>
569
+ </Tabs>
570
+
571
+ <Tip>
572
+ Values are case-insensitive at runtime, so `"Off"` and `"off"` both disable the friendly style layer.
573
+ </Tip>
574
+
575
+ <Note>
576
+ Legacy `plugins.entries.openai.config.personality` is still read as a compatibility fallback when the shared `agents.defaults.promptOverlays.gpt5.personality` setting is not set.
577
+ </Note>
578
+
579
+ ## Voice and speech
580
+
581
+ <AccordionGroup>
582
+ <Accordion title="Speech synthesis (TTS)">
583
+ The bundled `openai` plugin registers speech synthesis for the `messages.tts` surface.
584
+
585
+ | Setting | Config path | Default |
586
+ |---------|------------|---------|
587
+ | Model | `messages.tts.providers.openai.model` | `gpt-4o-mini-tts` |
588
+ | Voice | `messages.tts.providers.openai.voice` | `coral` |
589
+ | Speed | `messages.tts.providers.openai.speed` | (unset) |
590
+ | Instructions | `messages.tts.providers.openai.instructions` | (unset, `gpt-4o-mini-tts` only) |
591
+ | Format | `messages.tts.providers.openai.responseFormat` | `opus` for voice notes, `mp3` for files |
592
+ | API key | `messages.tts.providers.openai.apiKey` | Falls back to `OPENAI_API_KEY` |
593
+ | Base URL | `messages.tts.providers.openai.baseUrl` | `https://api.openai.com/v1` |
594
+ | Extra body | `messages.tts.providers.openai.extraBody` / `extra_body` | (unset) |
595
+
596
+ Available models: `gpt-4o-mini-tts`, `tts-1`, `tts-1-hd`. Available voices: `alloy`, `ash`, `ballad`, `cedar`, `coral`, `echo`, `fable`, `juniper`, `marin`, `onyx`, `nova`, `sage`, `shimmer`, `verse`.
597
+
598
+ `extraBody` is merged into `/audio/speech` request JSON after Nodmix's generated fields, so use it for OpenAI-compatible endpoints that require additional keys such as `lang`. Prototype keys are ignored.
599
+
600
+ ```json5
601
+ {
602
+ messages: {
603
+ tts: {
604
+ providers: {
605
+ openai: { model: "gpt-4o-mini-tts", voice: "coral" },
606
+ },
607
+ },
608
+ },
609
+ }
610
+ ```
611
+
612
+ <Note>
613
+ Set `OPENAI_TTS_BASE_URL` to override the TTS base URL without affecting the chat API endpoint. OpenAI TTS is still configured through an API key; for OAuth-only live talk-back, use the Realtime voice path instead of agent-mode STT -> TTS speech.
614
+ </Note>
615
+
616
+ </Accordion>
617
+
618
+ <Accordion title="Speech-to-text">
619
+ The bundled `openai` plugin registers batch speech-to-text through
620
+ Nodmix's media-understanding transcription surface.
621
+
622
+ - Default model: `gpt-4o-transcribe`
623
+ - Endpoint: OpenAI REST `/v1/audio/transcriptions`
624
+ - Input path: multipart audio file upload
625
+ - Supported by Nodmix wherever inbound audio transcription uses
626
+ `tools.media.audio`, including Discord voice-channel segments and channel
627
+ audio attachments
628
+
629
+ To force OpenAI for inbound audio transcription:
630
+
631
+ ```json5
632
+ {
633
+ tools: {
634
+ media: {
635
+ audio: {
636
+ models: [
637
+ {
638
+ type: "provider",
639
+ provider: "openai",
640
+ model: "gpt-4o-transcribe",
641
+ },
642
+ ],
643
+ },
644
+ },
645
+ },
646
+ }
647
+ ```
648
+
649
+ Language and prompt hints are forwarded to OpenAI when supplied by the
650
+ shared audio media config or per-call transcription request.
651
+
652
+ </Accordion>
653
+
654
+ <Accordion title="Realtime transcription">
655
+ The bundled `openai` plugin registers realtime transcription for the Voice Call plugin.
656
+
657
+ | Setting | Config path | Default |
658
+ |---------|------------|---------|
659
+ | Model | `plugins.entries.voice-call.config.streaming.providers.openai.model` | `gpt-4o-transcribe` |
660
+ | Language | `...openai.language` | (unset) |
661
+ | Prompt | `...openai.prompt` | (unset) |
662
+ | Silence duration | `...openai.silenceDurationMs` | `800` |
663
+ | VAD threshold | `...openai.vadThreshold` | `0.5` |
664
+ | Auth | `...openai.apiKey`, `OPENAI_API_KEY`, or `openai-codex` OAuth | API keys connect directly; OAuth mints a Realtime transcription client secret |
665
+
666
+ <Note>
667
+ Uses a WebSocket connection to `wss://api.openai.com/v1/realtime` with G.711 u-law (`g711_ulaw` / `audio/pcmu`) audio. When only `openai-codex` OAuth is configured, the Gateway mints an ephemeral Realtime transcription client secret before opening the WebSocket. This streaming provider is for Voice Call's realtime transcription path; Discord voice currently records short segments and uses the batch `tools.media.audio` transcription path instead.
668
+ </Note>
669
+
670
+ </Accordion>
671
+
672
+ <Accordion title="Realtime voice">
673
+ The bundled `openai` plugin registers realtime voice for the Voice Call plugin.
674
+
675
+ | Setting | Config path | Default |
676
+ |---------|------------|---------|
677
+ | Model | `plugins.entries.voice-call.config.realtime.providers.openai.model` | `gpt-realtime-2` |
678
+ | Voice | `...openai.voice` | `alloy` |
679
+ | Temperature (Azure deployment bridge) | `...openai.temperature` | `0.8` |
680
+ | VAD threshold | `...openai.vadThreshold` | `0.5` |
681
+ | Silence duration | `...openai.silenceDurationMs` | `500` |
682
+ | Prefix padding | `...openai.prefixPaddingMs` | `300` |
683
+ | Reasoning effort | `...openai.reasoningEffort` | (unset) |
684
+ | Auth | `...openai.apiKey`, `OPENAI_API_KEY`, or `openai-codex` OAuth | Browser Talk and non-Azure backend bridges can use Codex OAuth |
685
+
686
+ Available built-in Realtime voices for `gpt-realtime-2`: `alloy`, `ash`,
687
+ `ballad`, `coral`, `echo`, `sage`, `shimmer`, `verse`, `marin`, `cedar`.
688
+ OpenAI recommends `marin` and `cedar` for the best Realtime quality. This
689
+ is a separate set from the Text-to-speech voices above; do not assume a TTS
690
+ voice such as `fable`, `nova`, or `onyx` is valid for Realtime sessions.
691
+
692
+ <Note>
693
+ Backend OpenAI realtime bridges use the GA Realtime WebSocket session shape, which does not accept `session.temperature`. Azure OpenAI deployments remain available via `azureEndpoint` and `azureDeployment` and keep the deployment-compatible session shape. Supports bidirectional tool calling and G.711 u-law audio.
694
+ </Note>
695
+
696
+ <Note>
697
+ Realtime voice is selected when the session is created. OpenAI allows most
698
+ session fields to change later, but the voice cannot be changed after the
699
+ model has emitted audio in that session. Nodmix currently exposes the
700
+ built-in Realtime voice ids as strings.
701
+ </Note>
702
+
703
+ <Note>
704
+ Control UI Talk uses OpenAI browser realtime sessions with a Gateway-minted
705
+ ephemeral client secret and a direct browser WebRTC SDP exchange against the
706
+ OpenAI Realtime API. When no direct OpenAI API key is configured, the
707
+ Gateway can mint that client secret with the selected `openai-codex` OAuth
708
+ profile. Gateway relay and Voice Call backend realtime WebSocket bridges use
709
+ the same OAuth fallback for native OpenAI endpoints. Maintainer live
710
+ verification is available with
711
+ `OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts`;
712
+ the OpenAI legs verify both the backend WebSocket bridge and the browser
713
+ WebRTC SDP exchange without logging secrets.
714
+ </Note>
715
+
716
+ </Accordion>
717
+ </AccordionGroup>
718
+
719
+ ## Azure OpenAI endpoints
720
+
721
+ The bundled `openai` provider can target an Azure OpenAI resource for image
722
+ generation by overriding the base URL. On the image-generation path, Nodmix
723
+ detects Azure hostnames on `models.providers.openai.baseUrl` and switches to
724
+ Azure's request shape automatically.
725
+
726
+ <Note>
727
+ Realtime voice uses a separate configuration path
728
+ (`plugins.entries.voice-call.config.realtime.providers.openai.azureEndpoint`)
729
+ and is not affected by `models.providers.openai.baseUrl`. See the **Realtime
730
+ voice** accordion under [Voice and speech](#voice-and-speech) for its Azure
731
+ settings.
732
+ </Note>
733
+
734
+ Use Azure OpenAI when:
735
+
736
+ - You already have an Azure OpenAI subscription, quota, or enterprise agreement
737
+ - You need regional data residency or compliance controls Azure provides
738
+ - You want to keep traffic inside an existing Azure tenancy
739
+
740
+ ### Configuration
741
+
742
+ For Azure image generation through the bundled `openai` provider, point
743
+ `models.providers.openai.baseUrl` at your Azure resource and set `apiKey` to
744
+ the Azure OpenAI key (not an OpenAI Platform key):
745
+
746
+ ```json5
747
+ {
748
+ models: {
749
+ providers: {
750
+ openai: {
751
+ baseUrl: "https://<your-resource>.openai.azure.com",
752
+ apiKey: "<azure-openai-api-key>",
753
+ },
754
+ },
755
+ },
756
+ }
757
+ ```
758
+
759
+ Nodmix recognizes these Azure host suffixes for the Azure image-generation
760
+ route:
761
+
762
+ - `*.openai.azure.com`
763
+ - `*.services.ai.azure.com`
764
+ - `*.cognitiveservices.azure.com`
765
+
766
+ For image-generation requests on a recognized Azure host, Nodmix:
767
+
768
+ - Sends the `api-key` header instead of `Authorization: Bearer`
769
+ - Uses deployment-scoped paths (`/openai/deployments/{deployment}/...`)
770
+ - Appends `?api-version=...` to each request
771
+ - Uses a 600s default request timeout for Azure image-generation calls.
772
+ Per-call `timeoutMs` values still override this default.
773
+
774
+ Other base URLs (public OpenAI, OpenAI-compatible proxies) keep the standard
775
+ OpenAI image request shape.
776
+
777
+ <Note>
778
+ Azure routing for the `openai` provider's image-generation path requires
779
+ Nodmix 2026.4.22 or later. Earlier versions treat any custom
780
+ `openai.baseUrl` like the public OpenAI endpoint and will fail against Azure
781
+ image deployments.
782
+ </Note>
783
+
784
+ ### API version
785
+
786
+ Set `AZURE_OPENAI_API_VERSION` to pin a specific Azure preview or GA version
787
+ for the Azure image-generation path:
788
+
789
+ ```bash
790
+ export AZURE_OPENAI_API_VERSION="2024-12-01-preview"
791
+ ```
792
+
793
+ The default is `2024-12-01-preview` when the variable is unset.
794
+
795
+ ### Model names are deployment names
796
+
797
+ Azure OpenAI binds models to deployments. For Azure image-generation requests
798
+ routed through the bundled `openai` provider, the `model` field in Nodmix
799
+ must be the **Azure deployment name** you configured in the Azure portal, not
800
+ the public OpenAI model id.
801
+
802
+ If you create a deployment called `gpt-image-2-prod` that serves `gpt-image-2`:
803
+
804
+ ```
805
+ /tool image_generate model=openai/gpt-image-2-prod prompt="A clean poster" size=1024x1024 count=1
806
+ ```
807
+
808
+ The same deployment-name rule applies to image-generation calls routed through
809
+ the bundled `openai` provider.
810
+
811
+ ### Regional availability
812
+
813
+ Azure image generation is currently available only in a subset of regions
814
+ (for example `eastus2`, `swedencentral`, `polandcentral`, `westus3`,
815
+ `uaenorth`). Check Microsoft's current region list before creating a
816
+ deployment, and confirm the specific model is offered in your region.
817
+
818
+ ### Parameter differences
819
+
820
+ Azure OpenAI and public OpenAI do not always accept the same image parameters.
821
+ Azure may reject options that public OpenAI allows (for example certain
822
+ `background` values on `gpt-image-2`) or expose them only on specific model
823
+ versions. These differences come from Azure and the underlying model, not
824
+ Nodmix. If an Azure request fails with a validation error, check the
825
+ parameter set supported by your specific deployment and API version in the
826
+ Azure portal.
827
+
828
+ <Note>
829
+ Azure OpenAI uses native transport and compat behavior but does not receive
830
+ Nodmix's hidden attribution headers — see the **Native vs OpenAI-compatible
831
+ routes** accordion under [Advanced configuration](#advanced-configuration).
832
+
833
+ For chat or Responses traffic on Azure (beyond image generation), use the
834
+ onboarding flow or a dedicated Azure provider config — `openai.baseUrl` alone
835
+ does not pick up the Azure API/auth shape. A separate
836
+ `azure-openai-responses/*` provider exists; see
837
+ the Server-side compaction accordion below.
838
+ </Note>
839
+
840
+ ## Advanced configuration
841
+
842
+ <AccordionGroup>
843
+ <Accordion title="Transport (WebSocket vs SSE)">
844
+ Nodmix uses WebSocket-first with SSE fallback (`"auto"`) for `openai/*`.
845
+
846
+ In `"auto"` mode, Nodmix:
847
+ - Retries one early WebSocket failure before falling back to SSE
848
+ - After a failure, marks WebSocket as degraded for ~60 seconds and uses SSE during cool-down
849
+ - Attaches stable session and turn identity headers for retries and reconnects
850
+ - Normalizes usage counters (`input_tokens` / `prompt_tokens`) across transport variants
851
+
852
+ | Value | Behavior |
853
+ |-------|----------|
854
+ | `"auto"` (default) | WebSocket first, SSE fallback |
855
+ | `"sse"` | Force SSE only |
856
+ | `"websocket"` | Force WebSocket only |
857
+
858
+ ```json5
859
+ {
860
+ agents: {
861
+ defaults: {
862
+ models: {
863
+ "openai/gpt-5.5": {
864
+ params: { transport: "auto" },
865
+ },
866
+ },
867
+ },
868
+ },
869
+ }
870
+ ```
871
+
872
+ Related OpenAI docs:
873
+ - [Realtime API with WebSocket](https://platform.openai.com/docs/guides/realtime-websocket)
874
+ - [Streaming API responses (SSE)](https://platform.openai.com/docs/guides/streaming-responses)
875
+
876
+ </Accordion>
877
+
878
+ <Accordion title="Fast mode">
879
+ Nodmix exposes a shared fast-mode toggle for `openai/*`:
880
+
881
+ - **Chat/UI:** `/fast status|on|off`
882
+ - **Config:** `agents.defaults.models["<provider>/<model>"].params.fastMode`
883
+
884
+ When enabled, Nodmix maps fast mode to OpenAI priority processing (`service_tier = "priority"`). Existing `service_tier` values are preserved, and fast mode does not rewrite `reasoning` or `text.verbosity`.
885
+
886
+ ```json5
887
+ {
888
+ agents: {
889
+ defaults: {
890
+ models: {
891
+ "openai/gpt-5.5": { params: { fastMode: true } },
892
+ },
893
+ },
894
+ },
895
+ }
896
+ ```
897
+
898
+ <Note>
899
+ Session overrides win over config. Clearing the session override in the Sessions UI returns the session to the configured default.
900
+ </Note>
901
+
902
+ </Accordion>
903
+
904
+ <Accordion title="Priority processing (service_tier)">
905
+ OpenAI's API exposes priority processing via `service_tier`. Set it per model in Nodmix:
906
+
907
+ ```json5
908
+ {
909
+ agents: {
910
+ defaults: {
911
+ models: {
912
+ "openai/gpt-5.5": { params: { serviceTier: "priority" } },
913
+ },
914
+ },
915
+ },
916
+ }
917
+ ```
918
+
919
+ Supported values: `auto`, `default`, `flex`, `priority`.
920
+
921
+ <Warning>
922
+ `serviceTier` is only forwarded to native OpenAI endpoints (`api.openai.com`) and native Codex endpoints (`chatgpt.com/backend-api`). If you route either provider through a proxy, Nodmix leaves `service_tier` untouched.
923
+ </Warning>
924
+
925
+ </Accordion>
926
+
927
+ <Accordion title="Server-side compaction (Responses API)">
928
+ For direct OpenAI Responses models (`openai/*` on `api.openai.com`), the OpenAI plugin's Pi-harness stream wrapper auto-enables server-side compaction:
929
+
930
+ - Forces `store: true` (unless model compat sets `supportsStore: false`)
931
+ - Injects `context_management: [{ type: "compaction", compact_threshold: ... }]`
932
+ - Default `compact_threshold`: 70% of `contextWindow` (or `80000` when unavailable)
933
+
934
+ This applies to the built-in Pi harness path and to OpenAI provider hooks used by embedded runs. The native Codex app-server harness manages its own context through Codex and is configured by OpenAI's default agent route or provider/model runtime policy.
935
+
936
+ <Tabs>
937
+ <Tab title="Enable explicitly">
938
+ Useful for compatible endpoints like Azure OpenAI Responses:
939
+
940
+ ```json5
941
+ {
942
+ agents: {
943
+ defaults: {
944
+ models: {
945
+ "azure-openai-responses/gpt-5.5": {
946
+ params: { responsesServerCompaction: true },
947
+ },
948
+ },
949
+ },
950
+ },
951
+ }
952
+ ```
953
+ </Tab>
954
+ <Tab title="Custom threshold">
955
+ ```json5
956
+ {
957
+ agents: {
958
+ defaults: {
959
+ models: {
960
+ "openai/gpt-5.5": {
961
+ params: {
962
+ responsesServerCompaction: true,
963
+ responsesCompactThreshold: 120000,
964
+ },
965
+ },
966
+ },
967
+ },
968
+ },
969
+ }
970
+ ```
971
+ </Tab>
972
+ <Tab title="Disable">
973
+ ```json5
974
+ {
975
+ agents: {
976
+ defaults: {
977
+ models: {
978
+ "openai/gpt-5.5": {
979
+ params: { responsesServerCompaction: false },
980
+ },
981
+ },
982
+ },
983
+ },
984
+ }
985
+ ```
986
+ </Tab>
987
+ </Tabs>
988
+
989
+ <Note>
990
+ `responsesServerCompaction` only controls `context_management` injection. Direct OpenAI Responses models still force `store: true` unless compat sets `supportsStore: false`.
991
+ </Note>
992
+
993
+ </Accordion>
994
+
995
+ <Accordion title="Strict-agentic GPT mode">
996
+ For GPT-5-family runs on `openai/*`, Nodmix can use a stricter embedded execution contract:
997
+
998
+ ```json5
999
+ {
1000
+ agents: {
1001
+ defaults: {
1002
+ embeddedPi: { executionContract: "strict-agentic" },
1003
+ },
1004
+ },
1005
+ }
1006
+ ```
1007
+
1008
+ With `strict-agentic`, Nodmix:
1009
+ - No longer treats a plan-only turn as successful progress when a tool action is available
1010
+ - Retries the turn with an act-now steer
1011
+ - Auto-enables `update_plan` for substantial work
1012
+ - Surfaces an explicit blocked state if the model keeps planning without acting
1013
+
1014
+ <Note>
1015
+ Scoped to OpenAI and Codex GPT-5-family runs only. Other providers and older model families keep default behavior.
1016
+ </Note>
1017
+
1018
+ </Accordion>
1019
+
1020
+ <Accordion title="Native vs OpenAI-compatible routes">
1021
+ Nodmix treats direct OpenAI, Codex, and Azure OpenAI endpoints differently from generic OpenAI-compatible `/v1` proxies:
1022
+
1023
+ **Native routes** (`openai/*`, Azure OpenAI):
1024
+ - Keep `reasoning: { effort: "none" }` only for models that support the OpenAI `none` effort
1025
+ - Omit disabled reasoning for models or proxies that reject `reasoning.effort: "none"`
1026
+ - Default tool schemas to strict mode
1027
+ - Attach hidden attribution headers on verified native hosts only
1028
+ - Keep OpenAI-only request shaping (`service_tier`, `store`, reasoning-compat, prompt-cache hints)
1029
+
1030
+ **Proxy/compatible routes:**
1031
+ - Use looser compat behavior
1032
+ - Strip Completions `store` from non-native `openai-completions` payloads
1033
+ - Accept advanced `params.extra_body`/`params.extraBody` pass-through JSON for OpenAI-compatible Completions proxies
1034
+ - Accept `params.chat_template_kwargs` for OpenAI-compatible Completions proxies such as vLLM
1035
+ - Do not force strict tool schemas or native-only headers
1036
+
1037
+ Azure OpenAI uses native transport and compat behavior but does not receive the hidden attribution headers.
1038
+
1039
+ </Accordion>
1040
+ </AccordionGroup>
1041
+
1042
+ ## Related
1043
+
1044
+ <CardGroup cols={2}>
1045
+ <Card title="Model selection" href="/concepts/model-providers" icon="layers">
1046
+ Choosing providers, model refs, and failover behavior.
1047
+ </Card>
1048
+ <Card title="Image generation" href="/tools/image-generation" icon="image">
1049
+ Shared image tool parameters and provider selection.
1050
+ </Card>
1051
+ <Card title="Video generation" href="/tools/video-generation" icon="video">
1052
+ Shared video tool parameters and provider selection.
1053
+ </Card>
1054
+ <Card title="OAuth and auth" href="/gateway/authentication" icon="key">
1055
+ Auth details and credential reuse rules.
1056
+ </Card>
1057
+ </CardGroup>