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,772 @@
1
+ ---
2
+ summary: "Deep troubleshooting runbook for gateway, channels, automation, nodes, and browser"
3
+ read_when:
4
+ - The troubleshooting hub pointed you here for deeper diagnosis
5
+ - You need stable symptom based runbook sections with exact commands
6
+ title: "Troubleshooting"
7
+ sidebarTitle: "Troubleshooting"
8
+ ---
9
+
10
+ This page is the deep runbook. Start at [/help/troubleshooting](/help/troubleshooting) if you want the fast triage flow first.
11
+
12
+ ## Command ladder
13
+
14
+ Run these first, in this order:
15
+
16
+ ```bash
17
+ nodmix status
18
+ nodmix gateway status
19
+ nodmix logs --follow
20
+ nodmix doctor
21
+ nodmix channels status --probe
22
+ ```
23
+
24
+ Expected healthy signals:
25
+
26
+ - `nodmix gateway status` shows `Runtime: running`, `Connectivity probe: ok`, and a `Capability: ...` line.
27
+ - `nodmix doctor` reports no blocking config/service issues.
28
+ - `nodmix channels status --probe` shows live per-account transport status and, where supported, probe/audit results such as `works` or `audit ok`.
29
+
30
+ ## After an update
31
+
32
+ Use this when an update finishes but the Gateway is down, channels are empty, or
33
+ model calls start failing with 401s.
34
+
35
+ ```bash
36
+ nodmix status --all
37
+ nodmix update status --json
38
+ nodmix gateway status --deep
39
+ nodmix doctor --fix
40
+ nodmix gateway restart
41
+ ```
42
+
43
+ Look for:
44
+
45
+ - `Update restart` in `nodmix status` / `nodmix status --all`. Pending or
46
+ failed handoffs include the next command to run.
47
+ - `plugin load failed: dependency tree corrupted; run nodmix doctor --fix`
48
+ under Channels. That means the channel config still exists, but plugin
49
+ registration failed before the channel could load.
50
+ - provider 401s after re-auth. `nodmix doctor --fix` checks for stale
51
+ per-agent OAuth auth shadows and removes the old copies so all agents resolve
52
+ the current shared profile.
53
+
54
+ ## Split brain installs and newer config guard
55
+
56
+ Use this when a gateway service unexpectedly stops after an update, or logs show that one `nodmix` binary is older than the version that last wrote `nodmix.json`.
57
+
58
+ Nodmix stamps config writes with `meta.lastTouchedVersion`. Read-only commands can still inspect a config written by a newer Nodmix, but process and service mutations refuse to continue from an older binary. Blocked actions include gateway service start, stop, restart, uninstall, forced service reinstall, service-mode gateway startup, and `gateway --force` port cleanup.
59
+
60
+ ```bash
61
+ which nodmix
62
+ nodmix --version
63
+ nodmix gateway status --deep
64
+ nodmix config get meta.lastTouchedVersion
65
+ ```
66
+
67
+ <Steps>
68
+ <Step title="Fix PATH">
69
+ Fix `PATH` so `nodmix` resolves to the newer install, then rerun the action.
70
+ </Step>
71
+ <Step title="Reinstall the gateway service">
72
+ Reinstall the intended gateway service from the newer install:
73
+
74
+ ```bash
75
+ nodmix gateway install --force
76
+ nodmix gateway restart
77
+ ```
78
+
79
+ </Step>
80
+ <Step title="Remove stale wrappers">
81
+ Remove stale system package or old wrapper entries that still point at an old `nodmix` binary.
82
+ </Step>
83
+ </Steps>
84
+
85
+ <Warning>
86
+ For intentional downgrade or emergency recovery only, set `NODMIX_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1` for the single command. Leave it unset for normal operation.
87
+ </Warning>
88
+
89
+ ## Protocol mismatch after rollback
90
+
91
+ Use this when logs keep printing `protocol mismatch` after you downgrade or roll back Nodmix. This means an older Gateway is running, but a newer local client process is still trying to reconnect with a protocol range that the older Gateway cannot speak.
92
+
93
+ ```bash
94
+ nodmix --version
95
+ which -a nodmix
96
+ nodmix gateway status --deep
97
+ nodmix doctor --deep
98
+ nodmix logs --follow
99
+ ```
100
+
101
+ Look for:
102
+
103
+ - `protocol mismatch ... client=... v<version> min=<n> max=<n> expected=<n>` in Gateway logs.
104
+ - `Established clients:` in `nodmix gateway status --deep` or `Gateway clients` in `nodmix doctor --deep`. This lists active TCP clients connected to the Gateway port, including PIDs and command lines when the OS allows it.
105
+ - A client process whose command line points at the newer Nodmix install or wrapper you rolled back from.
106
+
107
+ Fix:
108
+
109
+ 1. Stop or restart the stale Nodmix client process shown by `gateway status --deep`.
110
+ 2. Restart apps or wrappers that embed Nodmix, such as local dashboards, editors, app-server helpers, or long-running `nodmix logs --follow` shells.
111
+ 3. Re-run `nodmix gateway status --deep` or `nodmix doctor --deep` and confirm the stale client PID is gone.
112
+
113
+ Do not make an older Gateway accept a newer incompatible protocol. Protocol bumps protect the wire contract; rollback recovery is a process/version cleanup problem.
114
+
115
+ ## Skill symlink skipped as path escape
116
+
117
+ Use this when logs include:
118
+
119
+ ```text
120
+ Skipping escaped skill path outside its configured root: ... reason=symlink-escape
121
+ ```
122
+
123
+ Nodmix treats every skill root as a containment boundary. A symlink under
124
+ `~/.agents/skills`, `<workspace>/.agents/skills`, `<workspace>/skills`, or
125
+ `~/.nodmix/skills` is skipped when its real target resolves outside that root
126
+ unless the target is explicitly trusted.
127
+
128
+ Inspect the link:
129
+
130
+ ```bash
131
+ ls -l ~/.agents/skills/<name>
132
+ realpath ~/.agents/skills/<name>
133
+ nodmix config get skills.load
134
+ ```
135
+
136
+ If the target is intentional, configure both the direct skill root and the
137
+ allowed symlink target:
138
+
139
+ ```json5
140
+ {
141
+ skills: {
142
+ load: {
143
+ extraDirs: ["~/Projects/manager/skills"],
144
+ allowSymlinkTargets: ["~/Projects/manager/skills"],
145
+ },
146
+ },
147
+ }
148
+ ```
149
+
150
+ Then start a new session or wait for the skills watcher to refresh. Restart the
151
+ gateway if the running process predates the config change.
152
+
153
+ Do not use broad targets such as `~`, `/`, or a whole synced project folder.
154
+ Keep `allowSymlinkTargets` scoped to the real skill root that contains trusted
155
+ `SKILL.md` directories.
156
+
157
+ Related:
158
+
159
+ - [Skills config](/tools/skills-config#symlinked-sibling-repos)
160
+ - [Configuration examples](/gateway/configuration-examples#symlinked-sibling-skill-repo)
161
+
162
+ ## Anthropic 429 extra usage required for long context
163
+
164
+ Use this when logs/errors include: `HTTP 429: rate_limit_error: Extra usage is required for long context requests`.
165
+
166
+ ```bash
167
+ nodmix logs --follow
168
+ nodmix models status
169
+ nodmix config get agents.defaults.models
170
+ ```
171
+
172
+ Look for:
173
+
174
+ - Selected Anthropic Opus/Sonnet model has `params.context1m: true`.
175
+ - Current Anthropic credential is not eligible for long-context usage.
176
+ - Requests fail only on long sessions/model runs that need the 1M beta path.
177
+
178
+ Fix options:
179
+
180
+ <Steps>
181
+ <Step title="Disable context1m">
182
+ Disable `context1m` for that model to fall back to the normal context window.
183
+ </Step>
184
+ <Step title="Use an eligible credential">
185
+ Use an Anthropic credential that is eligible for long-context requests, or switch to an Anthropic API key.
186
+ </Step>
187
+ <Step title="Configure fallback models">
188
+ Configure fallback models so runs continue when Anthropic long-context requests are rejected.
189
+ </Step>
190
+ </Steps>
191
+
192
+ Related:
193
+
194
+ - [Anthropic](/providers/anthropic)
195
+ - [Token use and costs](/reference/token-use)
196
+ - [Why am I seeing HTTP 429 from Anthropic?](/help/faq-first-run#why-am-i-seeing-http-429-ratelimiterror-from-anthropic)
197
+
198
+ ## Local OpenAI-compatible backend passes direct probes but agent runs fail
199
+
200
+ Use this when:
201
+
202
+ - `curl ... /v1/models` works
203
+ - tiny direct `/v1/chat/completions` calls work
204
+ - Nodmix model runs fail only on normal agent turns
205
+
206
+ ```bash
207
+ curl http://127.0.0.1:1234/v1/models
208
+ curl http://127.0.0.1:1234/v1/chat/completions \
209
+ -H 'content-type: application/json' \
210
+ -d '{"model":"<id>","messages":[{"role":"user","content":"hi"}],"stream":false}'
211
+ nodmix infer model run --model <provider/model> --prompt "hi" --json
212
+ nodmix logs --follow
213
+ ```
214
+
215
+ Look for:
216
+
217
+ - direct tiny calls succeed, but Nodmix runs fail only on larger prompts
218
+ - `model_not_found` or 404 errors even though direct `/v1/chat/completions`
219
+ works with the same bare model id
220
+ - backend errors about `messages[].content` expecting a string
221
+ - intermittent `incomplete turn detected ... stopReason=stop payloads=0` warnings with an OpenAI-compatible local backend
222
+ - backend crashes that appear only with larger prompt-token counts or full agent runtime prompts
223
+
224
+ <AccordionGroup>
225
+ <Accordion title="Common signatures">
226
+ - `model_not_found` with a local MLX/vLLM-style server → verify `baseUrl` includes `/v1`, `api` is `"openai-completions"` for `/v1/chat/completions` backends, and `models.providers.<provider>.models[].id` is the bare provider-local id. Select it with the provider prefix once, for example `mlx/mlx-community/Qwen3-30B-A3B-6bit`; keep the catalog entry as `mlx-community/Qwen3-30B-A3B-6bit`.
227
+ - `messages[...].content: invalid type: sequence, expected a string` → backend rejects structured Chat Completions content parts. Fix: set `models.providers.<provider>.models[].compat.requiresStringContent: true`.
228
+ - `validation.keys` or allowed message keys like `["role","content"]` → backend rejects OpenAI-style replay metadata on Chat Completions messages. Fix: set `models.providers.<provider>.models[].compat.strictMessageKeys: true`.
229
+ - `incomplete turn detected ... stopReason=stop payloads=0` → the backend completed the Chat Completions request but returned no user-visible assistant text for that turn. Nodmix retries replay-safe empty OpenAI-compatible turns once; persistent failures usually mean the backend is emitting empty/non-text content or suppressing final-answer text.
230
+ - direct tiny requests succeed, but Nodmix agent runs fail with backend/model crashes (for example Gemma on some `inferrs` builds) → Nodmix transport is likely already correct; the backend is failing on the larger agent-runtime prompt shape.
231
+ - failures shrink after disabling tools but do not disappear → tool schemas were part of the pressure, but the remaining issue is still upstream model/server capacity or a backend bug.
232
+
233
+ </Accordion>
234
+ <Accordion title="Fix options">
235
+ 1. Set `compat.requiresStringContent: true` for string-only Chat Completions backends.
236
+ 2. Set `compat.strictMessageKeys: true` for strict Chat Completions backends that only accept `role` and `content` on each message.
237
+ 3. Set `compat.supportsTools: false` for models/backends that cannot handle Nodmix's tool schema surface reliably.
238
+ 4. Lower prompt pressure where possible: smaller workspace bootstrap, shorter session history, lighter local model, or a backend with stronger long-context support.
239
+ 5. If tiny direct requests keep passing while Nodmix agent turns still crash inside the backend, treat it as an upstream server/model limitation and file a repro there with the accepted payload shape.
240
+ </Accordion>
241
+ </AccordionGroup>
242
+
243
+ Related:
244
+
245
+ - [Configuration](/gateway/configuration)
246
+ - [Local models](/gateway/local-models)
247
+ - [OpenAI-compatible endpoints](/gateway/configuration-reference#openai-compatible-endpoints)
248
+
249
+ ## No replies
250
+
251
+ If channels are up but nothing answers, check routing and policy before reconnecting anything.
252
+
253
+ ```bash
254
+ nodmix status
255
+ nodmix channels status --probe
256
+ nodmix pairing list --channel <channel> [--account <id>]
257
+ nodmix config get channels
258
+ nodmix logs --follow
259
+ ```
260
+
261
+ Look for:
262
+
263
+ - Pairing pending for DM senders.
264
+ - Group mention gating (`requireMention`, `mentionPatterns`).
265
+ - Channel/group allowlist mismatches.
266
+
267
+ Common signatures:
268
+
269
+ - `drop guild message (mention required` → group message ignored until mention.
270
+ - `pairing request` → sender needs approval.
271
+ - `blocked` / `allowlist` → sender/channel was filtered by policy.
272
+
273
+ Related:
274
+
275
+ - [Channel troubleshooting](/channels/troubleshooting)
276
+ - [Groups](/channels/groups)
277
+ - [Pairing](/channels/pairing)
278
+
279
+ ## Dashboard control UI connectivity
280
+
281
+ When dashboard/control UI will not connect, validate URL, auth mode, and secure context assumptions.
282
+
283
+ ```bash
284
+ nodmix gateway status
285
+ nodmix status
286
+ nodmix logs --follow
287
+ nodmix doctor
288
+ nodmix gateway status --json
289
+ ```
290
+
291
+ Look for:
292
+
293
+ - Correct probe URL and dashboard URL.
294
+ - Auth mode/token mismatch between client and gateway.
295
+ - HTTP usage where device identity is required.
296
+
297
+ <AccordionGroup>
298
+ <Accordion title="Connect / auth signatures">
299
+ - `device identity required` → non-secure context or missing device auth.
300
+ - `origin not allowed` → browser `Origin` is not in `gateway.controlUi.allowedOrigins` (or you are connecting from a non-loopback browser origin without an explicit allowlist).
301
+ - `device nonce required` / `device nonce mismatch` → client is not completing the challenge-based device auth flow (`connect.challenge` + `device.nonce`).
302
+ - `device signature invalid` / `device signature expired` → client signed the wrong payload (or stale timestamp) for the current handshake.
303
+ - `AUTH_TOKEN_MISMATCH` with `canRetryWithDeviceToken=true` → client can do one trusted retry with cached device token.
304
+ - That cached-token retry reuses the cached scope set stored with the paired device token. Explicit `deviceToken` / explicit `scopes` callers keep their requested scope set instead.
305
+ - `AUTH_SCOPE_MISMATCH` → the device token was recognized, but its approved scopes do not cover this connect request; re-pair or approve the requested scope contract instead of rotating a shared gateway token.
306
+ - Outside that retry path, connect auth precedence is explicit shared token/password first, then explicit `deviceToken`, then stored device token, then bootstrap token.
307
+ - On the async Tailscale Serve Control UI path, failed attempts for the same `{scope, ip}` are serialized before the limiter records the failure. Two bad concurrent retries from the same client can therefore surface `retry later` on the second attempt instead of two plain mismatches.
308
+ - `too many failed authentication attempts (retry later)` from a browser-origin loopback client → repeated failures from that same normalized `Origin` are locked out temporarily; another localhost origin uses a separate bucket.
309
+ - repeated `unauthorized` after that retry → shared token/device token drift; refresh token config and re-approve/rotate device token if needed.
310
+ - `gateway connect failed:` → wrong host/port/url target.
311
+
312
+ </Accordion>
313
+ </AccordionGroup>
314
+
315
+ ### Auth detail codes quick map
316
+
317
+ Use `error.details.code` from the failed `connect` response to pick the next action:
318
+
319
+ | Detail code | Meaning | Recommended action |
320
+ | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
321
+ | `AUTH_TOKEN_MISSING` | Client did not send a required shared token. | Paste/set token in the client and retry. For dashboard paths: `nodmix config get gateway.auth.token` then paste into Control UI settings. |
322
+ | `AUTH_TOKEN_MISMATCH` | Shared token did not match gateway auth token. | If `canRetryWithDeviceToken=true`, allow one trusted retry. Cached-token retries reuse stored approved scopes; explicit `deviceToken` / `scopes` callers keep requested scopes. If still failing, run the [token drift recovery checklist](/cli/devices#token-drift-recovery-checklist). |
323
+ | `AUTH_DEVICE_TOKEN_MISMATCH` | Cached per-device token is stale or revoked. | Rotate/re-approve device token using [devices CLI](/cli/devices), then reconnect. |
324
+ | `AUTH_SCOPE_MISMATCH` | Device token is valid, but its approved role/scopes do not cover this connect request. | Re-pair the device or approve the requested scope contract; do not treat this as shared-token drift. |
325
+ | `PAIRING_REQUIRED` | Device identity needs approval. Check `error.details.reason` for `not-paired`, `scope-upgrade`, `role-upgrade`, or `metadata-upgrade`, and use `requestId` / `remediationHint` when present. | Approve pending request: `nodmix devices list` then `nodmix devices approve <requestId>`. Scope/role upgrades use the same flow after you review the requested access. |
326
+
327
+ <Note>
328
+ Direct loopback backend RPCs authenticated with the shared gateway token/password should not depend on the CLI's paired-device scope baseline. If subagents or other internal calls still fail with `scope-upgrade`, verify the caller is using `client.id: "gateway-client"` and `client.mode: "backend"` and is not forcing an explicit `deviceIdentity` or device token.
329
+ </Note>
330
+
331
+ Device auth v2 migration check:
332
+
333
+ ```bash
334
+ nodmix --version
335
+ nodmix doctor
336
+ nodmix gateway status
337
+ ```
338
+
339
+ If logs show nonce/signature errors, update the connecting client and verify it:
340
+
341
+ <Steps>
342
+ <Step title="Wait for connect.challenge">
343
+ Client waits for the gateway-issued `connect.challenge`.
344
+ </Step>
345
+ <Step title="Sign the payload">
346
+ Client signs the challenge-bound payload.
347
+ </Step>
348
+ <Step title="Send the device nonce">
349
+ Client sends `connect.params.device.nonce` with the same challenge nonce.
350
+ </Step>
351
+ </Steps>
352
+
353
+ If `nodmix devices rotate` / `revoke` / `remove` is denied unexpectedly:
354
+
355
+ - paired-device token sessions can manage only **their own** device unless the caller also has `operator.admin`
356
+ - `nodmix devices rotate --scope ...` can only request operator scopes that the caller session already holds
357
+
358
+ Related:
359
+
360
+ - [Configuration](/gateway/configuration) (gateway auth modes)
361
+ - [Control UI](/web/control-ui)
362
+ - [Devices](/cli/devices)
363
+ - [Remote access](/gateway/remote)
364
+ - [Trusted proxy auth](/gateway/trusted-proxy-auth)
365
+
366
+ ## Gateway service not running
367
+
368
+ Use this when service is installed but process does not stay up.
369
+
370
+ ```bash
371
+ nodmix gateway status
372
+ nodmix status
373
+ nodmix logs --follow
374
+ nodmix doctor
375
+ nodmix gateway status --deep # also scan system-level services
376
+ ```
377
+
378
+ Look for:
379
+
380
+ - `Runtime: stopped` with exit hints.
381
+ - Service config mismatch (`Config (cli)` vs `Config (service)`).
382
+ - Port/listener conflicts.
383
+ - Extra launchd/systemd/schtasks installs when `--deep` is used.
384
+ - `Other gateway-like services detected (best effort)` cleanup hints.
385
+
386
+ <AccordionGroup>
387
+ <Accordion title="Common signatures">
388
+ - `Gateway start blocked: set gateway.mode=local` or `existing config is missing gateway.mode` → local gateway mode is not enabled, or the config file was clobbered and lost `gateway.mode`. Fix: set `gateway.mode="local"` in your config, or re-run `nodmix onboard --mode local` / `nodmix setup` to restamp the expected local-mode config. If you are running Nodmix via Podman, the default config path is `~/.nodmix/nodmix.json`.
389
+ - `refusing to bind gateway ... without auth` → non-loopback bind without a valid gateway auth path (token/password, or trusted-proxy where configured).
390
+ - `another gateway instance is already listening` / `EADDRINUSE` → port conflict.
391
+ - `Other gateway-like services detected (best effort)` → stale or parallel launchd/systemd/schtasks units exist. Most setups should keep one gateway per machine; if you do need more than one, isolate ports + config/state/workspace. See [/gateway#multiple-gateways-same-host](/gateway#multiple-gateways-same-host).
392
+ - `System-level Nodmix gateway service detected` from doctor → a systemd system unit exists while the user-level service is missing. Remove or disable the duplicate before allowing doctor to install a user service, or set `NODMIX_SERVICE_REPAIR_POLICY=external` if the system unit is the intended supervisor.
393
+ - `Gateway service port does not match current gateway config` → the installed supervisor still pins the old `--port`. Run `nodmix doctor --fix` or `nodmix gateway install --force`, then restart the gateway service.
394
+
395
+ </Accordion>
396
+ </AccordionGroup>
397
+
398
+ Related:
399
+
400
+ - [Background exec and process tool](/gateway/background-process)
401
+ - [Configuration](/gateway/configuration)
402
+ - [Doctor](/gateway/doctor)
403
+
404
+ ## Gateway exits during high memory use
405
+
406
+ Use this when the Gateway disappears under load, the supervisor reports an OOM-style restart, or logs mention `critical memory pressure bundle written`.
407
+
408
+ ```bash
409
+ nodmix gateway status --deep
410
+ nodmix logs --follow
411
+ nodmix gateway stability --bundle latest
412
+ nodmix gateway diagnostics export
413
+ ```
414
+
415
+ Look for:
416
+
417
+ - `Reason: diagnostic.memory.pressure.critical` in the latest stability bundle.
418
+ - `Memory pressure:` with `critical/rss_threshold`, `critical/heap_threshold`, or `critical/rss_growth`.
419
+ - `V8 heap:` values near the heap limit.
420
+ - `Largest session files:` entries such as `agents/<agent>/sessions/<session>.jsonl` or `sessions/<session>.jsonl`.
421
+ - Linux cgroup memory counters when the gateway runs inside a container or memory-limited service.
422
+
423
+ Common signatures:
424
+
425
+ - `critical memory pressure bundle written` appears shortly before restart → Nodmix captured a pre-OOM stability bundle. Inspect it with `nodmix gateway stability --bundle latest`.
426
+ - `memory pressure: level=critical ... memoryPressureSnapshot=disabled` appears in gateway logs → Nodmix detected critical memory pressure, but the pre-OOM stability snapshot is off.
427
+ - `Largest session files:` points at a very large redacted transcript path → reduce retained session history, inspect session growth, or move old transcripts out of the active store before restarting.
428
+ - `V8 heap:` used bytes are close to the heap limit → lower prompt/session pressure, reduce concurrent work, or raise the Node heap limit only after confirming the workload is expected.
429
+ - `Memory pressure: critical/rss_growth` → memory grew quickly inside one sampling window. Check the latest logs for a large import, runaway tool output, repeated retries, or a batch of queued agent work.
430
+ - Critical memory pressure appears in logs but no bundle exists → this is the default. Set `diagnostics.memoryPressureSnapshot: true` to capture the pre-OOM stability bundle on future critical memory pressure events.
431
+
432
+ The stability bundle is payload-free. It includes operational memory evidence and redacted relative file paths, not message text, webhook bodies, credentials, tokens, cookies, or raw session ids. Attach the diagnostics export to bug reports instead of copying raw logs.
433
+
434
+ Related:
435
+
436
+ - [Gateway health](/gateway/health)
437
+ - [Diagnostics export](/gateway/diagnostics)
438
+ - [Sessions](/cli/sessions)
439
+
440
+ ## Gateway rejected invalid config
441
+
442
+ Use this when Gateway startup fails with `Invalid config` or hot reload logs say
443
+ it skipped an invalid edit.
444
+
445
+ ```bash
446
+ nodmix logs --follow
447
+ nodmix config file
448
+ nodmix config validate
449
+ nodmix doctor
450
+ ```
451
+
452
+ Look for:
453
+
454
+ - `Invalid config at ...`
455
+ - `config reload skipped (invalid config): ...`
456
+ - `Config write rejected: ...`
457
+ - A timestamped `nodmix.json.rejected.*` file beside the active config
458
+ - A timestamped `nodmix.json.clobbered.*` file if `doctor --fix` repaired a broken direct edit
459
+ - Nodmix keeps the latest 32 `.clobbered.*` files for each config path and rotates older ones
460
+
461
+ <AccordionGroup>
462
+ <Accordion title="What happened">
463
+ - The config did not validate during startup, hot reload, or an Nodmix-owned write.
464
+ - Gateway startup fails closed instead of rewriting `nodmix.json`.
465
+ - Hot reload skips invalid external edits and keeps the current runtime config active.
466
+ - Nodmix-owned writes reject invalid/destructive payloads before commit and save `.rejected.*`.
467
+ - `nodmix doctor --fix` owns repair. It can remove non-JSON prefixes or restore the last-known-good copy while preserving the rejected payload as `.clobbered.*`.
468
+ - When many repairs happen for one config path, Nodmix rotates older `.clobbered.*` files so the newest repaired payload is still available.
469
+
470
+ </Accordion>
471
+ <Accordion title="Inspect and repair">
472
+ ```bash
473
+ CONFIG="$(nodmix config file)"
474
+ ls -lt "$CONFIG".clobbered.* "$CONFIG".rejected.* 2>/dev/null | head
475
+ diff -u "$CONFIG" "$(ls -t "$CONFIG".clobbered.* 2>/dev/null | head -n 1)"
476
+ nodmix config validate
477
+ nodmix doctor
478
+ ```
479
+ </Accordion>
480
+ <Accordion title="Common signatures">
481
+ - `.clobbered.*` exists → doctor preserved a broken external edit while repairing the active config.
482
+ - `.rejected.*` exists → an Nodmix-owned config write failed schema or clobber checks before commit.
483
+ - `Config write rejected:` → the write tried to drop required shape, shrink the file sharply, or persist invalid config.
484
+ - `config reload skipped (invalid config):` → a direct edit failed validation and was ignored by the running Gateway.
485
+ - `Invalid config at ...` → startup failed before Gateway services booted.
486
+ - `missing-meta-vs-last-good`, `gateway-mode-missing-vs-last-good`, or `size-drop-vs-last-good:*` → an Nodmix-owned write was rejected because it lost fields or size compared with the last-known-good backup.
487
+ - `Config last-known-good promotion skipped` → the candidate contained redacted secret placeholders such as `***`.
488
+
489
+ </Accordion>
490
+ <Accordion title="Fix options">
491
+ 1. Run `nodmix doctor --fix` to let doctor repair prefixed/clobbered config or restore last-known-good.
492
+ 2. Copy only the intended keys from `.clobbered.*` or `.rejected.*`, then apply them with `nodmix config set` or `config.patch`.
493
+ 3. Run `nodmix config validate` before restarting.
494
+ 4. If you edit by hand, keep the full JSON5 config, not just the partial object you wanted to change.
495
+ </Accordion>
496
+ </AccordionGroup>
497
+
498
+ Related:
499
+
500
+ - [Config](/cli/config)
501
+ - [Configuration: hot reload](/gateway/configuration#config-hot-reload)
502
+ - [Configuration: strict validation](/gateway/configuration#strict-validation)
503
+ - [Doctor](/gateway/doctor)
504
+
505
+ ## Gateway probe warnings
506
+
507
+ Use this when `nodmix gateway probe` reaches something, but still prints a warning block.
508
+
509
+ ```bash
510
+ nodmix gateway probe
511
+ nodmix gateway probe --json
512
+ nodmix gateway probe --ssh user@gateway-host
513
+ ```
514
+
515
+ Look for:
516
+
517
+ - `warnings[].code` and `primaryTargetId` in JSON output.
518
+ - Whether the warning is about SSH fallback, multiple gateways, missing scopes, or unresolved auth refs.
519
+
520
+ Common signatures:
521
+
522
+ - `SSH tunnel failed to start; falling back to direct probes.` → SSH setup failed, but the command still tried direct configured/loopback targets.
523
+ - `multiple reachable gateways detected` → more than one target answered. Usually this means an intentional multi-gateway setup or stale/duplicate listeners.
524
+ - `Read-probe diagnostics are limited by gateway scopes (missing operator.read)` → connect worked, but detail RPC is scope-limited; pair device identity or use credentials with `operator.read`.
525
+ - `Gateway accepted the WebSocket connection, but follow-up read diagnostics failed` → connect worked, but the full diagnostic RPC set timed out or failed. Treat this as a reachable Gateway with degraded diagnostics; compare `connect.ok` and `connect.rpcOk` in `--json` output.
526
+ - `Capability: pairing-pending` or `gateway closed (1008): pairing required` → the gateway answered, but this client still needs pairing/approval before normal operator access.
527
+ - unresolved `gateway.auth.*` / `gateway.remote.*` SecretRef warning text → auth material was unavailable in this command path for the failed target.
528
+
529
+ Related:
530
+
531
+ - [Gateway](/cli/gateway)
532
+ - [Multiple gateways on the same host](/gateway#multiple-gateways-same-host)
533
+ - [Remote access](/gateway/remote)
534
+
535
+ ## Channel connected, messages not flowing
536
+
537
+ If channel state is connected but message flow is dead, focus on policy, permissions, and channel specific delivery rules.
538
+
539
+ ```bash
540
+ nodmix channels status --probe
541
+ nodmix pairing list --channel <channel> [--account <id>]
542
+ nodmix status --deep
543
+ nodmix logs --follow
544
+ nodmix config get channels
545
+ ```
546
+
547
+ Look for:
548
+
549
+ - DM policy (`pairing`, `allowlist`, `open`, `disabled`).
550
+ - Group allowlist and mention requirements.
551
+ - Missing channel API permissions/scopes.
552
+
553
+ Common signatures:
554
+
555
+ - `mention required` → message ignored by group mention policy.
556
+ - `pairing` / pending approval traces → sender is not approved.
557
+ - `missing_scope`, `not_in_channel`, `Forbidden`, `401/403` → channel auth/permissions issue.
558
+
559
+ Related:
560
+
561
+ - [Channel troubleshooting](/channels/troubleshooting)
562
+ - [Discord](/channels/discord)
563
+ - [Telegram](/channels/telegram)
564
+ - [WhatsApp](/channels/whatsapp)
565
+
566
+ ## Cron and heartbeat delivery
567
+
568
+ If cron or heartbeat did not run or did not deliver, verify scheduler state first, then delivery target.
569
+
570
+ ```bash
571
+ nodmix cron status
572
+ nodmix cron list
573
+ nodmix cron runs --id <jobId> --limit 20
574
+ nodmix system heartbeat last
575
+ nodmix logs --follow
576
+ ```
577
+
578
+ Look for:
579
+
580
+ - Cron enabled and next wake present.
581
+ - Job run history status (`ok`, `skipped`, `error`).
582
+ - Heartbeat skip reasons (`quiet-hours`, `requests-in-flight`, `cron-in-progress`, `lanes-busy`, `alerts-disabled`, `empty-heartbeat-file`, `no-tasks-due`).
583
+
584
+ <AccordionGroup>
585
+ <Accordion title="Common signatures">
586
+ - `cron: scheduler disabled; jobs will not run automatically` → cron disabled.
587
+ - `cron: timer tick failed` → scheduler tick failed; check file/log/runtime errors.
588
+ - `heartbeat skipped` with `reason=quiet-hours` → outside active hours window.
589
+ - `heartbeat skipped` with `reason=empty-heartbeat-file` → `HEARTBEAT.md` exists but only contains blank lines / markdown headers, so Nodmix skips the model call.
590
+ - `heartbeat skipped` with `reason=no-tasks-due` → `HEARTBEAT.md` contains a `tasks:` block, but none of the tasks are due on this tick.
591
+ - `heartbeat: unknown accountId` → invalid account id for heartbeat delivery target.
592
+ - `heartbeat skipped` with `reason=dm-blocked` → heartbeat target resolved to a DM-style destination while `agents.defaults.heartbeat.directPolicy` (or per-agent override) is set to `block`.
593
+
594
+ </Accordion>
595
+ </AccordionGroup>
596
+
597
+ Related:
598
+
599
+ - [Heartbeat](/gateway/heartbeat)
600
+ - [Scheduled tasks](/automation/cron-jobs)
601
+ - [Scheduled tasks: troubleshooting](/automation/cron-jobs#troubleshooting)
602
+
603
+ ## Node paired, tool fails
604
+
605
+ If a node is paired but tools fail, isolate foreground, permission, and approval state.
606
+
607
+ ```bash
608
+ nodmix nodes status
609
+ nodmix nodes describe --node <idOrNameOrIp>
610
+ nodmix approvals get --node <idOrNameOrIp>
611
+ nodmix logs --follow
612
+ nodmix status
613
+ ```
614
+
615
+ Look for:
616
+
617
+ - Node online with expected capabilities.
618
+ - OS permission grants for camera/mic/location/screen.
619
+ - Exec approvals and allowlist state.
620
+
621
+ Common signatures:
622
+
623
+ - `NODE_BACKGROUND_UNAVAILABLE` → node app must be in foreground.
624
+ - `*_PERMISSION_REQUIRED` / `LOCATION_PERMISSION_REQUIRED` → missing OS permission.
625
+ - `SYSTEM_RUN_DENIED: approval required` → exec approval pending.
626
+ - `SYSTEM_RUN_DENIED: allowlist miss` → command blocked by allowlist.
627
+
628
+ Related:
629
+
630
+ - [Exec approvals](/tools/exec-approvals)
631
+ - [Node troubleshooting](/nodes/troubleshooting)
632
+ - [Nodes](/nodes/index)
633
+
634
+ ## Browser tool fails
635
+
636
+ Use this when browser tool actions fail even though the gateway itself is healthy.
637
+
638
+ ```bash
639
+ nodmix browser status
640
+ nodmix browser start --browser-profile nodmix
641
+ nodmix browser profiles
642
+ nodmix logs --follow
643
+ nodmix doctor
644
+ ```
645
+
646
+ Look for:
647
+
648
+ - Whether `plugins.allow` is set and includes `browser`.
649
+ - Valid browser executable path.
650
+ - CDP profile reachability.
651
+ - Local Chrome availability for `existing-session` / `user` profiles.
652
+
653
+ <AccordionGroup>
654
+ <Accordion title="Plugin / executable signatures">
655
+ - `unknown command "browser"` or `unknown command 'browser'` → the bundled browser plugin is excluded by `plugins.allow`.
656
+ - browser tool missing / unavailable while `browser.enabled=true` → `plugins.allow` excludes `browser`, so the plugin never loaded.
657
+ - `Failed to start Chrome CDP on port` → browser process failed to launch.
658
+ - `browser.executablePath not found` → configured path is invalid.
659
+ - `browser.cdpUrl must be http(s) or ws(s)` → the configured CDP URL uses an unsupported scheme such as `file:` or `ftp:`.
660
+ - `browser.cdpUrl has invalid port` → the configured CDP URL has a bad or out-of-range port.
661
+ - `Playwright is not available in this gateway build; '<feature>' is unsupported.` → the current gateway install lacks the core browser runtime dependency; reinstall or update Nodmix, then restart the gateway. ARIA snapshots and basic page screenshots can still work, but navigation, AI snapshots, CSS-selector element screenshots, and PDF export stay unavailable.
662
+
663
+ </Accordion>
664
+ <Accordion title="Chrome MCP / existing-session signatures">
665
+ - `Could not find DevToolsActivePort for chrome` → Chrome MCP existing-session could not attach to the selected browser data dir yet. Open the browser inspect page, enable remote debugging, keep the browser open, approve the first attach prompt, then retry. If signed-in state is not required, prefer the managed `nodmix` profile.
666
+ - `No Chrome tabs found for profile="user"` → the Chrome MCP attach profile has no open local Chrome tabs.
667
+ - `Remote CDP for profile "<name>" is not reachable` → the configured remote CDP endpoint is not reachable from the gateway host.
668
+ - `Browser attachOnly is enabled ... not reachable` or `Browser attachOnly is enabled and CDP websocket ... is not reachable` → attach-only profile has no reachable target, or the HTTP endpoint answered but the CDP WebSocket still could not be opened.
669
+
670
+ </Accordion>
671
+ <Accordion title="Element / screenshot / upload signatures">
672
+ - `fullPage is not supported for element screenshots` → screenshot request mixed `--full-page` with `--ref` or `--element`.
673
+ - `element screenshots are not supported for existing-session profiles; use ref from snapshot.` → Chrome MCP / `existing-session` screenshot calls must use page capture or a snapshot `--ref`, not CSS `--element`.
674
+ - `existing-session file uploads do not support element selectors; use ref/inputRef.` → Chrome MCP upload hooks need snapshot refs, not CSS selectors.
675
+ - `existing-session file uploads currently support one file at a time.` → send one upload per call on Chrome MCP profiles.
676
+ - `existing-session dialog handling does not support timeoutMs.` → dialog hooks on Chrome MCP profiles do not support timeout overrides.
677
+ - `existing-session type does not support timeoutMs overrides.` → omit `timeoutMs` for `act:type` on `profile="user"` / Chrome MCP existing-session profiles, or use a managed/CDP browser profile when a custom timeout is required.
678
+ - `existing-session evaluate does not support timeoutMs overrides.` → omit `timeoutMs` for `act:evaluate` on `profile="user"` / Chrome MCP existing-session profiles, or use a managed/CDP browser profile when a custom timeout is required.
679
+ - `response body is not supported for existing-session profiles yet.` → `responsebody` still requires a managed browser or raw CDP profile.
680
+ - stale viewport / dark-mode / locale / offline overrides on attach-only or remote CDP profiles → run `nodmix browser stop --browser-profile <name>` to close the active control session and release Playwright/CDP emulation state without restarting the whole gateway.
681
+
682
+ </Accordion>
683
+ </AccordionGroup>
684
+
685
+ Related:
686
+
687
+ - [Browser (Nodmix-managed)](/tools/browser)
688
+ - [Browser troubleshooting](/tools/browser-linux-troubleshooting)
689
+
690
+ ## If you upgraded and something suddenly broke
691
+
692
+ Most post-upgrade breakage is config drift or stricter defaults now being enforced.
693
+
694
+ <AccordionGroup>
695
+ <Accordion title="1. Auth and URL override behavior changed">
696
+ ```bash
697
+ nodmix gateway status
698
+ nodmix config get gateway.mode
699
+ nodmix config get gateway.remote.url
700
+ nodmix config get gateway.auth.mode
701
+ ```
702
+
703
+ What to check:
704
+
705
+ - If `gateway.mode=remote`, CLI calls may be targeting remote while your local service is fine.
706
+ - Explicit `--url` calls do not fall back to stored credentials.
707
+
708
+ Common signatures:
709
+
710
+ - `gateway connect failed:` → wrong URL target.
711
+ - `unauthorized` → endpoint reachable but wrong auth.
712
+
713
+ </Accordion>
714
+ <Accordion title="2. Bind and auth guardrails are stricter">
715
+ ```bash
716
+ nodmix config get gateway.bind
717
+ nodmix config get gateway.auth.mode
718
+ nodmix config get gateway.auth.token
719
+ nodmix gateway status
720
+ nodmix logs --follow
721
+ ```
722
+
723
+ What to check:
724
+
725
+ - Non-loopback binds (`lan`, `tailnet`, `custom`) need a valid gateway auth path: shared token/password auth, or a correctly configured non-loopback `trusted-proxy` deployment.
726
+ - Old keys like `gateway.token` do not replace `gateway.auth.token`.
727
+
728
+ Common signatures:
729
+
730
+ - `refusing to bind gateway ... without auth` → non-loopback bind without a valid gateway auth path.
731
+ - `Connectivity probe: failed` while runtime is running → gateway alive but inaccessible with current auth/url.
732
+
733
+ </Accordion>
734
+ <Accordion title="3. Pairing and device identity state changed">
735
+ ```bash
736
+ nodmix devices list
737
+ nodmix pairing list --channel <channel> [--account <id>]
738
+ nodmix logs --follow
739
+ nodmix doctor
740
+ ```
741
+
742
+ What to check:
743
+
744
+ - Pending device approvals for dashboard/nodes.
745
+ - Pending DM pairing approvals after policy or identity changes.
746
+
747
+ Common signatures:
748
+
749
+ - `device identity required` → device auth not satisfied.
750
+ - `pairing required` → sender/device must be approved.
751
+
752
+ </Accordion>
753
+ </AccordionGroup>
754
+
755
+ If the service config and runtime still disagree after checks, reinstall service metadata from the same profile/state directory:
756
+
757
+ ```bash
758
+ nodmix gateway install --force
759
+ nodmix gateway restart
760
+ ```
761
+
762
+ Related:
763
+
764
+ - [Authentication](/gateway/authentication)
765
+ - [Background exec and process tool](/gateway/background-process)
766
+ - [Gateway-owned pairing](/gateway/pairing)
767
+
768
+ ## Related
769
+
770
+ - [Doctor](/gateway/doctor)
771
+ - [FAQ](/help/faq)
772
+ - [Gateway runbook](/gateway)