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,316 @@
1
+ # Tweakcn Custom Theme Import Design
2
+
3
+ Status: approved in terminal on 2026-04-22
4
+
5
+ ## Summary
6
+
7
+ Add exactly one browser-local custom Control UI theme slot that can be imported from a tweakcn share link. The existing built-in theme families remain `claw`, `knot`, and `dash`. The new `custom` family behaves like a normal Nodmix theme family and supports `light`, `dark`, and `system` mode when the imported tweakcn payload includes both light and dark token sets.
8
+
9
+ The imported theme is stored only in the current browser profile with the rest of the Control UI settings. It is not written to gateway config and does not sync across devices or browsers.
10
+
11
+ ## Problem
12
+
13
+ The Control UI theme system is currently closed over three hard-coded theme families:
14
+
15
+ - `ui/src/ui/theme.ts`
16
+ - `ui/src/ui/views/config.ts`
17
+ - `ui/src/styles/base.css`
18
+
19
+ Users can switch among built-in families and mode variants, but they cannot bring in a theme from tweakcn without editing repo CSS. The requested outcome is smaller than a general theming system: keep the three built-ins and add one user-controlled imported slot that can be replaced from a tweakcn link.
20
+
21
+ ## Goals
22
+
23
+ - Keep the existing built-in theme families unchanged.
24
+ - Add exactly one imported custom slot, not a theme library.
25
+ - Accept a tweakcn share link or a direct `https://tweakcn.com/r/themes/{id}` URL.
26
+ - Persist the imported theme in browser local storage only.
27
+ - Make the imported slot work with existing `light`, `dark`, and `system` mode controls.
28
+ - Keep failure behavior safe: a bad import never breaks the active UI theme.
29
+
30
+ ## Non goals
31
+
32
+ - No multi-theme library or browser-local list of imports.
33
+ - No gateway-side persistence or cross-device sync.
34
+ - No arbitrary CSS editor or raw theme JSON editor.
35
+ - No automatic loading of remote font assets from tweakcn.
36
+ - No attempt to support tweakcn payloads that only expose one mode.
37
+ - No repo-wide theming refactor beyond the seams required for the Control UI.
38
+
39
+ ## User decisions already made
40
+
41
+ - Keep the three built-in themes.
42
+ - Add one tweakcn-powered import slot.
43
+ - Store the imported theme in the browser, not gateway config.
44
+ - Support `light`, `dark`, and `system` for the imported slot.
45
+ - Overwriting the custom slot with the next import is the intended behavior.
46
+
47
+ ## Recommended approach
48
+
49
+ Add a fourth theme family id, `custom`, to the Control UI theme model. The `custom` family becomes selectable only when a valid tweakcn import is present. The imported payload is normalized into an Nodmix-specific custom theme record and stored in browser local storage with the rest of the UI settings.
50
+
51
+ At runtime, Nodmix renders a managed `<style>` tag that defines the resolved custom CSS variable blocks:
52
+
53
+ ```css
54
+ :root[data-theme="custom"] { ... }
55
+ :root[data-theme="custom-light"] { ... }
56
+ ```
57
+
58
+ This keeps custom theme variables scoped to the `custom` family and avoids leaking inline CSS variables into the built-in families.
59
+
60
+ ## Architecture
61
+
62
+ ### Theme model
63
+
64
+ Update `ui/src/ui/theme.ts`:
65
+
66
+ - Extend `ThemeName` to include `custom`.
67
+ - Extend `ResolvedTheme` to include `custom` and `custom-light`.
68
+ - Extend `VALID_THEME_NAMES`.
69
+ - Update `resolveTheme()` so `custom` mirrors the existing family behavior:
70
+ - `custom + dark` -> `custom`
71
+ - `custom + light` -> `custom-light`
72
+ - `custom + system` -> `custom` or `custom-light` based on OS preference
73
+
74
+ No legacy aliases are added for `custom`.
75
+
76
+ ### Persistence model
77
+
78
+ Extend `UiSettings` persistence in `ui/src/ui/storage.ts` with one optional custom-theme payload:
79
+
80
+ - `customTheme?: ImportedCustomTheme`
81
+
82
+ Recommended stored shape:
83
+
84
+ ```ts
85
+ type ImportedCustomTheme = {
86
+ sourceUrl: string;
87
+ themeId: string;
88
+ label: string;
89
+ importedAt: string;
90
+ light: Record<string, string>;
91
+ dark: Record<string, string>;
92
+ };
93
+ ```
94
+
95
+ Notes:
96
+
97
+ - `sourceUrl` stores the original user input after normalization.
98
+ - `themeId` is the tweakcn theme id extracted from the URL.
99
+ - `label` is the tweakcn `name` field when present, else `Custom`.
100
+ - `light` and `dark` are already normalized Nodmix token maps, not raw tweakcn payloads.
101
+ - The imported payload lives beside other browser-local settings and is serialized in the same local-storage document.
102
+ - If stored custom-theme data is missing or invalid on load, ignore the payload and fall back to `theme: "claw"` when the persisted family was `custom`.
103
+
104
+ ### Runtime application
105
+
106
+ Add a narrow custom-theme stylesheet manager in the Control UI runtime, owned near `ui/src/ui/app-settings.ts` and `ui/src/ui/theme.ts`.
107
+
108
+ Responsibilities:
109
+
110
+ - Create or update one stable `<style id="nodmix-custom-theme">` tag in `document.head`.
111
+ - Emit CSS only when a valid custom theme payload exists.
112
+ - Remove the style tag content when the payload is cleared.
113
+ - Keep built-in family CSS in `ui/src/styles/base.css`; do not splice imported tokens into the checked-in stylesheet.
114
+
115
+ This manager runs whenever settings are loaded, saved, imported, or cleared.
116
+
117
+ ### Light-mode selectors
118
+
119
+ Implementation should prefer `data-theme-mode="light"` for cross-family light styling rather than special-casing `custom-light`. If an existing selector is pinned to `data-theme="light"` and needs to apply to every light family, broaden it as part of this work.
120
+
121
+ ## Import UX
122
+
123
+ Update `ui/src/ui/views/config.ts` in the `Appearance` section:
124
+
125
+ - Add a `Custom` theme card beside `Claw`, `Knot`, and `Dash`.
126
+ - Show the card as disabled when no imported custom theme exists.
127
+ - Add an import panel under the theme grid with:
128
+ - one text input for a tweakcn share link or `/r/themes/{id}` URL
129
+ - one `Import` button
130
+ - one `Replace` path when a custom payload already exists
131
+ - one `Clear` action when a custom payload already exists
132
+ - Show the imported theme label and source host when a payload exists.
133
+ - If the active theme is `custom`, importing a replacement applies immediately.
134
+ - If the active theme is not `custom`, importing only stores the new payload until the user selects the `Custom` card.
135
+
136
+ The quick settings theme picker in `ui/src/ui/views/config-quick.ts` should also show `Custom` only when a payload exists.
137
+
138
+ ## URL parsing and remote fetch
139
+
140
+ The browser import path accepts:
141
+
142
+ - `https://tweakcn.com/themes/{id}`
143
+ - `https://tweakcn.com/r/themes/{id}`
144
+
145
+ Implementation should normalize both forms to:
146
+
147
+ - `https://tweakcn.com/r/themes/{id}`
148
+
149
+ The browser then fetches the normalized `/r/themes/{id}` endpoint directly.
150
+
151
+ Use a narrow schema validator for the external payload. A zod schema is preferred because this is an untrusted external boundary.
152
+
153
+ Required remote fields:
154
+
155
+ - top-level `name` as optional string
156
+ - `cssVars.theme` as optional object
157
+ - `cssVars.light` as object
158
+ - `cssVars.dark` as object
159
+
160
+ If either `cssVars.light` or `cssVars.dark` is missing, reject the import. This is deliberate: the approved product behavior is full mode support, not best-effort synthesis of a missing side.
161
+
162
+ ## Token mapping
163
+
164
+ Do not mirror tweakcn variables blindly. Normalize a bounded subset into Nodmix tokens and derive the rest in a helper.
165
+
166
+ ### Tokens imported directly
167
+
168
+ From each tweakcn mode block:
169
+
170
+ - `background`
171
+ - `foreground`
172
+ - `card`
173
+ - `card-foreground`
174
+ - `popover`
175
+ - `popover-foreground`
176
+ - `primary`
177
+ - `primary-foreground`
178
+ - `secondary`
179
+ - `secondary-foreground`
180
+ - `muted`
181
+ - `muted-foreground`
182
+ - `accent`
183
+ - `accent-foreground`
184
+ - `destructive`
185
+ - `destructive-foreground`
186
+ - `border`
187
+ - `input`
188
+ - `ring`
189
+ - `radius`
190
+
191
+ From shared `cssVars.theme` when present:
192
+
193
+ - `font-sans`
194
+ - `font-mono`
195
+
196
+ If a mode block overrides `font-sans`, `font-mono`, or `radius`, the mode-local value wins.
197
+
198
+ ### Tokens derived for Nodmix
199
+
200
+ The importer derives Nodmix-only variables from the imported base colors:
201
+
202
+ - `--bg-accent`
203
+ - `--bg-elevated`
204
+ - `--bg-hover`
205
+ - `--panel`
206
+ - `--panel-strong`
207
+ - `--panel-hover`
208
+ - `--chrome`
209
+ - `--chrome-strong`
210
+ - `--text`
211
+ - `--text-strong`
212
+ - `--chat-text`
213
+ - `--muted`
214
+ - `--muted-strong`
215
+ - `--accent-hover`
216
+ - `--accent-muted`
217
+ - `--accent-subtle`
218
+ - `--accent-glow`
219
+ - `--focus`
220
+ - `--focus-ring`
221
+ - `--focus-glow`
222
+ - `--secondary`
223
+ - `--secondary-foreground`
224
+ - `--danger`
225
+ - `--danger-muted`
226
+ - `--danger-subtle`
227
+
228
+ Derivation rules live in a pure helper so they can be tested independently. Exact color-mixing formulas are an implementation detail, but the helper must satisfy two constraints:
229
+
230
+ - preserve readable contrast close to the imported theme intent
231
+ - produce stable output for the same imported payload
232
+
233
+ ### Tokens ignored in v1
234
+
235
+ These tweakcn tokens are intentionally ignored in the first version:
236
+
237
+ - `chart-*`
238
+ - `sidebar-*`
239
+ - `font-serif`
240
+ - `shadow-*`
241
+ - `tracking-*`
242
+ - `letter-spacing`
243
+ - `spacing`
244
+
245
+ This keeps the scope on the tokens the current Control UI actually needs.
246
+
247
+ ### Fonts
248
+
249
+ Font stack strings are imported if present, but Nodmix does not load remote font assets in v1. If the imported stack references fonts that are unavailable in the browser, normal fallback behavior applies.
250
+
251
+ ## Failure behavior
252
+
253
+ Bad imports must fail closed.
254
+
255
+ - Invalid URL format: show inline validation error, do not fetch.
256
+ - Unsupported host or path shape: show inline validation error, do not fetch.
257
+ - Network failure, non-OK response, or malformed JSON: show inline error, keep current stored payload untouched.
258
+ - Schema failure or missing light/dark blocks: show inline error, keep current stored payload untouched.
259
+ - Clear action:
260
+ - removes the stored custom payload
261
+ - removes the managed custom style tag content
262
+ - if `custom` is active, switches theme family back to `claw`
263
+ - Invalid stored custom payload on first load:
264
+ - ignore the stored payload
265
+ - do not emit custom CSS
266
+ - if persisted theme family was `custom`, fall back to `claw`
267
+
268
+ At no point should a failed import leave the active document with partial custom CSS variables applied.
269
+
270
+ ## Files expected to change in implementation
271
+
272
+ Primary files:
273
+
274
+ - `ui/src/ui/theme.ts`
275
+ - `ui/src/ui/storage.ts`
276
+ - `ui/src/ui/app-settings.ts`
277
+ - `ui/src/ui/views/config.ts`
278
+ - `ui/src/ui/views/config-quick.ts`
279
+ - `ui/src/styles/base.css`
280
+
281
+ Likely new helpers:
282
+
283
+ - `ui/src/ui/custom-theme.ts`
284
+
285
+ Tests:
286
+
287
+ - `ui/src/ui/app-settings.test.ts`
288
+ - `ui/src/ui/storage.node.test.ts`
289
+ - `ui/src/ui/views/config.browser.test.ts`
290
+ - new focused tests for URL parsing and payload normalization
291
+
292
+ ## Testing
293
+
294
+ Minimum implementation coverage:
295
+
296
+ - parse share-link URL into tweakcn theme id
297
+ - normalize `/themes/{id}` and `/r/themes/{id}` into the fetch URL
298
+ - reject unsupported hosts and malformed ids
299
+ - validate tweakcn payload shape
300
+ - map a valid tweakcn payload into normalized Nodmix light and dark token maps
301
+ - load and save the custom payload in browser-local settings
302
+ - resolve `custom` for `light`, `dark`, and `system`
303
+ - disable `Custom` selection when no payload exists
304
+ - apply imported theme immediately when `custom` is already active
305
+ - fall back to `claw` when the active custom theme is cleared
306
+
307
+ Manual verification target:
308
+
309
+ - import a known tweakcn theme from Settings
310
+ - switch among `light`, `dark`, and `system`
311
+ - switch between `custom` and the built-in families
312
+ - reload the page and confirm the imported custom theme persists locally
313
+
314
+ ## Rollout notes
315
+
316
+ This feature is intentionally small. If users later ask for multiple imported themes, rename, export, or cross-device sync, treat that as a follow-on design. Do not pre-build a theme library abstraction in this implementation.
@@ -0,0 +1,352 @@
1
+ ---
2
+ summary: "Setting up ACP agents: acpx harness config, plugin setup, permissions"
3
+ read_when:
4
+ - Installing or configuring the acpx harness for Claude Code / Codex / Gemini CLI
5
+ - Enabling the plugin-tools or Nodmix-tools MCP bridge
6
+ - Configuring ACP permission modes
7
+ title: "ACP agents — setup"
8
+ ---
9
+
10
+ For the overview, operator runbook, and concepts, see [ACP agents](/tools/acp-agents).
11
+
12
+ The sections below cover acpx harness config, plugin setup for the MCP bridges, and permission configuration.
13
+
14
+ Use this page only when you are setting up the ACP/acpx route. For native Codex
15
+ app-server runtime config, use [Codex harness](/plugins/codex-harness). For
16
+ OpenAI API keys or Codex OAuth model-provider config, use
17
+ [OpenAI](/providers/openai).
18
+
19
+ Codex has two Nodmix routes:
20
+
21
+ | Route | Config/command | Setup page |
22
+ | -------------------------- | ------------------------------------------------------ | --------------------------------------- |
23
+ | Native Codex app-server | `/codex ...`, `openai/gpt-*` agent refs | [Codex harness](/plugins/codex-harness) |
24
+ | Explicit Codex ACP adapter | `/acp spawn codex`, `runtime: "acp", agentId: "codex"` | This page |
25
+
26
+ Prefer the native route unless you explicitly need ACP/acpx behavior.
27
+
28
+ ## acpx harness support (current)
29
+
30
+ Current acpx built-in harness aliases:
31
+
32
+ - `claude`
33
+ - `codex`
34
+ - `copilot`
35
+ - `cursor` (Cursor CLI: `cursor-agent acp`)
36
+ - `droid`
37
+ - `gemini`
38
+ - `iflow`
39
+ - `kilocode`
40
+ - `kimi`
41
+ - `kiro`
42
+ - `nodmix`
43
+ - `opencode`
44
+ - `pi`
45
+ - `qwen`
46
+
47
+ When Nodmix uses the acpx backend, prefer these values for `agentId` unless your acpx config defines custom agent aliases.
48
+ If your local Cursor install still exposes ACP as `agent acp`, override the `cursor` agent command in your acpx config instead of changing the built-in default.
49
+
50
+ Direct acpx CLI usage can also target arbitrary adapters via `--agent <command>`, but that raw escape hatch is an acpx CLI feature (not the normal Nodmix `agentId` path).
51
+
52
+ Model control is adapter-capability dependent. Codex ACP model refs are
53
+ normalized by Nodmix before startup. Other harnesses need ACP `models` plus
54
+ `session/set_model` support; if a harness exposes neither that ACP capability
55
+ nor its own startup model flag, Nodmix/acpx cannot force a model selection.
56
+
57
+ ## Required config
58
+
59
+ Core ACP baseline:
60
+
61
+ ```json5
62
+ {
63
+ acp: {
64
+ enabled: true,
65
+ // Optional. Default is true; set false to pause ACP dispatch while keeping /acp controls.
66
+ dispatch: { enabled: true },
67
+ backend: "acpx",
68
+ defaultAgent: "codex",
69
+ allowedAgents: [
70
+ "claude",
71
+ "codex",
72
+ "copilot",
73
+ "cursor",
74
+ "droid",
75
+ "gemini",
76
+ "iflow",
77
+ "kilocode",
78
+ "kimi",
79
+ "kiro",
80
+ "nodmix",
81
+ "opencode",
82
+ "pi",
83
+ "qwen",
84
+ ],
85
+ maxConcurrentSessions: 8,
86
+ stream: {
87
+ coalesceIdleMs: 300,
88
+ maxChunkChars: 1200,
89
+ },
90
+ runtime: {
91
+ ttlMinutes: 120,
92
+ },
93
+ },
94
+ }
95
+ ```
96
+
97
+ Thread binding config is channel-adapter specific. Example for Discord:
98
+
99
+ ```json5
100
+ {
101
+ session: {
102
+ threadBindings: {
103
+ enabled: true,
104
+ idleHours: 24,
105
+ maxAgeHours: 0,
106
+ },
107
+ },
108
+ channels: {
109
+ discord: {
110
+ threadBindings: {
111
+ enabled: true,
112
+ spawnSessions: true,
113
+ },
114
+ },
115
+ },
116
+ }
117
+ ```
118
+
119
+ If thread-bound ACP spawn does not work, verify the adapter feature flag first:
120
+
121
+ - Discord: `channels.discord.threadBindings.spawnSessions=true`
122
+
123
+ Current-conversation binds do not require child-thread creation. They require an active conversation context and a channel adapter that exposes ACP conversation bindings.
124
+
125
+ See [Configuration Reference](/gateway/configuration-reference).
126
+
127
+ ## Plugin setup for acpx backend
128
+
129
+ Packaged installs use the official `@nodmix/acpx` runtime plugin for ACP.
130
+ Install and enable it before using ACP harness sessions:
131
+
132
+ ```bash
133
+ nodmix plugins install @nodmix/acpx
134
+ nodmix config set plugins.entries.acpx.enabled true
135
+ ```
136
+
137
+ Source checkouts can also use the local workspace plugin after `pnpm install`.
138
+
139
+ Start with:
140
+
141
+ ```text
142
+ /acp doctor
143
+ ```
144
+
145
+ If you disabled `acpx`, denied it via `plugins.allow` / `plugins.deny`, or want
146
+ to switch back to the packaged plugin, use the explicit package path:
147
+
148
+ ```bash
149
+ nodmix plugins install @nodmix/acpx
150
+ nodmix config set plugins.entries.acpx.enabled true
151
+ ```
152
+
153
+ Local workspace install during development:
154
+
155
+ ```bash
156
+ nodmix plugins install ./path/to/local/acpx-plugin
157
+ ```
158
+
159
+ Then verify backend health:
160
+
161
+ ```text
162
+ /acp doctor
163
+ ```
164
+
165
+ ### acpx command and version configuration
166
+
167
+ By default, the `acpx` plugin registers the embedded ACP backend during Gateway
168
+ startup and waits for the embedded runtime startup probe before the gateway
169
+ `ready` signal. Set `NODMIX_ACPX_RUNTIME_STARTUP_PROBE=0` or
170
+ `NODMIX_SKIP_ACPX_RUNTIME_PROBE=1` only for scripts or environments that
171
+ intentionally keep the startup probe disabled. Run `/acp doctor` for an explicit
172
+ on-demand probe.
173
+
174
+ Override the command or version in plugin config:
175
+
176
+ ```json
177
+ {
178
+ "plugins": {
179
+ "entries": {
180
+ "acpx": {
181
+ "enabled": true,
182
+ "config": {
183
+ "command": "../acpx/dist/cli.js",
184
+ "expectedVersion": "any"
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ ```
191
+
192
+ - `command` accepts an absolute path, relative path (resolved from the Nodmix workspace), or command name.
193
+ - `expectedVersion: "any"` disables strict version matching.
194
+ - Custom `command` paths disable plugin-local auto-install.
195
+
196
+ Override an individual ACP agent command with structured arguments when a path
197
+ or flag value should remain one argv token:
198
+
199
+ ```json
200
+ {
201
+ "plugins": {
202
+ "entries": {
203
+ "acpx": {
204
+ "enabled": true,
205
+ "config": {
206
+ "agents": {
207
+ "claude": {
208
+ "command": "node",
209
+ "args": ["/path/to/custom adapter.mjs", "--verbose"]
210
+ }
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
216
+ }
217
+ ```
218
+
219
+ - `agents.<id>.command` is the executable or existing command string for that ACP agent.
220
+ - `agents.<id>.args` is optional. Each array item is shell-quoted before Nodmix passes it through the current acpx command-string registry.
221
+
222
+ See [Plugins](/tools/plugin).
223
+
224
+ ### Automatic dependency install
225
+
226
+ When you install Nodmix globally with `npm install -g nodmix`, the acpx
227
+ runtime dependencies (platform-specific binaries) are installed automatically
228
+ via a postinstall hook. If the automatic install fails, the gateway still starts
229
+ normally and reports the missing dependency through `nodmix acp doctor`.
230
+
231
+ ### Plugin tools MCP bridge
232
+
233
+ By default, ACPX sessions do **not** expose Nodmix plugin-registered tools to
234
+ the ACP harness.
235
+
236
+ If you want ACP agents such as Codex or Claude Code to call installed
237
+ Nodmix plugin tools such as memory recall/store, enable the dedicated bridge:
238
+
239
+ ```bash
240
+ nodmix config set plugins.entries.acpx.config.pluginToolsMcpBridge true
241
+ ```
242
+
243
+ What this does:
244
+
245
+ - Injects a built-in MCP server named `nodmix-plugin-tools` into ACPX session
246
+ bootstrap.
247
+ - Exposes plugin tools already registered by installed and enabled Nodmix
248
+ plugins.
249
+ - Keeps the feature explicit and default-off.
250
+
251
+ Security and trust notes:
252
+
253
+ - This expands the ACP harness tool surface.
254
+ - ACP agents get access only to plugin tools already active in the gateway.
255
+ - Treat this as the same trust boundary as letting those plugins execute in
256
+ Nodmix itself.
257
+ - Review installed plugins before enabling it.
258
+
259
+ Custom `mcpServers` still work as before. The built-in plugin-tools bridge is an
260
+ additional opt-in convenience, not a replacement for generic MCP server config.
261
+
262
+ ### Nodmix tools MCP bridge
263
+
264
+ By default, ACPX sessions also do **not** expose built-in Nodmix tools through
265
+ MCP. Enable the separate core-tools bridge when an ACP agent needs selected
266
+ built-in tools such as `cron`:
267
+
268
+ ```bash
269
+ nodmix config set plugins.entries.acpx.config.openClawToolsMcpBridge true
270
+ ```
271
+
272
+ What this does:
273
+
274
+ - Injects a built-in MCP server named `nodmix-tools` into ACPX session
275
+ bootstrap.
276
+ - Exposes selected built-in Nodmix tools. The initial server exposes `cron`.
277
+ - Keeps core-tool exposure explicit and default-off.
278
+
279
+ ### Runtime operation timeout configuration
280
+
281
+ The `acpx` plugin gives embedded runtime startup and control operations 120
282
+ seconds by default. This gives slower harnesses such as Gemini CLI enough time
283
+ to complete ACP startup and initialization. Override it if your host needs a
284
+ different operation limit:
285
+
286
+ ```bash
287
+ nodmix config set plugins.entries.acpx.config.timeoutSeconds 180
288
+ ```
289
+
290
+ Runtime turns use Nodmix agent/run timeouts, including `/acp timeout` and
291
+ `sessions_spawn.timeoutSeconds`. Restart the gateway after changing this value.
292
+
293
+ ### Health probe agent configuration
294
+
295
+ When `/acp doctor` or the startup probe checks the backend, the bundled `acpx`
296
+ plugin probes one harness agent. If `acp.allowedAgents` is set, it defaults to
297
+ the first allowed agent; otherwise it defaults to `codex`. If your deployment
298
+ needs a different ACP agent for health checks, set the probe agent explicitly:
299
+
300
+ ```bash
301
+ nodmix config set plugins.entries.acpx.config.probeAgent claude
302
+ ```
303
+
304
+ Restart the gateway after changing this value.
305
+
306
+ ## Permission configuration
307
+
308
+ ACP sessions run non-interactively — there is no TTY to approve or deny file-write and shell-exec permission prompts. The acpx plugin provides two config keys that control how permissions are handled:
309
+
310
+ These ACPX harness permissions are separate from Nodmix exec approvals and separate from CLI-backend vendor bypass flags such as Claude CLI `--permission-mode bypassPermissions`. ACPX `approve-all` is the harness-level break-glass switch for ACP sessions.
311
+
312
+ ### `permissionMode`
313
+
314
+ Controls which operations the harness agent can perform without prompting.
315
+
316
+ | Value | Behavior |
317
+ | --------------- | --------------------------------------------------------- |
318
+ | `approve-all` | Auto-approve all file writes and shell commands. |
319
+ | `approve-reads` | Auto-approve reads only; writes and exec require prompts. |
320
+ | `deny-all` | Deny all permission prompts. |
321
+
322
+ ### `nonInteractivePermissions`
323
+
324
+ Controls what happens when a permission prompt would be shown but no interactive TTY is available (which is always the case for ACP sessions).
325
+
326
+ | Value | Behavior |
327
+ | ------ | ----------------------------------------------------------------- |
328
+ | `fail` | Abort the session with `AcpRuntimeError`. **(default)** |
329
+ | `deny` | Silently deny the permission and continue (graceful degradation). |
330
+
331
+ ### Configuration
332
+
333
+ Set via plugin config:
334
+
335
+ ```bash
336
+ nodmix config set plugins.entries.acpx.config.permissionMode approve-all
337
+ nodmix config set plugins.entries.acpx.config.nonInteractivePermissions fail
338
+ ```
339
+
340
+ Restart the gateway after changing these values.
341
+
342
+ <Warning>
343
+ Nodmix defaults to `permissionMode=approve-reads` and `nonInteractivePermissions=fail`. In non-interactive ACP sessions, any write or exec that triggers a permission prompt can fail with `AcpRuntimeError: Permission prompt unavailable in non-interactive mode`.
344
+
345
+ If you need to restrict permissions, set `nonInteractivePermissions` to `deny` so sessions degrade gracefully instead of crashing.
346
+ </Warning>
347
+
348
+ ## Related
349
+
350
+ - [ACP agents](/tools/acp-agents) — overview, operator runbook, concepts
351
+ - [Sub-agents](/tools/subagents)
352
+ - [Multi-agent routing](/concepts/multi-agent)