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,746 @@
1
+ ---
2
+ summary: "Run Nodmix embedded agent turns through the bundled Codex app-server harness"
3
+ title: "Codex harness"
4
+ read_when:
5
+ - You want to use the bundled Codex app-server harness
6
+ - You need Codex harness config examples
7
+ - You want Codex-only deployments to fail instead of falling back to PI
8
+ ---
9
+
10
+ The bundled `codex` plugin lets Nodmix run embedded OpenAI agent turns
11
+ through Codex app-server instead of the built-in PI harness.
12
+
13
+ Use the Codex harness when you want Codex to own the low-level agent session:
14
+ native thread resume, native tool continuation, native compaction, and
15
+ app-server execution. Nodmix still owns chat channels, session files, model
16
+ selection, Nodmix dynamic tools, approvals, media delivery, and the visible
17
+ transcript mirror.
18
+
19
+ The normal setup uses canonical OpenAI model refs such as `openai/gpt-5.5`.
20
+ Do not configure `openai-codex/gpt-*` model refs. Put OpenAI agent auth order
21
+ under `auth.order.openai`; older `openai-codex:*` profiles and
22
+ `auth.order.openai-codex` entries remain supported for existing installs.
23
+
24
+ Nodmix starts Codex app-server threads with Codex native code mode enabled
25
+ while leaving code-mode-only off by default. That keeps Codex native workspace
26
+ and code capabilities available while Nodmix dynamic tools continue through
27
+ the app-server `item/tool/call` bridge. Restricted tool policies still disable
28
+ native code mode entirely.
29
+
30
+ For the broader model/provider/runtime split, start with
31
+ [Agent runtimes](/concepts/agent-runtimes). The short version is:
32
+ `openai/gpt-5.5` is the model ref, `codex` is the runtime, and Telegram,
33
+ Discord, Slack, or another channel remains the communication surface.
34
+
35
+ ## Requirements
36
+
37
+ - Nodmix with the bundled `codex` plugin available.
38
+ - If your config uses `plugins.allow`, include `codex`.
39
+ - Codex app-server `0.125.0` or newer. The bundled plugin manages a compatible
40
+ Codex app-server binary by default, so local `codex` commands on `PATH` do not
41
+ affect normal harness startup.
42
+ - Codex auth available through `nodmix models auth login --provider openai-codex`,
43
+ an app-server account in the agent's Codex home, or an explicit Codex API-key
44
+ auth profile.
45
+
46
+ For auth precedence, environment isolation, custom app-server commands, model
47
+ discovery, and all config fields, see
48
+ [Codex harness reference](/plugins/codex-harness-reference).
49
+
50
+ ## Quickstart
51
+
52
+ Most users who want Codex in Nodmix want this path: sign in with a
53
+ ChatGPT/Codex subscription, enable the bundled `codex` plugin, and use a
54
+ canonical `openai/gpt-*` model ref.
55
+
56
+ Sign in with Codex OAuth:
57
+
58
+ ```bash
59
+ nodmix models auth login --provider openai-codex
60
+ ```
61
+
62
+ Enable the bundled `codex` plugin and select an OpenAI agent model:
63
+
64
+ ```json5
65
+ {
66
+ plugins: {
67
+ entries: {
68
+ codex: {
69
+ enabled: true,
70
+ },
71
+ },
72
+ },
73
+ agents: {
74
+ defaults: {
75
+ model: "openai/gpt-5.5",
76
+ },
77
+ },
78
+ }
79
+ ```
80
+
81
+ If your config uses `plugins.allow`, add `codex` there too:
82
+
83
+ ```json5
84
+ {
85
+ plugins: {
86
+ allow: ["codex"],
87
+ entries: {
88
+ codex: {
89
+ enabled: true,
90
+ },
91
+ },
92
+ },
93
+ }
94
+ ```
95
+
96
+ Restart the gateway after changing plugin config. If an existing chat already
97
+ has a session, use `/new` or `/reset` before testing runtime changes so the next
98
+ turn resolves the harness from current config.
99
+
100
+ ## Configuration
101
+
102
+ The quickstart config is the minimum viable Codex harness config. Set Codex
103
+ harness options in Nodmix config, and use the CLI only for Codex auth:
104
+
105
+ | Need | Set | Where |
106
+ | -------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------- |
107
+ | Enable the harness | `plugins.entries.codex.enabled: true` | Nodmix config |
108
+ | Keep an allowlisted plugin install | Include `codex` in `plugins.allow` | Nodmix config |
109
+ | Route OpenAI agent turns through Codex | `agents.defaults.model` or `agents.list[].model` as `openai/gpt-*` | Nodmix agent config |
110
+ | Sign in with Codex OAuth | `nodmix models auth login --provider openai-codex` | CLI auth profile |
111
+ | Add API-key backup for Codex runs | `openai:*` API-key profile listed after subscription auth in `auth.order.openai` | CLI auth profile + Nodmix config |
112
+ | Fail closed when Codex is unavailable | Provider or model `agentRuntime.id: "codex"` | Nodmix model/provider config |
113
+ | Use direct OpenAI API traffic | Provider or model `agentRuntime.id: "pi"` with normal OpenAI auth | Nodmix model/provider config |
114
+ | Tune app-server behavior | `plugins.entries.codex.config.appServer.*` | Codex plugin config |
115
+ | Enable native Codex plugin apps | `plugins.entries.codex.config.codexPlugins.*` | Codex plugin config |
116
+ | Enable Codex Computer Use | `plugins.entries.codex.config.computerUse.*` | Codex plugin config |
117
+
118
+ Use `openai/gpt-*` model refs for Codex-backed OpenAI agent turns. Prefer
119
+ `auth.order.openai` for subscription-first/API-key-backup ordering. Existing
120
+ `openai-codex:*` auth profiles and `auth.order.openai-codex` remain valid, but
121
+ do not write new `openai-codex/gpt-*` model refs.
122
+
123
+ Do not set `compaction.model` or `compaction.provider` on Codex-backed agents
124
+ unless a selected context engine owns compaction. Without an owning context
125
+ engine, Codex compacts through its native app-server thread state, so Nodmix
126
+ ignores those local summarizer overrides at runtime and `nodmix doctor --fix`
127
+ removes them when the agent uses Codex.
128
+
129
+ Lossless remains supported as a context engine. Configure it through
130
+ `plugins.slots.contextEngine: "lossless-claw"` and
131
+ `plugins.entries.lossless-claw.config.summaryModel`, not through
132
+ `agents.defaults.compaction.provider`. `nodmix doctor --fix` migrates the old
133
+ `compaction.provider: "lossless-claw"` shape to the Lossless context-engine slot
134
+ when Codex is the active runtime.
135
+
136
+ When the active context engine reports `ownsCompaction: true`, `/compact` runs
137
+ that engine's compaction lifecycle and invalidates the bound Codex app-server
138
+ thread. The next Codex turn starts a fresh backend thread and rehydrates it from
139
+ the context engine instead of layering Codex native compaction on top of the
140
+ engine-owned semantic summary.
141
+
142
+ ```json5
143
+ {
144
+ auth: {
145
+ order: {
146
+ openai: ["openai-codex:user@example.com", "openai:api-key-backup"],
147
+ },
148
+ },
149
+ }
150
+ ```
151
+
152
+ In that shape, both profiles still run through Codex for `openai/gpt-*` agent
153
+ turns. The API key is only an auth fallback, not a request to switch to PI or
154
+ plain OpenAI Responses.
155
+
156
+ The rest of this page covers common variants users must choose between:
157
+ deployment shape, fail-closed routing, guardian approval policy, native Codex
158
+ plugins, and Computer Use. For full option lists, defaults, enums, discovery,
159
+ environment isolation, timeouts, and app-server transport fields, see
160
+ [Codex harness reference](/plugins/codex-harness-reference).
161
+
162
+ ## Verify Codex runtime
163
+
164
+ Use `/status` in the chat where you expect Codex. A Codex-backed OpenAI agent
165
+ turn shows:
166
+
167
+ ```text
168
+ Runtime: OpenAI Codex
169
+ ```
170
+
171
+ Then check Codex app-server state:
172
+
173
+ ```text
174
+ /codex status
175
+ /codex models
176
+ ```
177
+
178
+ `/codex status` reports app-server connectivity, account, rate limits, MCP
179
+ servers, and skills. `/codex models` lists the live Codex app-server catalog for
180
+ the harness and account. If `/status` is surprising, see
181
+ [Troubleshooting](#troubleshooting).
182
+
183
+ ## Routing and model selection
184
+
185
+ Keep provider refs and runtime policy separate:
186
+
187
+ - Use `openai/gpt-*` for OpenAI agent turns through Codex.
188
+ - Do not use `openai-codex/gpt-*` in config. Run `nodmix doctor --fix` to
189
+ repair legacy refs and stale session route pins.
190
+ - `agentRuntime.id: "codex"` is optional for normal OpenAI auto mode, but useful
191
+ when a deployment should fail closed if Codex is unavailable.
192
+ - `agentRuntime.id: "pi"` opts a provider or model into direct PI behavior when
193
+ that is intentional.
194
+ - `/codex ...` controls native Codex app-server conversations from chat.
195
+ - ACP/acpx is a separate external harness path. Use it only when the user asks
196
+ for ACP/acpx or an external harness adapter.
197
+
198
+ Common command routing:
199
+
200
+ | User intent | Use |
201
+ | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
202
+ | Attach the current chat | `/codex bind [--cwd <path>]` |
203
+ | Resume an existing Codex thread | `/codex resume <thread-id>` |
204
+ | List or filter Codex threads | `/codex threads [filter]` |
205
+ | List native Codex plugins | `/codex plugins list` |
206
+ | Enable or disable a configured native Codex plugin | `/codex plugins enable <name>`, `/codex plugins disable <name>` |
207
+ | Attach an existing Codex CLI session on a paired node | `/codex sessions --host <node> [filter]`, then `/codex resume <session-id> --host <node> --bind here` |
208
+ | Send Codex feedback only | `/codex diagnostics [note]` |
209
+ | Start an ACP/acpx task | ACP/acpx session commands, not `/codex` |
210
+
211
+ | Use case | Configure | Verify | Notes |
212
+ | ---------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------- | ---------------------------------- |
213
+ | ChatGPT/Codex subscription with native Codex runtime | `openai/gpt-*` plus enabled `codex` plugin | `/status` shows `Runtime: OpenAI Codex` | Recommended path |
214
+ | Fail closed if Codex is unavailable | Provider or model `agentRuntime.id: "codex"` | Turn fails instead of PI fallback | Use for Codex-only deployments |
215
+ | Direct OpenAI API-key traffic through PI | Provider or model `agentRuntime.id: "pi"` and normal OpenAI auth | `/status` shows PI runtime | Use only when PI is intentional |
216
+ | Legacy config | `openai-codex/gpt-*` | `nodmix doctor --fix` rewrites it | Do not write new config this way |
217
+ | ACP/acpx Codex adapter | ACP `sessions_spawn({ runtime: "acp" })` | ACP task/session status | Separate from native Codex harness |
218
+
219
+ `agents.defaults.imageModel` follows the same prefix split. Use `openai/gpt-*`
220
+ for the normal OpenAI route and `codex/gpt-*` only when image understanding
221
+ should run through a bounded Codex app-server turn. Do not use
222
+ `openai-codex/gpt-*`; doctor rewrites that legacy prefix to `openai/gpt-*`.
223
+
224
+ ## Deployment patterns
225
+
226
+ ### Basic Codex deployment
227
+
228
+ Use the quickstart config when all OpenAI agent turns should use Codex by
229
+ default.
230
+
231
+ ```json5
232
+ {
233
+ plugins: {
234
+ entries: {
235
+ codex: {
236
+ enabled: true,
237
+ },
238
+ },
239
+ },
240
+ agents: {
241
+ defaults: {
242
+ model: "openai/gpt-5.5",
243
+ },
244
+ },
245
+ }
246
+ ```
247
+
248
+ ### Mixed provider deployment
249
+
250
+ This shape keeps Claude as the default agent and adds a named Codex agent:
251
+
252
+ ```json5
253
+ {
254
+ plugins: {
255
+ entries: {
256
+ codex: {
257
+ enabled: true,
258
+ },
259
+ },
260
+ },
261
+ agents: {
262
+ defaults: {
263
+ model: "anthropic/claude-opus-4-6",
264
+ },
265
+ list: [
266
+ {
267
+ id: "main",
268
+ default: true,
269
+ model: "anthropic/claude-opus-4-6",
270
+ },
271
+ {
272
+ id: "codex",
273
+ name: "Codex",
274
+ model: "openai/gpt-5.5",
275
+ },
276
+ ],
277
+ },
278
+ }
279
+ ```
280
+
281
+ With this config, the `main` agent uses its normal provider path and the
282
+ `codex` agent uses Codex app-server.
283
+
284
+ ### Fail-closed Codex deployment
285
+
286
+ For OpenAI agent turns, `openai/gpt-*` already resolves to Codex when the
287
+ bundled plugin is available. Add explicit runtime policy when you want a written
288
+ fail-closed rule:
289
+
290
+ ```json5
291
+ {
292
+ models: {
293
+ providers: {
294
+ openai: {
295
+ agentRuntime: {
296
+ id: "codex",
297
+ },
298
+ },
299
+ },
300
+ },
301
+ agents: {
302
+ defaults: {
303
+ model: "openai/gpt-5.5",
304
+ },
305
+ },
306
+ plugins: {
307
+ entries: {
308
+ codex: {
309
+ enabled: true,
310
+ },
311
+ },
312
+ },
313
+ }
314
+ ```
315
+
316
+ With Codex forced, Nodmix fails early if the Codex plugin is disabled, the
317
+ app-server is too old, or the app-server cannot start.
318
+
319
+ ## App-server policy
320
+
321
+ By default, the plugin starts Nodmix's managed Codex binary locally with stdio
322
+ transport. Set `appServer.command` only when you intentionally want to run a
323
+ different executable. Use WebSocket transport only when an app-server is already
324
+ running elsewhere:
325
+
326
+ ```json5
327
+ {
328
+ plugins: {
329
+ entries: {
330
+ codex: {
331
+ enabled: true,
332
+ config: {
333
+ appServer: {
334
+ transport: "websocket",
335
+ url: "ws://gateway-host:39175",
336
+ authToken: "${CODEX_APP_SERVER_TOKEN}",
337
+ },
338
+ },
339
+ },
340
+ },
341
+ },
342
+ }
343
+ ```
344
+
345
+ Local stdio app-server sessions default to the trusted local operator posture:
346
+ `approvalPolicy: "never"`, `approvalsReviewer: "user"`, and
347
+ `sandbox: "danger-full-access"`. If local Codex requirements disallow that
348
+ implicit YOLO posture, Nodmix selects allowed guardian permissions instead.
349
+ When an Nodmix sandbox is active for the session, Nodmix narrows Codex
350
+ `danger-full-access` to Codex `workspace-write` so native Codex code-mode turns
351
+ stay inside the sandboxed workspace. The Codex turn network flag follows the
352
+ Nodmix sandbox egress policy: Docker `network: "none"` stays offline, while
353
+ `network: "bridge"` or a custom Docker network allows outbound access.
354
+ Explicit Codex `workspace-write` turns use the same egress-derived network flag.
355
+
356
+ Use guardian mode when you want Codex native auto-review before sandbox escapes
357
+ or extra permissions:
358
+
359
+ ```json5
360
+ {
361
+ plugins: {
362
+ entries: {
363
+ codex: {
364
+ enabled: true,
365
+ config: {
366
+ appServer: {
367
+ mode: "guardian",
368
+ serviceTier: "priority",
369
+ },
370
+ },
371
+ },
372
+ },
373
+ },
374
+ }
375
+ ```
376
+
377
+ Guardian mode expands to Codex app-server approvals, usually
378
+ `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"`, and
379
+ `sandbox: "workspace-write"` when the local requirements allow those values.
380
+
381
+ For every app-server field, auth order, environment isolation, discovery, and
382
+ timeout behavior, see [Codex harness reference](/plugins/codex-harness-reference).
383
+
384
+ ## Commands and diagnostics
385
+
386
+ The bundled plugin registers `/codex` as a slash command on any channel that
387
+ supports Nodmix text commands.
388
+
389
+ Common forms:
390
+
391
+ - `/codex status` checks app-server connectivity, models, account, rate limits,
392
+ MCP servers, and skills.
393
+ - `/codex models` lists live Codex app-server models.
394
+ - `/codex threads [filter]` lists recent Codex app-server threads.
395
+ - `/codex resume <thread-id>` attaches the current Nodmix session to an
396
+ existing Codex thread.
397
+ - `/codex compact` asks Codex app-server to compact the attached thread.
398
+ - `/codex review` starts Codex native review for the attached thread.
399
+ - `/codex diagnostics [note]` asks before sending Codex feedback for the
400
+ attached thread.
401
+ - `/codex account` shows account and rate-limit status.
402
+ - `/codex mcp` lists Codex app-server MCP server status.
403
+ - `/codex skills` lists Codex app-server skills.
404
+
405
+ For most support reports, start with `/diagnostics [note]` in the conversation
406
+ where the bug happened. It creates one Gateway diagnostics report and, for Codex
407
+ harness sessions, asks for approval to send the relevant Codex feedback bundle.
408
+ See [Diagnostics export](/gateway/diagnostics) for the privacy model and group
409
+ chat behavior.
410
+
411
+ Use `/codex diagnostics [note]` only when you specifically want the Codex
412
+ feedback upload for the currently attached thread without the full Gateway
413
+ diagnostics bundle.
414
+
415
+ ### Inspect Codex threads locally
416
+
417
+ The fastest way to inspect a bad Codex run is often to open the native Codex
418
+ thread directly:
419
+
420
+ ```bash
421
+ codex resume <thread-id>
422
+ ```
423
+
424
+ Get the thread id from the completed `/diagnostics` reply, `/codex binding`, or
425
+ `/codex threads [filter]`.
426
+
427
+ For upload mechanics and runtime-level diagnostics boundaries, see
428
+ [Codex harness runtime](/plugins/codex-harness-runtime#codex-feedback-upload).
429
+
430
+ Auth is selected in this order:
431
+
432
+ 1. Ordered OpenAI auth profiles for the agent, preferably under
433
+ `auth.order.openai`. Existing `openai-codex:*` profile ids remain valid.
434
+ 2. The app-server's existing account in that agent's Codex home.
435
+ 3. For local stdio app-server launches only, `CODEX_API_KEY`, then
436
+ `OPENAI_API_KEY`, when no app-server account is present and OpenAI auth is
437
+ still required.
438
+
439
+ When Nodmix sees a ChatGPT subscription-style Codex auth profile, it removes
440
+ `CODEX_API_KEY` and `OPENAI_API_KEY` from the spawned Codex child process. That
441
+ keeps Gateway-level API keys available for embeddings or direct OpenAI models
442
+ without making native Codex app-server turns bill through the API by accident.
443
+ Explicit Codex API-key profiles and local stdio env-key fallback use app-server
444
+ login instead of inherited child-process env. WebSocket app-server connections
445
+ do not receive Gateway env API-key fallback; use an explicit auth profile or the
446
+ remote app-server's own account.
447
+
448
+ If a subscription profile hits a Codex usage limit, Nodmix records the reset
449
+ time when Codex reports one and tries the next ordered auth profile for the same
450
+ Codex run. When the reset time passes, the subscription profile becomes eligible
451
+ again without changing the selected `openai/gpt-*` model or Codex runtime.
452
+
453
+ For local stdio app-server launches, Nodmix sets `CODEX_HOME` to a per-agent
454
+ directory so Codex config, auth/account files, plugin cache/data, and native
455
+ thread state do not read or write the operator's personal `~/.codex` by
456
+ default. Nodmix preserves the normal process `HOME`; Codex-run subprocesses
457
+ can still find user-home config and tokens, and Codex may discover shared
458
+ `$HOME/.agents/skills` and `$HOME/.agents/plugins/marketplace.json` entries.
459
+
460
+ If a deployment needs additional environment isolation, add those variables to
461
+ `appServer.clearEnv`:
462
+
463
+ ```json5
464
+ {
465
+ plugins: {
466
+ entries: {
467
+ codex: {
468
+ enabled: true,
469
+ config: {
470
+ appServer: {
471
+ clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
472
+ },
473
+ },
474
+ },
475
+ },
476
+ },
477
+ }
478
+ ```
479
+
480
+ `appServer.clearEnv` only affects the spawned Codex app-server child process.
481
+ Nodmix removes `CODEX_HOME` and `HOME` from this list during local launch
482
+ normalization: `CODEX_HOME` stays per-agent, and `HOME` stays inherited so
483
+ subprocesses can use normal user-home state.
484
+
485
+ Codex dynamic tools default to `searchable` loading. Nodmix does not expose
486
+ dynamic tools that duplicate Codex-native workspace operations: `read`, `write`,
487
+ `edit`, `apply_patch`, `exec`, `process`, and `update_plan`. Most remaining
488
+ Nodmix integration tools such as messaging, media, cron, browser, nodes,
489
+ gateway, `heartbeat_respond`, and `web_search` are available through Codex tool
490
+ search under the `nodmix` namespace, keeping the initial model context
491
+ smaller.
492
+ `sessions_yield` and message-tool-only source replies stay direct because
493
+ those are turn-control contracts. `sessions_spawn` stays searchable so Codex's
494
+ native `spawn_agent` remains the primary Codex subagent surface, while explicit
495
+ Nodmix or ACP delegation is still available through the `nodmix` dynamic
496
+ tool namespace. Heartbeat collaboration instructions tell Codex to search for
497
+ `heartbeat_respond` before ending a heartbeat turn when the tool is not already
498
+ loaded.
499
+
500
+ Set `codexDynamicToolsLoading: "direct"` only when connecting to a custom Codex
501
+ app-server that cannot search deferred dynamic tools or when debugging the full
502
+ tool payload.
503
+
504
+ Supported top-level Codex plugin fields:
505
+
506
+ | Field | Default | Meaning |
507
+ | -------------------------- | -------------- | ---------------------------------------------------------------------------------------- |
508
+ | `codexDynamicToolsLoading` | `"searchable"` | Use `"direct"` to put Nodmix dynamic tools directly in the initial Codex tool context. |
509
+ | `codexDynamicToolsExclude` | `[]` | Additional Nodmix dynamic tool names to omit from Codex app-server turns. |
510
+ | `codexPlugins` | disabled | Native Codex plugin/app support for migrated source-installed curated plugins. |
511
+
512
+ Supported `appServer` fields:
513
+
514
+ | Field | Default | Meaning |
515
+ | ----------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
516
+ | `transport` | `"stdio"` | `"stdio"` spawns Codex; `"websocket"` connects to `url`. |
517
+ | `command` | managed Codex binary | Executable for stdio transport. Leave unset to use the managed binary; set it only for an explicit override. |
518
+ | `args` | `["app-server", "--listen", "stdio://"]` | Arguments for stdio transport. |
519
+ | `url` | unset | WebSocket app-server URL. |
520
+ | `authToken` | unset | Bearer token for WebSocket transport. |
521
+ | `headers` | `{}` | Extra WebSocket headers. |
522
+ | `clearEnv` | `[]` | Extra environment variable names removed from the spawned stdio app-server process after Nodmix builds its inherited environment. Nodmix keeps per-agent `CODEX_HOME` and inherited `HOME` for local launches. |
523
+ | `codeModeOnly` | `false` | Opt into Codex's code-mode-only tool surface. Nodmix dynamic tools remain registered with Codex so nested `tools.*` calls return through the app-server `item/tool/call` bridge. |
524
+ | `requestTimeoutMs` | `60000` | Timeout for app-server control-plane calls. |
525
+ | `turnCompletionIdleTimeoutMs` | `60000` | Quiet window after Codex accepts a turn or after a turn-scoped app-server request while Nodmix waits for `turn/completed`. Raise this for slow post-tool or status-only synthesis phases. |
526
+ | `mode` | `"yolo"` unless local Codex requirements disallow YOLO | Preset for YOLO or guardian-reviewed execution. Local stdio requirements that omit `danger-full-access`, `never` approval, or the `user` reviewer make the implicit default guardian. |
527
+ | `approvalPolicy` | `"never"` or an allowed guardian approval policy | Native Codex approval policy sent to thread start/resume/turn. Guardian defaults prefer `"on-request"` when allowed. |
528
+ | `sandbox` | `"danger-full-access"` or an allowed guardian sandbox | Native Codex sandbox mode sent to thread start/resume. Guardian defaults prefer `"workspace-write"` when allowed, otherwise `"read-only"`. When an Nodmix sandbox is active, `danger-full-access` turns use Codex `workspace-write` with network access derived from the Nodmix sandbox egress setting. |
529
+ | `approvalsReviewer` | `"user"` or an allowed guardian reviewer | Use `"auto_review"` to let Codex review native approval prompts when allowed, otherwise `guardian_subagent` or `user`. `guardian_subagent` remains a legacy alias. |
530
+ | `serviceTier` | unset | Optional Codex app-server service tier. `"priority"` enables fast-mode routing, `"flex"` requests flex processing, `null` clears the override, and legacy `"fast"` is accepted as `"priority"`. |
531
+
532
+ Nodmix-owned dynamic tool calls are bounded independently from
533
+ `appServer.requestTimeoutMs`: Codex `item/tool/call` requests use a 30 second
534
+ Nodmix watchdog by default. A positive per-call `timeoutMs` argument extends
535
+ or shortens that specific tool budget. The `image_generate` tool uses
536
+ `agents.defaults.imageGenerationModel.timeoutMs` when the tool call does not
537
+ provide its own timeout, or a 120 second image-generation default otherwise.
538
+ The media-understanding `image` tool uses
539
+ `tools.media.image.timeoutSeconds` or its 60 second media default. Dynamic tool
540
+ budgets are capped at 600000 ms. On timeout, Nodmix aborts the tool signal
541
+ where supported and returns a failed dynamic-tool response to Codex so the turn
542
+ can continue instead of leaving the session in `processing`.
543
+
544
+ After Codex accepts a turn, and after Nodmix responds to a turn-scoped
545
+ app-server request, the harness expects Codex to make current-turn progress and
546
+ eventually finish the native turn with `turn/completed`. If the app-server goes
547
+ quiet for `appServer.turnCompletionIdleTimeoutMs`, Nodmix best-effort
548
+ interrupts the Codex turn, records a diagnostic timeout, and releases the
549
+ Nodmix session lane so follow-up chat messages are not queued behind a stale
550
+ native turn. Most non-terminal notifications for the same turn disarm that short
551
+ watchdog because Codex has proven the turn is still alive; raw
552
+ `custom_tool_call_output` completions keep the short post-tool watchdog armed
553
+ because they are the turn-scoped tool-result handoff. Global app-server
554
+ notifications, such as rate-limit updates, do not reset turn-idle progress.
555
+ Completed `agentMessage` items and pre-tool raw assistant
556
+ `rawResponseItem/completed` items arm the assistant-output release: if Codex then
557
+ goes quiet without `turn/completed`, Nodmix best-effort interrupts the native
558
+ turn and releases the session lane. Post-tool raw assistant progress keeps
559
+ waiting for `turn/completed` or the terminal watchdog. Timeout diagnostics
560
+ include the last app-server notification method and, for raw assistant response
561
+ items, the item type, role, id, and a bounded assistant text preview.
562
+
563
+ Environment overrides remain available for local testing:
564
+
565
+ - `NODMIX_CODEX_APP_SERVER_BIN`
566
+ - `NODMIX_CODEX_APP_SERVER_ARGS`
567
+ - `NODMIX_CODEX_APP_SERVER_MODE=yolo|guardian`
568
+ - `NODMIX_CODEX_APP_SERVER_APPROVAL_POLICY`
569
+ - `NODMIX_CODEX_APP_SERVER_SANDBOX`
570
+
571
+ `NODMIX_CODEX_APP_SERVER_BIN` bypasses the managed binary when
572
+ `appServer.command` is unset.
573
+
574
+ `NODMIX_CODEX_APP_SERVER_GUARDIAN=1` was removed. Use
575
+ `plugins.entries.codex.config.appServer.mode: "guardian"` instead, or
576
+ `NODMIX_CODEX_APP_SERVER_MODE=guardian` for one-off local testing. Config is
577
+ preferred for repeatable deployments because it keeps the plugin behavior in the
578
+ same reviewed file as the rest of the Codex harness setup.
579
+
580
+ ## Native Codex plugins
581
+
582
+ Native Codex plugin support uses Codex app-server's own app and plugin
583
+ capabilities in the same Codex thread as the Nodmix harness turn. Nodmix
584
+ does not translate Codex plugins into synthetic `codex_plugin_*` Nodmix
585
+ dynamic tools.
586
+
587
+ `codexPlugins` affects only sessions that select the native Codex harness. It
588
+ has no effect on PI runs, normal OpenAI provider runs, ACP conversation
589
+ bindings, or other harnesses.
590
+
591
+ Minimal migrated config:
592
+
593
+ ```json5
594
+ {
595
+ plugins: {
596
+ entries: {
597
+ codex: {
598
+ enabled: true,
599
+ config: {
600
+ codexPlugins: {
601
+ enabled: true,
602
+ allow_destructive_actions: true,
603
+ plugins: {
604
+ "google-calendar": {
605
+ enabled: true,
606
+ marketplaceName: "openai-curated",
607
+ pluginName: "google-calendar",
608
+ },
609
+ },
610
+ },
611
+ },
612
+ },
613
+ },
614
+ },
615
+ }
616
+ ```
617
+
618
+ Thread app config is computed when Nodmix establishes a Codex harness session
619
+ or replaces a stale Codex thread binding. It is not recomputed on every turn.
620
+ After changing `codexPlugins`, use `/new`, `/reset`, or restart the gateway so
621
+ future Codex harness sessions start with the updated app set.
622
+
623
+ For migration eligibility, app inventory, destructive action policy,
624
+ elicitations, and native plugin diagnostics, see
625
+ [Native Codex plugins](/plugins/codex-native-plugins).
626
+
627
+ ## Computer Use
628
+
629
+ Computer Use is covered in its own setup guide:
630
+ [Codex Computer Use](/plugins/codex-computer-use).
631
+
632
+ The short version: Nodmix does not vendor the desktop-control app or execute
633
+ desktop actions itself. It prepares Codex app-server, verifies that the
634
+ `computer-use` MCP server is available, and then lets Codex own the native MCP
635
+ tool calls during Codex-mode turns.
636
+
637
+ ## Runtime boundaries
638
+
639
+ The Codex harness changes the low-level embedded agent executor only.
640
+
641
+ - Nodmix dynamic tools are supported. Codex asks Nodmix to execute those
642
+ tools, so Nodmix remains in the execution path.
643
+ - Codex-native shell, patch, MCP, and native app tools are owned by Codex.
644
+ Nodmix can observe or block selected native events through the supported
645
+ relay, but it does not rewrite native tool arguments.
646
+ - Codex owns native compaction unless the active Nodmix context engine
647
+ declares `ownsCompaction: true`. Nodmix keeps a transcript mirror for
648
+ channel history, search, `/new`, `/reset`, and future model or harness
649
+ switching.
650
+ - Media generation, media understanding, TTS, approvals, and messaging-tool
651
+ output continue through the matching Nodmix provider/model settings.
652
+ - `tool_result_persist` applies to Nodmix-owned transcript tool results, not
653
+ Codex-native tool result records.
654
+
655
+ For hook layers, supported V1 surfaces, native permission handling, queue
656
+ steering, Codex feedback upload mechanics, and compaction details, see
657
+ [Codex harness runtime](/plugins/codex-harness-runtime).
658
+
659
+ ## Troubleshooting
660
+
661
+ **Codex does not appear as a normal `/model` provider:** that is expected for
662
+ new configs. Select an `openai/gpt-*` model, enable
663
+ `plugins.entries.codex.enabled`, and check whether `plugins.allow` excludes
664
+ `codex`.
665
+
666
+ **Nodmix uses PI instead of Codex:** make sure the model ref is
667
+ `openai/gpt-*` on the official OpenAI provider and that the Codex plugin is
668
+ installed and enabled. If you need strict proof while testing, set provider or
669
+ model `agentRuntime.id: "codex"`. A forced Codex runtime fails instead of
670
+ falling back to PI.
671
+
672
+ **OpenAI Codex runtime falls back to the API-key path:** collect a redacted
673
+ gateway excerpt that shows the model, runtime, selected provider, and failure.
674
+ Ask affected collaborators to run this read-only command on their Nodmix host:
675
+
676
+ ```bash
677
+ (
678
+ pattern='openai/gpt-5\.[45]|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|openai-codex|resolveSelectedOpenAIPiRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth'
679
+
680
+ if ls /tmp/nodmix/nodmix-*.log >/dev/null 2>&1; then
681
+ grep -E -i -n "$pattern" /tmp/nodmix/nodmix-*.log 2>/dev/null || true
682
+ else
683
+ journalctl --user -u nodmix-gateway --since today --no-pager 2>/dev/null \
684
+ | grep -E -i "$pattern" || true
685
+ fi
686
+ ) | sed -E \
687
+ -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
688
+ -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \
689
+ -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
690
+ -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \
691
+ -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \
692
+ -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \
693
+ | tail -200
694
+ ```
695
+
696
+ Useful excerpts usually include `openai/gpt-5.5` or `openai/gpt-5.4`,
697
+ `Runtime: OpenAI Codex`, `agentRuntime.id` or `harnessRuntime`,
698
+ `candidateProvider: "openai"`, and a `401`, `Incorrect API key`, or
699
+ `No API key` result. A corrected run should show the `openai-codex` OAuth
700
+ path instead of a plain OpenAI API-key failure.
701
+
702
+ **Legacy `openai-codex/*` config remains:** run `nodmix doctor --fix`.
703
+ Doctor rewrites legacy model refs to `openai/*`, removes stale session and
704
+ whole-agent runtime pins, and preserves existing auth-profile overrides.
705
+
706
+ **The app-server is rejected:** use Codex app-server `0.125.0` or newer.
707
+ Same-version prereleases or build-suffixed versions such as
708
+ `0.125.0-alpha.2` or `0.125.0+custom` are rejected because Nodmix tests the
709
+ stable `0.125.0` protocol floor.
710
+
711
+ **`/codex status` cannot connect:** check that the bundled `codex` plugin is
712
+ enabled, that `plugins.allow` includes it when an allowlist is configured, and
713
+ that any custom `appServer.command`, `url`, `authToken`, or headers are valid.
714
+
715
+ **Model discovery is slow:** lower
716
+ `plugins.entries.codex.config.discovery.timeoutMs` or disable discovery. See
717
+ [Codex harness reference](/plugins/codex-harness-reference#model-discovery).
718
+
719
+ **WebSocket transport fails immediately:** check `appServer.url`, `authToken`,
720
+ headers, and that the remote app-server speaks the same Codex app-server
721
+ protocol version.
722
+
723
+ **A non-Codex model uses PI:** that is expected unless provider or model runtime
724
+ policy routes it to another harness. Plain non-OpenAI provider refs stay on
725
+ their normal provider path in `auto` mode.
726
+
727
+ **Computer Use is installed but tools do not run:** check
728
+ `/codex computer-use status` from a fresh session. If a tool reports
729
+ `Native hook relay unavailable`, use `/new` or `/reset`; if it persists, restart
730
+ the gateway to clear stale native hook registrations. See
731
+ [Codex Computer Use](/plugins/codex-computer-use#troubleshooting).
732
+
733
+ ## Related
734
+
735
+ - [Codex harness reference](/plugins/codex-harness-reference)
736
+ - [Codex harness runtime](/plugins/codex-harness-runtime)
737
+ - [Native Codex plugins](/plugins/codex-native-plugins)
738
+ - [Codex Computer Use](/plugins/codex-computer-use)
739
+ - [Agent runtimes](/concepts/agent-runtimes)
740
+ - [Model providers](/concepts/model-providers)
741
+ - [OpenAI provider](/providers/openai)
742
+ - [Agent harness plugins](/plugins/sdk-agent-harness)
743
+ - [Plugin hooks](/plugins/hooks)
744
+ - [Diagnostics export](/gateway/diagnostics)
745
+ - [Status](/cli/status)
746
+ - [Testing](/help/testing-live#live-codex-app-server-harness-smoke)