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,409 @@
1
+ ---
2
+ summary: "Configuration, auth, discovery, and app-server reference for the Codex harness"
3
+ title: "Codex harness reference"
4
+ read_when:
5
+ - You need every Codex harness config field
6
+ - You are changing app-server transport, auth, discovery, or timeout behavior
7
+ - You are debugging Codex harness startup, model discovery, or environment isolation
8
+ ---
9
+
10
+ This reference covers the detailed configuration for the bundled `codex`
11
+ plugin. For setup and routing decisions, start with
12
+ [Codex harness](/plugins/codex-harness).
13
+
14
+ ## Plugin config surface
15
+
16
+ All Codex harness settings live under `plugins.entries.codex.config`.
17
+
18
+ ```json5
19
+ {
20
+ plugins: {
21
+ entries: {
22
+ codex: {
23
+ enabled: true,
24
+ config: {
25
+ discovery: {
26
+ enabled: true,
27
+ timeoutMs: 2500,
28
+ },
29
+ appServer: {
30
+ mode: "guardian",
31
+ },
32
+ },
33
+ },
34
+ },
35
+ },
36
+ }
37
+ ```
38
+
39
+ Supported top-level fields:
40
+
41
+ | Field | Default | Meaning |
42
+ | -------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `discovery` | enabled | Model discovery settings for Codex app-server `model/list`. |
44
+ | `appServer` | managed stdio app-server | Transport, command, auth, approval, sandbox, and timeout settings. |
45
+ | `codexDynamicToolsLoading` | `"searchable"` | Use `"direct"` to put Nodmix dynamic tools directly in the initial Codex tool context. |
46
+ | `codexDynamicToolsExclude` | `[]` | Additional Nodmix dynamic tool names to omit from Codex app-server turns. |
47
+ | `codexPlugins` | disabled | Native Codex plugin/app support for migrated source-installed curated plugins. See [Native Codex plugins](/plugins/codex-native-plugins). |
48
+ | `computerUse` | disabled | Codex Computer Use setup. See [Codex Computer Use](/plugins/codex-computer-use). |
49
+
50
+ ## App-server transport
51
+
52
+ By default, Nodmix starts the managed Codex binary shipped with the bundled
53
+ plugin:
54
+
55
+ ```bash
56
+ codex app-server --listen stdio://
57
+ ```
58
+
59
+ This keeps the app-server version tied to the bundled `codex` plugin instead of
60
+ whichever separate Codex CLI happens to be installed locally. Set
61
+ `appServer.command` only when you intentionally want to run a different
62
+ executable.
63
+
64
+ For an already-running app-server, use WebSocket transport:
65
+
66
+ ```json5
67
+ {
68
+ plugins: {
69
+ entries: {
70
+ codex: {
71
+ enabled: true,
72
+ config: {
73
+ appServer: {
74
+ transport: "websocket",
75
+ url: "ws://gateway-host:39175",
76
+ authToken: "${CODEX_APP_SERVER_TOKEN}",
77
+ requestTimeoutMs: 60000,
78
+ },
79
+ },
80
+ },
81
+ },
82
+ },
83
+ }
84
+ ```
85
+
86
+ Supported `appServer` fields:
87
+
88
+ | Field | Default | Meaning |
89
+ | ----------------------------- | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
90
+ | `transport` | `"stdio"` | `"stdio"` spawns Codex; `"websocket"` connects to `url`. |
91
+ | `command` | managed Codex binary | Executable for stdio transport. Leave unset to use the managed binary. |
92
+ | `args` | `["app-server", "--listen", "stdio://"]` | Arguments for stdio transport. |
93
+ | `url` | unset | WebSocket app-server URL. |
94
+ | `authToken` | unset | Bearer token for WebSocket transport. |
95
+ | `headers` | `{}` | Extra WebSocket headers. |
96
+ | `clearEnv` | `[]` | Extra environment variable names removed from the spawned stdio app-server process after Nodmix builds its inherited environment. |
97
+ | `requestTimeoutMs` | `60000` | Timeout for app-server control-plane calls. |
98
+ | `turnCompletionIdleTimeoutMs` | `60000` | Quiet window after Codex accepts a turn or after a turn-scoped app-server request while Nodmix waits for `turn/completed`. |
99
+ | `mode` | `"yolo"` unless local Codex requirements disallow YOLO | Preset for YOLO or guardian-reviewed execution. |
100
+ | `approvalPolicy` | `"never"` or an allowed guardian approval policy | Native Codex approval policy sent to thread start, resume, and turn. |
101
+ | `sandbox` | `"danger-full-access"` or an allowed guardian sandbox | Native Codex sandbox mode sent to thread start and resume. Active Nodmix sandboxes narrow `danger-full-access` turns to Codex `workspace-write`; the turn network flag follows Nodmix sandbox egress. |
102
+ | `approvalsReviewer` | `"user"` or an allowed guardian reviewer | Use `"auto_review"` to let Codex review native approval prompts when allowed. |
103
+ | `defaultWorkspaceDir` | current process directory | Workspace used by `/codex bind` when `--cwd` is omitted. |
104
+ | `serviceTier` | unset | Optional Codex app-server service tier. `"priority"` enables fast-mode routing, `"flex"` requests flex processing, and `null` clears the override. Legacy `"fast"` is accepted as `"priority"`. |
105
+
106
+ The plugin blocks older or unversioned app-server handshakes. Codex app-server
107
+ must report stable version `0.125.0` or newer.
108
+
109
+ ## Approval and sandbox modes
110
+
111
+ Local stdio app-server sessions default to YOLO mode:
112
+ `approvalPolicy: "never"`, `approvalsReviewer: "user"`, and
113
+ `sandbox: "danger-full-access"`. This trusted local operator posture lets
114
+ unattended Nodmix turns and heartbeats make progress without native approval
115
+ prompts that nobody is around to answer.
116
+
117
+ If Codex's local system requirements file disallows implicit YOLO approval,
118
+ reviewer, or sandbox values, Nodmix treats the implicit default as guardian
119
+ instead and selects allowed guardian permissions. Hostname-matching
120
+ `[[remote_sandbox_config]]` entries in the same requirements file are honored
121
+ for the sandbox default decision.
122
+
123
+ Set `appServer.mode: "guardian"` for Codex guardian-reviewed approvals:
124
+
125
+ ```json5
126
+ {
127
+ plugins: {
128
+ entries: {
129
+ codex: {
130
+ enabled: true,
131
+ config: {
132
+ appServer: {
133
+ mode: "guardian",
134
+ serviceTier: "priority",
135
+ },
136
+ },
137
+ },
138
+ },
139
+ },
140
+ }
141
+ ```
142
+
143
+ The `guardian` preset expands to `approvalPolicy: "on-request"`,
144
+ `approvalsReviewer: "auto_review"`, and `sandbox: "workspace-write"` when those
145
+ values are allowed. Individual policy fields override `mode`. The older
146
+ `guardian_subagent` reviewer value is still accepted as a compatibility alias,
147
+ but new configs should use `auto_review`.
148
+
149
+ When an Nodmix sandbox is active, the local Codex app-server process still
150
+ runs on the Gateway host. Nodmix therefore keeps Codex's own filesystem
151
+ sandbox for native code-mode turns. `danger-full-access` turns are narrowed to
152
+ Codex `workspace-write`, and `workspace-write` turn `networkAccess` is derived
153
+ from the Nodmix sandbox egress setting: Docker `network: "none"` stays
154
+ offline, while `network: "bridge"` or a custom Docker network permits outbound
155
+ access.
156
+
157
+ On Ubuntu/AppArmor hosts, Codex bwrap can fail under `workspace-write` before
158
+ the shell command starts. If you see
159
+ `bwrap: setting up uid map: Permission denied` or
160
+ `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted`, run
161
+ `nodmix doctor` and fix the reported host namespace policy for the Nodmix
162
+ service user rather than granting broader Docker container privileges. Prefer
163
+ a scoped AppArmor profile for the service process; the
164
+ `kernel.apparmor_restrict_unprivileged_userns=0` fallback is host-wide and has
165
+ security tradeoffs.
166
+
167
+ ## Auth and environment isolation
168
+
169
+ Auth is selected in this order:
170
+
171
+ 1. An explicit Nodmix Codex auth profile for the agent.
172
+ 2. The app-server's existing account in that agent's Codex home.
173
+ 3. For local stdio app-server launches only, `CODEX_API_KEY`, then
174
+ `OPENAI_API_KEY`, when no app-server account is present and OpenAI auth is
175
+ still required.
176
+
177
+ When Nodmix sees a ChatGPT subscription-style Codex auth profile, it removes
178
+ `CODEX_API_KEY` and `OPENAI_API_KEY` from the spawned Codex child process. That
179
+ keeps Gateway-level API keys available for embeddings or direct OpenAI models
180
+ without making native Codex app-server turns bill through the API by accident.
181
+
182
+ Explicit Codex API-key profiles and local stdio env-key fallback use app-server
183
+ login instead of inherited child-process env. WebSocket app-server connections
184
+ do not receive Gateway env API-key fallback; use an explicit auth profile or the
185
+ remote app-server's own account.
186
+
187
+ Stdio app-server launches inherit Nodmix's process environment by default.
188
+ Nodmix owns the Codex app-server account bridge and sets `CODEX_HOME` to a
189
+ per-agent directory under that agent's Nodmix state. That keeps Codex config,
190
+ accounts, plugin cache/data, and thread state scoped to the Nodmix agent
191
+ instead of leaking in from the operator's personal `~/.codex` home.
192
+
193
+ Nodmix does not rewrite `HOME` for normal local app-server launches. Codex-run
194
+ subprocesses such as `nodmix`, `gh`, `git`, cloud CLIs, and shell commands see
195
+ the normal process home and can find user-home config and tokens. Codex may also
196
+ discover `$HOME/.agents/skills` and `$HOME/.agents/plugins/marketplace.json`;
197
+ that `.agents` discovery is intentionally shared with the operator home and is
198
+ separate from isolated `~/.codex` state.
199
+
200
+ Nodmix plugins and Nodmix skill snapshots still flow through Nodmix's own
201
+ plugin registry and skill loader. Personal Codex `~/.codex` assets do not. If
202
+ you have useful Codex CLI skills or plugins from a Codex home that should become
203
+ part of an Nodmix agent, inventory them explicitly:
204
+
205
+ ```bash
206
+ nodmix migrate codex --dry-run
207
+ nodmix migrate apply codex --yes
208
+ ```
209
+
210
+ If a deployment needs additional environment isolation, add those variables to
211
+ `appServer.clearEnv`:
212
+
213
+ ```json5
214
+ {
215
+ plugins: {
216
+ entries: {
217
+ codex: {
218
+ enabled: true,
219
+ config: {
220
+ appServer: {
221
+ clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
222
+ },
223
+ },
224
+ },
225
+ },
226
+ },
227
+ }
228
+ ```
229
+
230
+ `appServer.clearEnv` only affects the spawned Codex app-server child process.
231
+ Nodmix removes `CODEX_HOME` and `HOME` from this list during local launch
232
+ normalization: `CODEX_HOME` stays per-agent, and `HOME` stays inherited so
233
+ subprocesses can use normal user-home state.
234
+
235
+ ## Dynamic tools
236
+
237
+ Codex dynamic tools default to `searchable` loading. Nodmix does not expose
238
+ dynamic tools that duplicate Codex-native workspace operations:
239
+
240
+ - `read`
241
+ - `write`
242
+ - `edit`
243
+ - `apply_patch`
244
+ - `exec`
245
+ - `process`
246
+ - `update_plan`
247
+
248
+ Most remaining Nodmix integration tools, such as messaging, media, cron,
249
+ browser, nodes, gateway, `heartbeat_respond`, and `web_search`, are available
250
+ through Codex tool search under the `nodmix` namespace. This keeps the initial
251
+ model context smaller. `sessions_yield` and message-tool-only source replies
252
+ stay direct because those are turn-control contracts. `sessions_spawn` stays
253
+ searchable so Codex's native `spawn_agent` remains the primary Codex subagent
254
+ surface, while explicit Nodmix or ACP delegation is still available through
255
+ the `nodmix` dynamic tool namespace.
256
+
257
+ Set `codexDynamicToolsLoading: "direct"` only when connecting to a custom Codex
258
+ app-server that cannot search deferred dynamic tools or when debugging the full
259
+ tool payload.
260
+
261
+ ## Timeouts
262
+
263
+ Nodmix-owned dynamic tool calls are bounded independently from
264
+ `appServer.requestTimeoutMs`. Each Codex `item/tool/call` request uses the first
265
+ available timeout in this order:
266
+
267
+ - A positive per-call `timeoutMs` argument.
268
+ - For `image_generate`, `agents.defaults.imageGenerationModel.timeoutMs`.
269
+ - For `image_generate` without a configured timeout, the 120 second
270
+ image-generation default.
271
+ - For the media-understanding `image` tool, `tools.media.image.timeoutSeconds`
272
+ converted to milliseconds, or the 60 second media default.
273
+ - The 30 second dynamic-tool default.
274
+
275
+ Dynamic tool budgets are capped at 600000 ms. On timeout, Nodmix aborts the
276
+ tool signal where supported and returns a failed dynamic-tool response to Codex
277
+ so the turn can continue instead of leaving the session in `processing`.
278
+
279
+ After Codex accepts a turn, and after Nodmix responds to a turn-scoped
280
+ app-server request, the harness expects Codex to make current-turn progress and
281
+ eventually finish the native turn with `turn/completed`. If the app-server goes
282
+ quiet for `appServer.turnCompletionIdleTimeoutMs`, Nodmix best-effort
283
+ interrupts the Codex turn, records a diagnostic timeout, and releases the
284
+ Nodmix session lane so follow-up chat messages are not queued behind a stale
285
+ native turn.
286
+
287
+ Most non-terminal notifications for the same turn disarm that short watchdog
288
+ because Codex has proven the turn is still alive. Raw `custom_tool_call_output`
289
+ completions keep the short post-tool watchdog armed because they are the
290
+ turn-scoped tool-result handoff. Completed `agentMessage` items and pre-tool raw
291
+ assistant `rawResponseItem/completed` items arm the assistant-output release: if
292
+ Codex then goes quiet without `turn/completed`, Nodmix best-effort interrupts
293
+ the native turn and releases the session lane. Post-tool raw assistant progress
294
+ keeps waiting for `turn/completed` or the terminal watchdog. Timeout diagnostics
295
+ include the last app-server notification method and, for raw assistant response
296
+ items, the item type, role, id, and a bounded assistant text preview.
297
+
298
+ ## Model discovery
299
+
300
+ By default, the Codex plugin asks the app-server for available models. Model
301
+ availability is owned by Codex app-server, so the list can change when Nodmix
302
+ upgrades the bundled `@openai/codex` version or when a deployment points
303
+ `appServer.command` at a different Codex binary. Availability can also be
304
+ account-scoped. Use `/codex models` on a running gateway to see the live catalog
305
+ for that harness and account.
306
+
307
+ If discovery fails or times out, Nodmix uses a bundled fallback catalog for:
308
+
309
+ - GPT-5.5
310
+ - GPT-5.4 mini
311
+ - GPT-5.2
312
+
313
+ The current bundled harness is `@openai/codex` `0.132.0`. A `model/list` probe
314
+ against that bundled app-server returned:
315
+
316
+ | Model id | Default | Hidden | Input modalities | Reasoning efforts |
317
+ | ------------------- | ------- | ------ | ---------------- | ------------------------ |
318
+ | `gpt-5.5` | Yes | No | text, image | low, medium, high, xhigh |
319
+ | `gpt-5.4` | No | No | text, image | low, medium, high, xhigh |
320
+ | `gpt-5.4-mini` | No | No | text, image | low, medium, high, xhigh |
321
+ | `gpt-5.3-codex` | No | No | text, image | low, medium, high, xhigh |
322
+ | `gpt-5.2` | No | No | text, image | low, medium, high, xhigh |
323
+ | `codex-auto-review` | No | Yes | text, image | low, medium, high, xhigh |
324
+
325
+ Hidden models can be returned by the app-server catalog for internal or
326
+ specialized flows, but they are not normal model-picker choices.
327
+
328
+ Tune discovery under `plugins.entries.codex.config.discovery`:
329
+
330
+ ```json5
331
+ {
332
+ plugins: {
333
+ entries: {
334
+ codex: {
335
+ enabled: true,
336
+ config: {
337
+ discovery: {
338
+ enabled: true,
339
+ timeoutMs: 2500,
340
+ },
341
+ },
342
+ },
343
+ },
344
+ },
345
+ }
346
+ ```
347
+
348
+ Disable discovery when you want startup to avoid probing Codex and use only the
349
+ fallback catalog:
350
+
351
+ ```json5
352
+ {
353
+ plugins: {
354
+ entries: {
355
+ codex: {
356
+ enabled: true,
357
+ config: {
358
+ discovery: {
359
+ enabled: false,
360
+ },
361
+ },
362
+ },
363
+ },
364
+ },
365
+ }
366
+ ```
367
+
368
+ ## Workspace bootstrap files
369
+
370
+ Codex handles `AGENTS.md` itself through native project-doc discovery. Nodmix
371
+ does not write synthetic Codex project-doc files or depend on Codex fallback
372
+ filenames for persona files, because Codex fallbacks only apply when
373
+ `AGENTS.md` is missing.
374
+
375
+ For Nodmix workspace parity, the Codex harness resolves the other bootstrap
376
+ files. `SOUL.md`, `IDENTITY.md`, `TOOLS.md`, and `USER.md` are forwarded as
377
+ Nodmix Codex developer instructions because they define the active agent,
378
+ available workspace guidance, and user profile. `HEARTBEAT.md` content is not
379
+ injected; heartbeat turns get a collaboration-mode pointer to read the file when
380
+ it exists and is non-empty. `BOOTSTRAP.md` and `MEMORY.md` when present are
381
+ forwarded as Nodmix turn input reference context.
382
+
383
+ ## Environment overrides
384
+
385
+ Environment overrides remain available for local testing:
386
+
387
+ - `NODMIX_CODEX_APP_SERVER_BIN`
388
+ - `NODMIX_CODEX_APP_SERVER_ARGS`
389
+ - `NODMIX_CODEX_APP_SERVER_MODE=yolo|guardian`
390
+ - `NODMIX_CODEX_APP_SERVER_APPROVAL_POLICY`
391
+ - `NODMIX_CODEX_APP_SERVER_SANDBOX`
392
+
393
+ `NODMIX_CODEX_APP_SERVER_BIN` bypasses the managed binary when
394
+ `appServer.command` is unset.
395
+
396
+ `NODMIX_CODEX_APP_SERVER_GUARDIAN=1` was removed. Use
397
+ `plugins.entries.codex.config.appServer.mode: "guardian"` instead, or
398
+ `NODMIX_CODEX_APP_SERVER_MODE=guardian` for one-off local testing. Config is
399
+ preferred for repeatable deployments because it keeps the plugin behavior in the
400
+ same reviewed file as the rest of the Codex harness setup.
401
+
402
+ ## Related
403
+
404
+ - [Codex harness](/plugins/codex-harness)
405
+ - [Codex harness runtime](/plugins/codex-harness-runtime)
406
+ - [Native Codex plugins](/plugins/codex-native-plugins)
407
+ - [Codex Computer Use](/plugins/codex-computer-use)
408
+ - [OpenAI provider](/providers/openai)
409
+ - [Configuration reference](/gateway/configuration-reference)
@@ -0,0 +1,247 @@
1
+ ---
2
+ summary: "Runtime boundaries, hooks, tools, permissions, and diagnostics for the Codex harness"
3
+ title: "Codex harness runtime"
4
+ read_when:
5
+ - You need the Codex harness runtime support contract
6
+ - You are debugging native Codex tools, hooks, compaction, or feedback upload
7
+ - You are changing plugin behavior across PI and Codex harness turns
8
+ ---
9
+
10
+ This page documents the runtime contract for Codex harness turns. For setup and
11
+ routing, start with [Codex harness](/plugins/codex-harness). For config fields,
12
+ see [Codex harness reference](/plugins/codex-harness-reference).
13
+
14
+ ## Overview
15
+
16
+ Codex mode is not PI with a different model call underneath. Codex owns more of
17
+ the native model loop, and Nodmix adapts its plugin, tool, session, and
18
+ diagnostic surfaces around that boundary.
19
+
20
+ Nodmix still owns channel routing, session files, visible message delivery,
21
+ Nodmix dynamic tools, approvals, media delivery, and a transcript mirror.
22
+ Codex owns the canonical native thread, native model loop, native tool
23
+ continuation, and native compaction unless the active Nodmix context engine
24
+ declares that it owns compaction.
25
+
26
+ Prompt routing follows the selected runtime, not just the provider string. A
27
+ native Codex turn receives Codex app-server developer instructions, while an
28
+ explicit PI compatibility route keeps the normal Nodmix/PI system prompt even
29
+ when it uses Codex-flavored OpenAI auth or transport.
30
+
31
+ Native Codex keeps Codex-owned base/model/personality instructions and
32
+ project-doc behavior according to the active Codex thread config. Lightweight
33
+ Nodmix runs still preserve their existing project-doc suppression. Nodmix
34
+ developer instructions cover Nodmix runtime concerns such as source-channel
35
+ delivery, Nodmix dynamic tools, ACP delegation, adapter context, and the
36
+ active agent workspace profile files. Nodmix skill catalogs plus `MEMORY.md`
37
+ and active `BOOTSTRAP.md` content are projected as turn input reference context
38
+ for native Codex.
39
+
40
+ ## Thread bindings and model changes
41
+
42
+ When an Nodmix session is attached to an existing Codex thread, the next turn
43
+ sends the currently selected OpenAI model, approval policy, sandbox, and service
44
+ tier to app-server again. Switching from `openai/gpt-5.5` to
45
+ `openai/gpt-5.2` keeps the thread binding but asks Codex to continue with the
46
+ newly selected model.
47
+
48
+ ## Visible replies and heartbeats
49
+
50
+ When a direct/source chat turn runs through the Codex harness, visible replies
51
+ default to the message tool: final assistant text stays private unless the
52
+ agent calls `message(action="send")`. This matches GPT models well because they
53
+ can decide whether source-channel output is useful. Set
54
+ `messages.visibleReplies: "automatic"` to restore the old mode where final
55
+ assistant text posts automatically.
56
+
57
+ Codex heartbeat turns also get `heartbeat_respond` in the searchable Nodmix
58
+ tool catalog by default, so the agent can record whether the wake should stay
59
+ quiet or notify without encoding that control flow in final text.
60
+
61
+ Heartbeat-specific initiative guidance is sent as a Codex collaboration-mode
62
+ developer instruction on the heartbeat turn itself. Ordinary chat turns restore
63
+ Codex Default mode instead of carrying heartbeat philosophy in their normal
64
+ runtime prompt. When a non-empty `HEARTBEAT.md` exists, the heartbeat
65
+ collaboration-mode instructions point Codex at the file instead of inlining its
66
+ contents.
67
+
68
+ ## Hook boundaries
69
+
70
+ The Codex harness has three hook layers:
71
+
72
+ | Layer | Owner | Purpose |
73
+ | ------------------------------------- | ------------------------ | ------------------------------------------------------------------- |
74
+ | Nodmix plugin hooks | Nodmix | Product/plugin compatibility across PI and Codex harnesses. |
75
+ | Codex app-server extension middleware | Nodmix bundled plugins | Per-turn adapter behavior around Nodmix dynamic tools. |
76
+ | Codex native hooks | Codex | Low-level Codex lifecycle and native tool policy from Codex config. |
77
+
78
+ Nodmix does not use project or global Codex `hooks.json` files to route
79
+ Nodmix plugin behavior. For the supported native tool and permission bridge,
80
+ Nodmix injects per-thread Codex config for `PreToolUse`, `PostToolUse`,
81
+ `PermissionRequest`, and `Stop`.
82
+
83
+ When Codex app-server approvals are enabled, meaning `approvalPolicy` is not
84
+ `"never"`, the default injected native hook config omits `PermissionRequest` so
85
+ Codex's app-server reviewer and Nodmix's approval bridge handle real
86
+ escalations after review. Operators can explicitly add `permission_request` to
87
+ `nativeHookRelay.events` when they need the compatibility relay.
88
+
89
+ Other Codex hooks such as `SessionStart` and `UserPromptSubmit` remain
90
+ Codex-level controls. They are not exposed as Nodmix plugin hooks in the v1
91
+ contract.
92
+
93
+ For Nodmix dynamic tools, Nodmix executes the tool after Codex asks for the
94
+ call, so Nodmix fires the plugin and middleware behavior it owns in the
95
+ harness adapter. For Codex-native tools, Codex owns the canonical tool record.
96
+ Nodmix can mirror selected events, but it cannot rewrite the native Codex
97
+ thread unless Codex exposes that operation through app-server or native hook
98
+ callbacks.
99
+
100
+ Codex app-server item notifications also provide async `after_tool_call`
101
+ observations for native tool completions that are not already covered by the
102
+ native `PostToolUse` relay. These observations are for telemetry and plugin
103
+ compatibility only; they cannot block, delay, or mutate the native tool call.
104
+
105
+ Compaction and LLM lifecycle projections come from Codex app-server
106
+ notifications and Nodmix adapter state, not native Codex hook commands.
107
+ Nodmix's `before_compaction`, `after_compaction`, `llm_input`, and
108
+ `llm_output` events are adapter-level observations, not byte-for-byte captures
109
+ of Codex's internal request or compaction payloads.
110
+
111
+ Codex native `hook/started` and `hook/completed` app-server notifications are
112
+ projected as `codex_app_server.hook` agent events for trajectory and debugging.
113
+ They do not invoke Nodmix plugin hooks.
114
+
115
+ ## V1 support contract
116
+
117
+ Supported in Codex runtime v1:
118
+
119
+ | Surface | Support | Why |
120
+ | --------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
121
+ | OpenAI model loop through Codex | Supported | Codex app-server owns the OpenAI turn, native thread resume, and native tool continuation. |
122
+ | Nodmix channel routing and delivery | Supported | Telegram, Discord, Slack, WhatsApp, iMessage, and other channels stay outside the model runtime. |
123
+ | Nodmix dynamic tools | Supported | Codex asks Nodmix to execute these tools, so Nodmix stays in the execution path. |
124
+ | Prompt and context plugins | Supported | Nodmix projects Nodmix-specific prompt/context into the Codex turn while leaving Codex-owned base, model, personality, and configured project-doc prompts in the native Codex lane. Native Codex developer instructions accept only command guidance explicitly scoped to `codex_app_server`; legacy global command hints remain for non-Codex prompt surfaces. |
125
+ | Context engine lifecycle | Supported | Assemble, ingest, after-turn maintenance, and context-engine compaction coordination run for Codex turns. |
126
+ | Dynamic tool hooks | Supported | `before_tool_call`, `after_tool_call`, and tool-result middleware run around Nodmix-owned dynamic tools. |
127
+ | Lifecycle hooks | Supported as adapter observations | `llm_input`, `llm_output`, `agent_end`, `before_compaction`, and `after_compaction` fire with honest Codex-mode payloads. |
128
+ | Final-answer revision gate | Supported through native hook relay | Codex `Stop` is relayed to `before_agent_finalize`; `revise` asks Codex for one more model pass before finalization. |
129
+ | Native shell, patch, and MCP block or observe | Supported through native hook relay | Codex `PreToolUse` and `PostToolUse` are relayed for committed native tool surfaces, including MCP payloads on Codex app-server `0.125.0` or newer. Blocking is supported; argument rewriting is not. |
130
+ | Native permission policy | Supported through Codex app-server approvals and compatibility native hook relay | Codex app-server approval requests route through Nodmix after Codex review. The `PermissionRequest` native hook relay is opt-in for native approval modes because Codex emits it before guardian review. |
131
+ | App-server trajectory capture | Supported | Nodmix records the request it sent to app-server and the app-server notifications it receives. |
132
+
133
+ Not supported in Codex runtime v1:
134
+
135
+ | Surface | V1 boundary | Future path |
136
+ | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
137
+ | Native tool argument mutation | Codex native pre-tool hooks can block, but Nodmix does not rewrite Codex-native tool arguments. | Requires Codex hook/schema support for replacement tool input. |
138
+ | Editable Codex-native transcript history | Codex owns canonical native thread history. Nodmix owns a mirror and can project future context, but should not mutate unsupported internals. | Add explicit Codex app-server APIs if native thread surgery is needed. |
139
+ | `tool_result_persist` for Codex-native tool records | That hook transforms Nodmix-owned transcript writes, not Codex-native tool records. | Could mirror transformed records, but canonical rewrite needs Codex support. |
140
+ | Rich native compaction metadata | Nodmix observes compaction start and completion, but does not receive a stable kept/dropped list, token delta, or summary payload. | Needs richer Codex compaction events. |
141
+ | Compaction intervention | Current Nodmix compaction hooks are notification-level in Codex mode. | Add Codex pre/post compaction hooks if plugins need to veto or rewrite native compaction. |
142
+ | Byte-for-byte model API request capture | Nodmix can capture app-server requests and notifications, but Codex core builds the final OpenAI API request internally. | Needs a Codex model-request tracing event or debug API. |
143
+
144
+ ## Native permissions and MCP elicitations
145
+
146
+ For `PermissionRequest`, Nodmix only returns explicit allow or deny decisions
147
+ when policy decides. A no-decision result is not an allow. Codex treats it as no
148
+ hook decision and falls through to its own guardian or user approval path.
149
+
150
+ Codex app-server approval modes omit this native hook by default. This behavior
151
+ applies when `permission_request` is explicitly included in
152
+ `nativeHookRelay.events` or a compatibility runtime installs it.
153
+
154
+ When an operator chooses `allow-always` for a Codex native permission request,
155
+ Nodmix remembers that exact provider/session/tool input/cwd fingerprint for a
156
+ bounded session window. The remembered decision is intentionally exact-match
157
+ only: a changed command, arguments, tool payload, or cwd creates a fresh
158
+ approval.
159
+
160
+ Codex MCP tool approval elicitations are routed through Nodmix's plugin
161
+ approval flow when Codex marks `_meta.codex_approval_kind` as
162
+ `"mcp_tool_call"`. Codex `request_user_input` prompts are sent back to the
163
+ originating chat, and the next queued follow-up message answers that native
164
+ server request instead of being steered as extra context. Other MCP elicitation
165
+ requests fail closed.
166
+
167
+ ## Queue steering
168
+
169
+ Active-run queue steering maps onto Codex app-server `turn/steer`. With the
170
+ default `messages.queue.mode: "steer"`, Nodmix batches steer-mode chat
171
+ messages for the configured quiet window and sends them as one `turn/steer`
172
+ request in arrival order.
173
+
174
+ Codex review and manual compaction turns can reject same-turn steering. In that
175
+ case, Nodmix waits for the active run to finish before starting the prompt.
176
+ Use `/queue followup` or `/queue collect` when messages should queue by default
177
+ instead of steering. See [Steering queue](/concepts/queue-steering).
178
+
179
+ ## Codex feedback upload
180
+
181
+ When `/diagnostics [note]` is approved for a session using the native Codex
182
+ harness, Nodmix also calls Codex app-server `feedback/upload` for relevant
183
+ Codex threads. The upload asks app-server to include logs for each listed thread
184
+ and spawned Codex subthreads when available.
185
+
186
+ The upload goes through Codex's normal feedback path to OpenAI servers. If Codex
187
+ feedback is disabled in that app-server, the command returns the app-server
188
+ error. The completed diagnostics reply lists the channels, Nodmix session ids,
189
+ Codex thread ids, and local `codex resume <thread-id>` commands for the threads
190
+ that were sent.
191
+
192
+ If you deny or ignore the approval, Nodmix does not print those Codex ids and
193
+ does not send Codex feedback. The upload does not replace the local Gateway
194
+ diagnostics export. See [Diagnostics export](/gateway/diagnostics) for the
195
+ approval, privacy, local bundle, and group-chat behavior.
196
+
197
+ Use `/codex diagnostics [note]` only when you specifically want the Codex
198
+ feedback upload for the currently attached thread without the full Gateway
199
+ diagnostics bundle.
200
+
201
+ ## Compaction and transcript mirror
202
+
203
+ When the selected model uses the Codex harness, native thread compaction is
204
+ delegated to Codex app-server unless an active context engine declares
205
+ `ownsCompaction: true`. Owning context engines compact first and cause Nodmix
206
+ to abandon the old Codex backend thread so the next turn can rehydrate a fresh
207
+ thread from engine-managed context. Nodmix keeps a transcript mirror for
208
+ channel history, search, `/new`, `/reset`, and future model or harness
209
+ switching.
210
+
211
+ When a context engine requests Codex thread-bootstrap projection, Nodmix
212
+ projects tool-call names and ids, input shapes, and redacted tool-result content
213
+ into the fresh Codex thread. It does not copy raw tool-call argument values into
214
+ that projection.
215
+
216
+ The mirror includes the user prompt, final assistant text, and lightweight Codex
217
+ reasoning or plan records when the app-server emits them. Today, Nodmix only
218
+ records native compaction start and completion signals. It does not yet expose a
219
+ human-readable compaction summary or an auditable list of which entries Codex
220
+ kept after compaction.
221
+
222
+ Because Codex owns the canonical native thread, `tool_result_persist` does not
223
+ currently rewrite Codex-native tool result records. It only applies when
224
+ Nodmix is writing an Nodmix-owned session transcript tool result.
225
+
226
+ ## Media and delivery
227
+
228
+ Nodmix continues to own media delivery and media provider selection. Image,
229
+ video, music, PDF, TTS, and media understanding use matching provider/model
230
+ settings such as `agents.defaults.imageGenerationModel`, `videoGenerationModel`,
231
+ `pdfModel`, and `messages.tts`.
232
+
233
+ Text, images, video, music, TTS, approvals, and messaging-tool output continue
234
+ through the normal Nodmix delivery path. Media generation does not require PI.
235
+ When Codex emits a native image-generation item with a `savedPath`, Nodmix
236
+ forwards that exact file through the normal reply-media path even if the Codex
237
+ turn has no assistant text.
238
+
239
+ ## Related
240
+
241
+ - [Codex harness](/plugins/codex-harness)
242
+ - [Codex harness reference](/plugins/codex-harness-reference)
243
+ - [Native Codex plugins](/plugins/codex-native-plugins)
244
+ - [Plugin hooks](/plugins/hooks)
245
+ - [Agent harness plugins](/plugins/sdk-agent-harness)
246
+ - [Diagnostics export](/gateway/diagnostics)
247
+ - [Trajectory export](/tools/trajectory)