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,416 @@
1
+ ---
2
+ summary: "Yuanbao bot overview, features, and configuration"
3
+ read_when:
4
+ - You want to connect a Yuanbao bot
5
+ - You are configuring the Yuanbao channel
6
+ title: Yuanbao
7
+ ---
8
+
9
+ Tencent Yuanbao is Tencent's AI assistant platform. The Nodmix channel plugin
10
+ connects Yuanbao bots to Nodmix over WebSocket so they can interact with users
11
+ through direct messages and group chats.
12
+
13
+ **Status:** production-ready for bot DMs + group chats. WebSocket is the only supported connection mode.
14
+
15
+ ---
16
+
17
+ ## Quick start
18
+
19
+ > **Requires Nodmix 2026.4.10 or above.** Run `nodmix --version` to check. Upgrade with `nodmix update`.
20
+
21
+ <Steps>
22
+ <Step title="Add the Yuanbao channel with your credentials">
23
+ ```bash
24
+ nodmix channels add --channel yuanbao --token "appKey:appSecret"
25
+ ```
26
+ The `--token` value uses colon-separated `appKey:appSecret` format. You can obtain these from the Yuanbao app by creating a robot in your application settings.
27
+ </Step>
28
+
29
+ <Step title="After setup completes, restart the gateway to apply the changes">
30
+ ```bash
31
+ nodmix gateway restart
32
+ ```
33
+ </Step>
34
+ </Steps>
35
+
36
+ ### Interactive setup (alternative)
37
+
38
+ You can also use the interactive wizard:
39
+
40
+ ```bash
41
+ nodmix channels login --channel yuanbao
42
+ ```
43
+
44
+ Follow the prompts to enter your App ID and App Secret.
45
+
46
+ ---
47
+
48
+ ## Access control
49
+
50
+ ### Direct messages
51
+
52
+ Configure `dmPolicy` to control who can DM the bot:
53
+
54
+ - `"pairing"` - unknown users receive a pairing code; approve via CLI
55
+ - `"allowlist"` - only users listed in `allowFrom` can chat
56
+ - `"open"` - allow all users (default)
57
+ - `"disabled"` - disable all DMs
58
+
59
+ **Approve a pairing request:**
60
+
61
+ ```bash
62
+ nodmix pairing list yuanbao
63
+ nodmix pairing approve yuanbao <CODE>
64
+ ```
65
+
66
+ ### Group chats
67
+
68
+ **Mention requirement** (`channels.yuanbao.requireMention`):
69
+
70
+ - `true` - require @mention (default)
71
+ - `false` - respond without @mention
72
+
73
+ Replying to the bot's message in a group chat is treated as an implicit mention.
74
+
75
+ ---
76
+
77
+ ## Configuration examples
78
+
79
+ ### Basic setup with open DM policy
80
+
81
+ ```json5
82
+ {
83
+ channels: {
84
+ yuanbao: {
85
+ appKey: "your_app_key",
86
+ appSecret: "your_app_secret",
87
+ dm: {
88
+ policy: "open",
89
+ },
90
+ },
91
+ },
92
+ }
93
+ ```
94
+
95
+ ### Restrict DMs to specific users
96
+
97
+ ```json5
98
+ {
99
+ channels: {
100
+ yuanbao: {
101
+ appKey: "your_app_key",
102
+ appSecret: "your_app_secret",
103
+ dm: {
104
+ policy: "allowlist",
105
+ allowFrom: ["user_id_1", "user_id_2"],
106
+ },
107
+ },
108
+ },
109
+ }
110
+ ```
111
+
112
+ ### Disable @mention requirement in groups
113
+
114
+ ```json5
115
+ {
116
+ channels: {
117
+ yuanbao: {
118
+ requireMention: false,
119
+ },
120
+ },
121
+ }
122
+ ```
123
+
124
+ ### Optimize outbound message delivery
125
+
126
+ ```json5
127
+ {
128
+ channels: {
129
+ yuanbao: {
130
+ // Send each chunk immediately without buffering
131
+ outboundQueueStrategy: "immediate",
132
+ },
133
+ },
134
+ }
135
+ ```
136
+
137
+ ### Tune merge-text strategy
138
+
139
+ ```json5
140
+ {
141
+ channels: {
142
+ yuanbao: {
143
+ outboundQueueStrategy: "merge-text",
144
+ minChars: 2800, // buffer until this many chars
145
+ maxChars: 3000, // force split above this limit
146
+ idleMs: 5000, // auto-flush after idle timeout (ms)
147
+ },
148
+ },
149
+ }
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Common commands
155
+
156
+ | Command | Description |
157
+ | ---------- | --------------------------- |
158
+ | `/help` | Show available commands |
159
+ | `/status` | Show bot status |
160
+ | `/new` | Start a new session |
161
+ | `/stop` | Stop the current run |
162
+ | `/restart` | Restart Nodmix |
163
+ | `/compact` | Compact the session context |
164
+
165
+ > Yuanbao supports native slash-command menus. Commands are synced to the platform automatically when the gateway starts.
166
+
167
+ ---
168
+
169
+ ## Troubleshooting
170
+
171
+ ### Bot does not respond in group chats
172
+
173
+ 1. Ensure the bot is added to the group
174
+ 2. Ensure you @mention the bot (required by default)
175
+ 3. Check logs: `nodmix logs --follow`
176
+
177
+ ### Bot does not receive messages
178
+
179
+ 1. Ensure the bot is created and approved in the Yuanbao app
180
+ 2. Ensure `appKey` and `appSecret` are correctly configured
181
+ 3. Ensure the gateway is running: `nodmix gateway status`
182
+ 4. Check logs: `nodmix logs --follow`
183
+
184
+ ### Bot sends empty or fallback replies
185
+
186
+ 1. Check if the AI model is returning valid content
187
+ 2. The default fallback reply is: "暂时无法解答,你可以换个问题问问我哦"
188
+ 3. Customize it via `channels.yuanbao.fallbackReply`
189
+
190
+ ### App Secret leaked
191
+
192
+ 1. Reset the App Secret in YuanBao APP
193
+ 2. Update the value in your config
194
+ 3. Restart the gateway: `nodmix gateway restart`
195
+
196
+ ---
197
+
198
+ ## Advanced configuration
199
+
200
+ ### Multiple accounts
201
+
202
+ ```json5
203
+ {
204
+ channels: {
205
+ yuanbao: {
206
+ defaultAccount: "main",
207
+ accounts: {
208
+ main: {
209
+ appKey: "key_xxx",
210
+ appSecret: "secret_xxx",
211
+ name: "Primary bot",
212
+ },
213
+ backup: {
214
+ appKey: "key_yyy",
215
+ appSecret: "secret_yyy",
216
+ name: "Backup bot",
217
+ enabled: false,
218
+ },
219
+ },
220
+ },
221
+ },
222
+ }
223
+ ```
224
+
225
+ `defaultAccount` controls which account is used when outbound APIs do not specify an `accountId`.
226
+
227
+ ### Message limits
228
+
229
+ - `maxChars` - single message max character count (default: `3000` chars)
230
+ - `mediaMaxMb` - media upload/download limit (default: `20` MB)
231
+ - `overflowPolicy` - behavior when message exceeds limit: `"split"` (default) or `"stop"`
232
+
233
+ ### Streaming
234
+
235
+ Yuanbao supports block-level streaming output. When enabled, the bot sends text in chunks as it generates.
236
+
237
+ ```json5
238
+ {
239
+ channels: {
240
+ yuanbao: {
241
+ disableBlockStreaming: false, // block streaming enabled (default)
242
+ },
243
+ },
244
+ }
245
+ ```
246
+
247
+ Set `disableBlockStreaming: true` to send the complete reply in one message.
248
+
249
+ ### Group chat history context
250
+
251
+ Control how many historical messages are included in the AI context for group chats:
252
+
253
+ ```json5
254
+ {
255
+ channels: {
256
+ yuanbao: {
257
+ historyLimit: 100, // default: 100, set 0 to disable
258
+ },
259
+ },
260
+ }
261
+ ```
262
+
263
+ ### Reply-to mode
264
+
265
+ Control how the bot quotes messages when replying in group chats:
266
+
267
+ ```json5
268
+ {
269
+ channels: {
270
+ yuanbao: {
271
+ replyToMode: "first", // "off" | "first" | "all" (default: "first")
272
+ },
273
+ },
274
+ }
275
+ ```
276
+
277
+ | Value | Behavior |
278
+ | --------- | -------------------------------------------------------- |
279
+ | `"off"` | No quote reply |
280
+ | `"first"` | Quote only the first reply per inbound message (default) |
281
+ | `"all"` | Quote every reply |
282
+
283
+ ### Markdown hint injection
284
+
285
+ By default, the bot injects instructions in the system prompt to prevent the AI model from wrapping the entire reply in markdown code blocks.
286
+
287
+ ```json5
288
+ {
289
+ channels: {
290
+ yuanbao: {
291
+ markdownHintEnabled: true, // default: true
292
+ },
293
+ },
294
+ }
295
+ ```
296
+
297
+ ### Debug mode
298
+
299
+ Enable unsanitized log output for specific bot IDs:
300
+
301
+ ```json5
302
+ {
303
+ channels: {
304
+ yuanbao: {
305
+ debugBotIds: ["bot_user_id_1", "bot_user_id_2"],
306
+ },
307
+ },
308
+ }
309
+ ```
310
+
311
+ ### Multi-agent routing
312
+
313
+ Use `bindings` to route Yuanbao DMs or groups to different agents.
314
+
315
+ ```json5
316
+ {
317
+ agents: {
318
+ list: [
319
+ { id: "main" },
320
+ { id: "agent-a", workspace: "/home/user/agent-a" },
321
+ { id: "agent-b", workspace: "/home/user/agent-b" },
322
+ ],
323
+ },
324
+ bindings: [
325
+ {
326
+ agentId: "agent-a",
327
+ match: {
328
+ channel: "yuanbao",
329
+ peer: { kind: "direct", id: "user_xxx" },
330
+ },
331
+ },
332
+ {
333
+ agentId: "agent-b",
334
+ match: {
335
+ channel: "yuanbao",
336
+ peer: { kind: "group", id: "group_zzz" },
337
+ },
338
+ },
339
+ ],
340
+ }
341
+ ```
342
+
343
+ Routing fields:
344
+
345
+ - `match.channel`: `"yuanbao"`
346
+ - `match.peer.kind`: `"direct"` (DM) or `"group"` (group chat)
347
+ - `match.peer.id`: user ID or group code
348
+
349
+ ---
350
+
351
+ ## Configuration reference
352
+
353
+ Full configuration: [Gateway configuration](/gateway/configuration)
354
+
355
+ | Setting | Description | Default |
356
+ | ------------------------------------------ | ------------------------------------------------- | -------------------------------------- |
357
+ | `channels.yuanbao.enabled` | Enable/disable the channel | `true` |
358
+ | `channels.yuanbao.defaultAccount` | Default account for outbound routing | `default` |
359
+ | `channels.yuanbao.accounts.<id>.appKey` | App Key (used for signing and ticket generation) | - |
360
+ | `channels.yuanbao.accounts.<id>.appSecret` | App Secret (used for signing) | - |
361
+ | `channels.yuanbao.accounts.<id>.token` | Pre-signed token (skips automatic ticket signing) | - |
362
+ | `channels.yuanbao.accounts.<id>.name` | Account display name | - |
363
+ | `channels.yuanbao.accounts.<id>.enabled` | Enable/disable a specific account | `true` |
364
+ | `channels.yuanbao.dm.policy` | DM policy | `open` |
365
+ | `channels.yuanbao.dm.allowFrom` | DM allowlist (user ID list) | - |
366
+ | `channels.yuanbao.requireMention` | Require @mention in groups | `true` |
367
+ | `channels.yuanbao.overflowPolicy` | Long message handling (`split` or `stop`) | `split` |
368
+ | `channels.yuanbao.replyToMode` | Group reply-to strategy (`off`, `first`, `all`) | `first` |
369
+ | `channels.yuanbao.outboundQueueStrategy` | Outbound strategy (`merge-text` or `immediate`) | `merge-text` |
370
+ | `channels.yuanbao.minChars` | Merge-text: min chars to trigger send | `2800` |
371
+ | `channels.yuanbao.maxChars` | Merge-text: max chars per message | `3000` |
372
+ | `channels.yuanbao.idleMs` | Merge-text: idle timeout before auto-flush (ms) | `5000` |
373
+ | `channels.yuanbao.mediaMaxMb` | Media size limit (MB) | `20` |
374
+ | `channels.yuanbao.historyLimit` | Group chat history context entries | `100` |
375
+ | `channels.yuanbao.disableBlockStreaming` | Disable block-level streaming output | `false` |
376
+ | `channels.yuanbao.fallbackReply` | Fallback reply when AI returns no content | `暂时无法解答,你可以换个问题问问我哦` |
377
+ | `channels.yuanbao.markdownHintEnabled` | Inject markdown anti-wrapping instructions | `true` |
378
+ | `channels.yuanbao.debugBotIds` | Debug whitelist bot IDs (unsanitized logs) | `[]` |
379
+
380
+ ---
381
+
382
+ ## Supported message types
383
+
384
+ ### Receive
385
+
386
+ - ✅ Text
387
+ - ✅ Images
388
+ - ✅ Files
389
+ - ✅ Audio / Voice
390
+ - ✅ Video
391
+ - ✅ Stickers / Custom emoji
392
+ - ✅ Custom elements (link cards, etc.)
393
+
394
+ ### Send
395
+
396
+ - ✅ Text (with markdown support)
397
+ - ✅ Images
398
+ - ✅ Files
399
+ - ✅ Audio
400
+ - ✅ Video
401
+ - ✅ Stickers
402
+
403
+ ### Threads and replies
404
+
405
+ - ✅ Quote replies (configurable via `replyToMode`)
406
+ - ❌ Thread replies (not supported by platform)
407
+
408
+ ---
409
+
410
+ ## Related
411
+
412
+ - [Channels Overview](/channels) - all supported channels
413
+ - [Pairing](/channels/pairing) - DM authentication and pairing flow
414
+ - [Groups](/channels/groups) - group chat behavior and mention gating
415
+ - [Channel Routing](/channels/channel-routing) - session routing for messages
416
+ - [Security](/gateway/security) - access model and hardening
@@ -0,0 +1,253 @@
1
+ ---
2
+ summary: "Zalo bot support status, capabilities, and configuration"
3
+ read_when:
4
+ - Working on Zalo features or webhooks
5
+ title: "Zalo"
6
+ ---
7
+
8
+ Status: experimental. DMs are supported. The [Capabilities](#capabilities) section below reflects current Marketplace-bot behavior.
9
+
10
+ ## Bundled plugin
11
+
12
+ Zalo ships as a bundled plugin in current Nodmix releases, so normal packaged
13
+ builds do not need a separate install.
14
+
15
+ If you are on an older build or a custom install that excludes Zalo, install the
16
+ npm package directly:
17
+
18
+ - Install via CLI: `nodmix plugins install @nodmix/zalo`
19
+ - Pinned version: `nodmix plugins install @nodmix/zalo@2026.5.2`
20
+ - Or from a source checkout: `nodmix plugins install ./path/to/local/zalo-plugin`
21
+ - Details: [Plugins](/tools/plugin)
22
+
23
+ ## Quick setup (beginner)
24
+
25
+ 1. Ensure the Zalo plugin is available.
26
+ - Current packaged Nodmix releases already bundle it.
27
+ - Older/custom installs can add it manually with the commands above.
28
+ 2. Set the token:
29
+ - Env: `ZALO_BOT_TOKEN=...`
30
+ - Or config: `channels.zalo.accounts.default.botToken: "..."`.
31
+ 3. Restart the gateway (or finish setup).
32
+ 4. DM access is pairing by default; approve the pairing code on first contact.
33
+
34
+ Minimal config:
35
+
36
+ ```json5
37
+ {
38
+ channels: {
39
+ zalo: {
40
+ enabled: true,
41
+ accounts: {
42
+ default: {
43
+ botToken: "12345689:abc-xyz",
44
+ dmPolicy: "pairing",
45
+ },
46
+ },
47
+ },
48
+ },
49
+ }
50
+ ```
51
+
52
+ ## What it is
53
+
54
+ Zalo is a Vietnam-focused messaging app; its Bot API lets the Gateway run a bot for 1:1 conversations.
55
+ It is a good fit for support or notifications where you want deterministic routing back to Zalo.
56
+
57
+ This page reflects current Nodmix behavior for **Zalo Bot Creator / Marketplace bots**.
58
+ **Zalo Official Account (OA) bots** are a different Zalo product surface and may behave differently.
59
+
60
+ - A Zalo Bot API channel owned by the Gateway.
61
+ - Deterministic routing: replies go back to Zalo; the model never chooses channels.
62
+ - DMs share the agent's main session.
63
+ - The [Capabilities](#capabilities) section below shows current Marketplace-bot support.
64
+
65
+ ## Setup (fast path)
66
+
67
+ ### 1) Create a bot token (Zalo Bot Platform)
68
+
69
+ 1. Go to [https://bot.zaloplatforms.com](https://bot.zaloplatforms.com) and sign in.
70
+ 2. Create a new bot and configure its settings.
71
+ 3. Copy the full bot token (typically `numeric_id:secret`). For Marketplace bots, the usable runtime token may appear in the bot's welcome message after creation.
72
+
73
+ ### 2) Configure the token (env or config)
74
+
75
+ Example:
76
+
77
+ ```json5
78
+ {
79
+ channels: {
80
+ zalo: {
81
+ enabled: true,
82
+ accounts: {
83
+ default: {
84
+ botToken: "12345689:abc-xyz",
85
+ dmPolicy: "pairing",
86
+ },
87
+ },
88
+ },
89
+ },
90
+ }
91
+ ```
92
+
93
+ If you later move to a Zalo bot surface where groups are available, you can add group-specific config such as `groupPolicy` and `groupAllowFrom` explicitly. For current Marketplace-bot behavior, see [Capabilities](#capabilities).
94
+
95
+ Env option: `ZALO_BOT_TOKEN=...` (works for the default account only).
96
+
97
+ Multi-account support: use `channels.zalo.accounts` with per-account tokens and optional `name`.
98
+
99
+ 3. Restart the gateway. Zalo starts when a token is resolved (env or config).
100
+ 4. DM access defaults to pairing. Approve the code when the bot is first contacted.
101
+
102
+ ## How it works (behavior)
103
+
104
+ - Inbound messages are normalized into the shared channel envelope with media placeholders.
105
+ - Replies always route back to the same Zalo chat.
106
+ - Long-polling by default; webhook mode available with `channels.zalo.webhookUrl`.
107
+
108
+ ## Limits
109
+
110
+ - Outbound text is chunked to 2000 characters (Zalo API limit).
111
+ - Media downloads/uploads are capped by `channels.zalo.mediaMaxMb` (default 5).
112
+ - Streaming is blocked by default due to the 2000 char limit making streaming less useful.
113
+
114
+ ## Access control (DMs)
115
+
116
+ ### DM access
117
+
118
+ - Default: `channels.zalo.dmPolicy = "pairing"`. Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
119
+ - Approve via:
120
+ - `nodmix pairing list zalo`
121
+ - `nodmix pairing approve zalo <CODE>`
122
+ - Pairing is the default token exchange. Details: [Pairing](/channels/pairing)
123
+ - `channels.zalo.allowFrom` accepts numeric user IDs (no username lookup available).
124
+
125
+ ## Access control (Groups)
126
+
127
+ For **Zalo Bot Creator / Marketplace bots**, group support was not available in practice because the bot could not be added to a group at all.
128
+
129
+ That means the group-related config keys below exist in the schema, but were not usable for Marketplace bots:
130
+
131
+ - `channels.zalo.groupPolicy` controls group inbound handling: `open | allowlist | disabled`.
132
+ - `channels.zalo.groupAllowFrom` restricts which sender IDs can trigger the bot in groups.
133
+ - If `groupAllowFrom` is unset, Zalo falls back to `allowFrom` for sender checks.
134
+ - Runtime note: if `channels.zalo` is missing entirely, runtime still falls back to `groupPolicy="allowlist"` for safety.
135
+
136
+ The group policy values (when group access is available on your bot surface) are:
137
+
138
+ - `groupPolicy: "disabled"` — blocks all group messages.
139
+ - `groupPolicy: "open"` — allows any group member (mention-gated).
140
+ - `groupPolicy: "allowlist"` — fail-closed default; only allowed senders are accepted.
141
+
142
+ If you are using a different Zalo bot product surface and have verified working group behavior, document that separately rather than assuming it matches the Marketplace-bot flow.
143
+
144
+ ## Long-polling vs webhook
145
+
146
+ - Default: long-polling (no public URL required).
147
+ - Webhook mode: set `channels.zalo.webhookUrl` and `channels.zalo.webhookSecret`.
148
+ - The webhook secret must be 8-256 characters.
149
+ - Webhook URL must use HTTPS.
150
+ - Zalo sends events with `X-Bot-Api-Secret-Token` header for verification.
151
+ - Gateway HTTP handles webhook requests at `channels.zalo.webhookPath` (defaults to the webhook URL path).
152
+ - Requests must use `Content-Type: application/json` (or `+json` media types).
153
+ - Duplicate events (`event_name + message_id`) are ignored for a short replay window.
154
+ - Burst traffic is rate-limited per path/source and may return HTTP 429.
155
+
156
+ **Note:** getUpdates (polling) and webhook are mutually exclusive per Zalo API docs.
157
+
158
+ ## Supported message types
159
+
160
+ For a quick support snapshot, see [Capabilities](#capabilities). The notes below add detail where the behavior needs extra context.
161
+
162
+ - **Text messages**: Full support with 2000 character chunking.
163
+ - **Plain URLs in text**: Behave like normal text input.
164
+ - **Link previews / rich link cards**: See the Marketplace-bot status in [Capabilities](#capabilities); they did not reliably trigger a reply.
165
+ - **Image messages**: See the Marketplace-bot status in [Capabilities](#capabilities); inbound image handling was unreliable (typing indicator without a final reply).
166
+ - **Stickers**: See the Marketplace-bot status in [Capabilities](#capabilities).
167
+ - **Voice notes / audio files / video / generic file attachments**: See the Marketplace-bot status in [Capabilities](#capabilities).
168
+ - **Unsupported types**: Logged (for example, messages from protected users).
169
+
170
+ ## Capabilities
171
+
172
+ This table summarizes current **Zalo Bot Creator / Marketplace bot** behavior in Nodmix.
173
+
174
+ | Feature | Status |
175
+ | --------------------------- | --------------------------------------- |
176
+ | Direct messages | ✅ Supported |
177
+ | Groups | ❌ Not available for Marketplace bots |
178
+ | Media (inbound images) | ⚠️ Limited / verify in your environment |
179
+ | Media (outbound images) | ⚠️ Not re-tested for Marketplace bots |
180
+ | Plain URLs in text | ✅ Supported |
181
+ | Link previews | ⚠️ Unreliable for Marketplace bots |
182
+ | Reactions | ❌ Not supported |
183
+ | Stickers | ⚠️ No agent reply for Marketplace bots |
184
+ | Voice notes / audio / video | ⚠️ No agent reply for Marketplace bots |
185
+ | File attachments | ⚠️ No agent reply for Marketplace bots |
186
+ | Threads | ❌ Not supported |
187
+ | Polls | ❌ Not supported |
188
+ | Native commands | ❌ Not supported |
189
+ | Streaming | ⚠️ Blocked (2000 char limit) |
190
+
191
+ ## Delivery targets (CLI/cron)
192
+
193
+ - Use a chat id as the target.
194
+ - Example: `nodmix message send --channel zalo --target 123456789 --message "hi"`.
195
+
196
+ ## Troubleshooting
197
+
198
+ **Bot doesn't respond:**
199
+
200
+ - Check that the token is valid: `nodmix channels status --probe`
201
+ - Verify the sender is approved (pairing or allowFrom)
202
+ - Check gateway logs: `nodmix logs --follow`
203
+
204
+ **Webhook not receiving events:**
205
+
206
+ - Ensure webhook URL uses HTTPS
207
+ - Verify secret token is 8-256 characters
208
+ - Confirm the gateway HTTP endpoint is reachable on the configured path
209
+ - Check that getUpdates polling is not running (they're mutually exclusive)
210
+
211
+ ## Configuration reference (Zalo)
212
+
213
+ Full configuration: [Configuration](/gateway/configuration)
214
+
215
+ The flat top-level keys (`channels.zalo.botToken`, `channels.zalo.dmPolicy`, and similar) are a legacy single-account shorthand. Prefer `channels.zalo.accounts.<id>.*` for new configs. Both forms are still documented here because they exist in the schema.
216
+
217
+ Provider options:
218
+
219
+ - `channels.zalo.enabled`: enable/disable channel startup.
220
+ - `channels.zalo.botToken`: bot token from Zalo Bot Platform.
221
+ - `channels.zalo.tokenFile`: read token from a regular file path. Symlinks are rejected.
222
+ - `channels.zalo.dmPolicy`: `pairing | allowlist | open | disabled` (default: pairing).
223
+ - `channels.zalo.allowFrom`: DM allowlist (user IDs). `open` requires `"*"`. The wizard will ask for numeric IDs.
224
+ - `channels.zalo.groupPolicy`: `open | allowlist | disabled` (default: allowlist). Present in config; see [Capabilities](#capabilities) and [Access control (Groups)](#access-control-groups) for current Marketplace-bot behavior.
225
+ - `channels.zalo.groupAllowFrom`: group sender allowlist (user IDs). Falls back to `allowFrom` when unset.
226
+ - `channels.zalo.mediaMaxMb`: inbound/outbound media cap (MB, default 5).
227
+ - `channels.zalo.webhookUrl`: enable webhook mode (HTTPS required).
228
+ - `channels.zalo.webhookSecret`: webhook secret (8-256 chars).
229
+ - `channels.zalo.webhookPath`: webhook path on the gateway HTTP server.
230
+ - `channels.zalo.proxy`: proxy URL for API requests.
231
+
232
+ Multi-account options:
233
+
234
+ - `channels.zalo.accounts.<id>.botToken`: per-account token.
235
+ - `channels.zalo.accounts.<id>.tokenFile`: per-account regular token file. Symlinks are rejected.
236
+ - `channels.zalo.accounts.<id>.name`: display name.
237
+ - `channels.zalo.accounts.<id>.enabled`: enable/disable account.
238
+ - `channels.zalo.accounts.<id>.dmPolicy`: per-account DM policy.
239
+ - `channels.zalo.accounts.<id>.allowFrom`: per-account allowlist.
240
+ - `channels.zalo.accounts.<id>.groupPolicy`: per-account group policy. Present in config; see [Capabilities](#capabilities) and [Access control (Groups)](#access-control-groups) for current Marketplace-bot behavior.
241
+ - `channels.zalo.accounts.<id>.groupAllowFrom`: per-account group sender allowlist.
242
+ - `channels.zalo.accounts.<id>.webhookUrl`: per-account webhook URL.
243
+ - `channels.zalo.accounts.<id>.webhookSecret`: per-account webhook secret.
244
+ - `channels.zalo.accounts.<id>.webhookPath`: per-account webhook path.
245
+ - `channels.zalo.accounts.<id>.proxy`: per-account proxy URL.
246
+
247
+ ## Related
248
+
249
+ - [Channels Overview](/channels) — all supported channels
250
+ - [Pairing](/channels/pairing) — DM authentication and pairing flow
251
+ - [Groups](/channels/groups) — group chat behavior and mention gating
252
+ - [Channel Routing](/channels/channel-routing) — session routing for messages
253
+ - [Security](/gateway/security) — access model and hardening