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,210 @@
1
+ ---
2
+ summary: "Run Nodmix in a rootless Podman container"
3
+ read_when:
4
+ - You want a containerized gateway with Podman instead of Docker
5
+ title: "Podman"
6
+ ---
7
+
8
+ Run the Nodmix Gateway in a rootless Podman container, managed by your current non-root user.
9
+
10
+ The intended model is:
11
+
12
+ - Podman runs the gateway container.
13
+ - Your host `nodmix` CLI is the control plane.
14
+ - Persistent state lives on the host under `~/.nodmix` by default.
15
+ - Day-to-day management uses `nodmix --container <name> ...` instead of `sudo -u nodmix`, `podman exec`, or a separate service user.
16
+
17
+ ## Prerequisites
18
+
19
+ - **Podman** in rootless mode
20
+ - **Nodmix CLI** installed on the host
21
+ - **Optional:** `systemd --user` if you want Quadlet-managed auto-start
22
+ - **Optional:** `sudo` only if you want `loginctl enable-linger "$(whoami)"` for boot persistence on a headless host
23
+
24
+ ## Quick start
25
+
26
+ <Steps>
27
+ <Step title="One-time setup">
28
+ From the repo root, run `./scripts/podman/setup.sh`.
29
+ </Step>
30
+
31
+ <Step title="Start the Gateway container">
32
+ Start the container with `./scripts/run-nodmix-podman.sh launch`.
33
+ </Step>
34
+
35
+ <Step title="Run onboarding inside the container">
36
+ Run `./scripts/run-nodmix-podman.sh launch setup`, then open `http://127.0.0.1:18789/`.
37
+ </Step>
38
+
39
+ <Step title="Manage the running container from the host CLI">
40
+ Set `NODMIX_CONTAINER=nodmix`, then use normal `nodmix` commands from the host.
41
+ </Step>
42
+ </Steps>
43
+
44
+ Setup details:
45
+
46
+ - `./scripts/podman/setup.sh` builds `nodmix:local` in your rootless Podman store by default, or uses `NODMIX_IMAGE` / `NODMIX_PODMAN_IMAGE` if you set one.
47
+ - It creates `~/.nodmix/nodmix.json` with `gateway.mode: "local"` if missing.
48
+ - It creates `~/.nodmix/.env` with `NODMIX_GATEWAY_TOKEN` if missing.
49
+ - For manual launches, the helper reads only a small allowlist of Podman-related keys from `~/.nodmix/.env` and passes explicit runtime env vars to the container; it does not hand the full env file to Podman.
50
+
51
+ Quadlet-managed setup:
52
+
53
+ ```bash
54
+ ./scripts/podman/setup.sh --quadlet
55
+ ```
56
+
57
+ Quadlet is a Linux-only option because it depends on systemd user services.
58
+
59
+ You can also set `NODMIX_PODMAN_QUADLET=1`.
60
+
61
+ Optional build/setup env vars:
62
+
63
+ - `NODMIX_IMAGE` or `NODMIX_PODMAN_IMAGE` -- use an existing/pulled image instead of building `nodmix:local`
64
+ - `NODMIX_IMAGE_APT_PACKAGES` -- install extra apt packages during image build (also accepts legacy `NODMIX_DOCKER_APT_PACKAGES`)
65
+ - `NODMIX_IMAGE_PIP_PACKAGES` -- install extra Python packages during image build; pin versions and use only package indexes you trust
66
+ - `NODMIX_EXTENSIONS` -- pre-install plugin dependencies at build time
67
+ - `NODMIX_INSTALL_BROWSER` -- pre-install Chromium and Xvfb for browser automation (set to `1` to enable)
68
+
69
+ Container start:
70
+
71
+ ```bash
72
+ ./scripts/run-nodmix-podman.sh launch
73
+ ```
74
+
75
+ The script starts the container as your current uid/gid with `--userns=keep-id` and bind-mounts your Nodmix state into the container.
76
+
77
+ Onboarding:
78
+
79
+ ```bash
80
+ ./scripts/run-nodmix-podman.sh launch setup
81
+ ```
82
+
83
+ Then open `http://127.0.0.1:18789/` and use the token from `~/.nodmix/.env`.
84
+
85
+ Host CLI default:
86
+
87
+ ```bash
88
+ export NODMIX_CONTAINER=nodmix
89
+ ```
90
+
91
+ Then commands such as these will run inside that container automatically:
92
+
93
+ ```bash
94
+ nodmix dashboard --no-open
95
+ nodmix gateway status --deep # includes extra service scan
96
+ nodmix doctor
97
+ nodmix channels login
98
+ ```
99
+
100
+ On macOS, Podman machine may make the browser appear non-local to the gateway.
101
+ If the Control UI reports device-auth errors after launch, use the Tailscale guidance in
102
+ [Podman and Tailscale](#podman--tailscale).
103
+
104
+ <a id="podman--tailscale"></a>
105
+
106
+ ## Podman and Tailscale
107
+
108
+ For HTTPS or remote browser access, follow the main Tailscale docs.
109
+
110
+ Podman-specific note:
111
+
112
+ - Keep the Podman publish host at `127.0.0.1`.
113
+ - Prefer host-managed `tailscale serve` over `nodmix gateway --tailscale serve`.
114
+ - On macOS, if local browser device-auth context is unreliable, use Tailscale access instead of ad hoc local tunnel workarounds.
115
+
116
+ See:
117
+
118
+ - [Tailscale](/gateway/tailscale)
119
+ - [Control UI](/web/control-ui)
120
+
121
+ ## Systemd (Quadlet, optional)
122
+
123
+ If you ran `./scripts/podman/setup.sh --quadlet`, setup installs a Quadlet file at:
124
+
125
+ ```bash
126
+ ~/.config/containers/systemd/nodmix.container
127
+ ```
128
+
129
+ Useful commands:
130
+
131
+ - **Start:** `systemctl --user start nodmix.service`
132
+ - **Stop:** `systemctl --user stop nodmix.service`
133
+ - **Status:** `systemctl --user status nodmix.service`
134
+ - **Logs:** `journalctl --user -u nodmix.service -f`
135
+
136
+ After editing the Quadlet file:
137
+
138
+ ```bash
139
+ systemctl --user daemon-reload
140
+ systemctl --user restart nodmix.service
141
+ ```
142
+
143
+ For boot persistence on SSH/headless hosts, enable lingering for your current user:
144
+
145
+ ```bash
146
+ sudo loginctl enable-linger "$(whoami)"
147
+ ```
148
+
149
+ ## Config, env, and storage
150
+
151
+ - **Config dir:** `~/.nodmix`
152
+ - **Workspace dir:** `~/.nodmix/workspace`
153
+ - **Token file:** `~/.nodmix/.env`
154
+ - **Launch helper:** `./scripts/run-nodmix-podman.sh`
155
+
156
+ The launch script and Quadlet bind-mount host state into the container:
157
+
158
+ - `NODMIX_CONFIG_DIR` -> `/home/node/.nodmix`
159
+ - `NODMIX_WORKSPACE_DIR` -> `/home/node/.nodmix/workspace`
160
+
161
+ By default those are host directories, not anonymous container state, so
162
+ `nodmix.json`, per-agent `auth-profiles.json`, channel/provider state,
163
+ sessions, and workspace survive container replacement.
164
+ The Podman setup also seeds `gateway.controlUi.allowedOrigins` for `127.0.0.1` and `localhost` on the published gateway port so the local dashboard works with the container's non-loopback bind.
165
+
166
+ Useful env vars for the manual launcher:
167
+
168
+ - `NODMIX_PODMAN_CONTAINER` -- container name (`nodmix` by default)
169
+ - `NODMIX_PODMAN_IMAGE` / `NODMIX_IMAGE` -- image to run
170
+ - `NODMIX_PODMAN_GATEWAY_HOST_PORT` -- host port mapped to container `18789`
171
+ - `NODMIX_PODMAN_BRIDGE_HOST_PORT` -- host port mapped to container `18790`
172
+ - `NODMIX_PODMAN_PUBLISH_HOST` -- host interface for published ports; default is `127.0.0.1`
173
+ - `NODMIX_GATEWAY_BIND` -- gateway bind mode inside the container; default is `lan`
174
+ - `NODMIX_PODMAN_USERNS` -- `keep-id` (default), `auto`, or `host`
175
+
176
+ The manual launcher reads `~/.nodmix/.env` before finalizing container/image defaults, so you can persist these there.
177
+
178
+ If you use a non-default `NODMIX_CONFIG_DIR` or `NODMIX_WORKSPACE_DIR`, set the same variables for both `./scripts/podman/setup.sh` and later `./scripts/run-nodmix-podman.sh launch` commands. The repo-local launcher does not persist custom path overrides across shells.
179
+
180
+ Quadlet note:
181
+
182
+ - The generated Quadlet service intentionally keeps a fixed, hardened default shape: `127.0.0.1` published ports, `--bind lan` inside the container, and `keep-id` user namespace.
183
+ - It pins `NODMIX_NO_RESPAWN=1`, `Restart=on-failure`, and `TimeoutStartSec=300`.
184
+ - It publishes both `127.0.0.1:18789:18789` (gateway) and `127.0.0.1:18790:18790` (bridge).
185
+ - It reads `~/.nodmix/.env` as a runtime `EnvironmentFile` for values such as `NODMIX_GATEWAY_TOKEN`, but it does not consume the manual launcher's Podman-specific override allowlist.
186
+ - If you need custom publish ports, publish host, or other container-run flags, use the manual launcher or edit `~/.config/containers/systemd/nodmix.container` directly, then reload and restart the service.
187
+
188
+ ## Useful commands
189
+
190
+ - **Container logs:** `podman logs -f nodmix`
191
+ - **Stop container:** `podman stop nodmix`
192
+ - **Remove container:** `podman rm -f nodmix`
193
+ - **Open dashboard URL from host CLI:** `nodmix dashboard --no-open`
194
+ - **Health/status via host CLI:** `nodmix gateway status --deep` (RPC probe + extra
195
+ service scan)
196
+
197
+ ## Troubleshooting
198
+
199
+ - **Permission denied (EACCES) on config or workspace:** The container runs with `--userns=keep-id` and `--user <your uid>:<your gid>` by default. Ensure the host config/workspace paths are owned by your current user.
200
+ - **Gateway start blocked (missing `gateway.mode=local`):** Ensure `~/.nodmix/nodmix.json` exists and sets `gateway.mode="local"`. `scripts/podman/setup.sh` creates this if missing.
201
+ - **Container CLI commands hit the wrong target:** Use `nodmix --container <name> ...` explicitly, or export `NODMIX_CONTAINER=<name>` in your shell.
202
+ - **`nodmix update` fails with `--container`:** Expected. Rebuild/pull the image, then restart the container or the Quadlet service.
203
+ - **Quadlet service does not start:** Run `systemctl --user daemon-reload`, then `systemctl --user start nodmix.service`. On headless systems you may also need `sudo loginctl enable-linger "$(whoami)"`.
204
+ - **SELinux blocks bind mounts:** Leave the default mount behavior alone; the launcher auto-adds `:Z` on Linux when SELinux is enforcing or permissive.
205
+
206
+ ## Related
207
+
208
+ - [Docker](/install/docker)
209
+ - [Gateway background process](/gateway/background-process)
210
+ - [Gateway troubleshooting](/gateway/troubleshooting)
@@ -0,0 +1,92 @@
1
+ ---
2
+ summary: "Deploy Nodmix on Railway with one-click template"
3
+ read_when:
4
+ - Deploying Nodmix to Railway
5
+ - You want a one-click cloud deploy with browser-based Control UI
6
+ title: "Railway"
7
+ ---
8
+
9
+ # Railway
10
+
11
+ Deploy Nodmix on Railway with a one-click template and access it through the web Control UI.
12
+ This is the easiest "no terminal on the server" path: Railway runs the Gateway for you.
13
+
14
+ ## Quick checklist (new users)
15
+
16
+ 1. Click **Deploy on Railway** (below).
17
+ 2. Add a **Volume** mounted at `/data`.
18
+ 3. Set the required **Variables** (at least `NODMIX_GATEWAY_PORT` and `NODMIX_GATEWAY_TOKEN`).
19
+ 4. Enable **HTTP Proxy** on port `8080`.
20
+ 5. Open `https://<your-railway-domain>/nodmix` and connect using the configured shared secret. This template uses `NODMIX_GATEWAY_TOKEN` by default; if you replace it with password auth, use that password instead.
21
+
22
+ ## One-click deploy
23
+
24
+ <a href="https://railway.com/deploy/clawdbot-railway-template" target="_blank" rel="noreferrer">
25
+ Deploy on Railway
26
+ </a>
27
+
28
+ After deploy, find your public URL in **Railway → your service → Settings → Domains**.
29
+
30
+ Railway will either:
31
+
32
+ - give you a generated domain (often `https://<something>.up.railway.app`), or
33
+ - use your custom domain if you attached one.
34
+
35
+ Then open:
36
+
37
+ - `https://<your-railway-domain>/nodmix` — Control UI
38
+
39
+ ## What you get
40
+
41
+ - Hosted Nodmix Gateway + Control UI
42
+ - Persistent storage via Railway Volume (`/data`) so `nodmix.json`,
43
+ per-agent `auth-profiles.json`, channel/provider state, sessions, and
44
+ workspace survive redeploys
45
+
46
+ ## Required Railway settings
47
+
48
+ ### Public Networking
49
+
50
+ Enable **HTTP Proxy** for the service.
51
+
52
+ - Port: `8080`
53
+
54
+ ### Volume (required)
55
+
56
+ Attach a volume mounted at:
57
+
58
+ - `/data`
59
+
60
+ ### Variables
61
+
62
+ Set these variables on the service:
63
+
64
+ - `NODMIX_GATEWAY_PORT=8080` (required — must match the port in Public Networking)
65
+ - `NODMIX_GATEWAY_TOKEN` (required; treat as an admin secret)
66
+ - `NODMIX_STATE_DIR=/data/.nodmix` (recommended)
67
+ - `NODMIX_WORKSPACE_DIR=/data/workspace` (recommended)
68
+
69
+ ## Connect a channel
70
+
71
+ Use the Control UI at `/nodmix` or run `nodmix onboard` via Railway's shell for channel setup instructions:
72
+
73
+ - [Telegram](/channels/telegram) (fastest — just a bot token)
74
+ - [Discord](/channels/discord)
75
+ - [All channels](/channels)
76
+
77
+ ## Backups & migration
78
+
79
+ Export your state, config, auth profiles, and workspace:
80
+
81
+ ```bash
82
+ nodmix backup create
83
+ ```
84
+
85
+ This creates a portable backup archive with Nodmix state plus any configured
86
+ workspace. See [Backup](/cli/backup) for details.
87
+
88
+ ## Next steps
89
+
90
+ - Set up messaging channels: [Channels](/channels)
91
+ - Configure the Gateway: [Gateway configuration](/gateway/configuration)
92
+ - Keep Nodmix up to date: [Updating](/install/updating)
@@ -0,0 +1,234 @@
1
+ ---
2
+ summary: "Host Nodmix on a Raspberry Pi for always-on self-hosting"
3
+ read_when:
4
+ - Setting up Nodmix on a Raspberry Pi
5
+ - Running Nodmix on ARM devices
6
+ - Building a cheap always-on personal AI
7
+ title: "Raspberry Pi"
8
+ ---
9
+
10
+ Run a persistent, always-on Nodmix Gateway on a Raspberry Pi. Since the Pi is just the gateway (models run in the cloud via API), even a modest Pi handles the workload well — typical hardware cost is **$35–80 one-time**, no monthly fees.
11
+
12
+ ## Hardware compatibility
13
+
14
+ | Pi model | RAM | Works? | Notes |
15
+ | ----------- | ------ | ------ | ----------------------------------- |
16
+ | Pi 5 | 4/8 GB | Best | Fastest, recommended. |
17
+ | Pi 4 | 4 GB | Good | Sweet spot for most users. |
18
+ | Pi 4 | 2 GB | OK | Add swap. |
19
+ | Pi 4 | 1 GB | Tight | Possible with swap, minimal config. |
20
+ | Pi 3B+ | 1 GB | Slow | Works but sluggish. |
21
+ | Pi Zero 2 W | 512 MB | No | Not recommended. |
22
+
23
+ **Minimum:** 1 GB RAM, 1 core, 500 MB free disk, 64-bit OS.
24
+ **Recommended:** 2 GB+ RAM, 16 GB+ SD card (or USB SSD), Ethernet.
25
+
26
+ ## Prerequisites
27
+
28
+ - Raspberry Pi 4 or 5 with 2 GB+ RAM (4 GB recommended)
29
+ - MicroSD card (16 GB+) or USB SSD (better performance)
30
+ - Official Pi power supply
31
+ - Network connection (Ethernet or WiFi)
32
+ - 64-bit Raspberry Pi OS (required -- do not use 32-bit)
33
+ - About 30 minutes
34
+
35
+ ## Setup
36
+
37
+ <Steps>
38
+ <Step title="Flash the OS">
39
+ Use **Raspberry Pi OS Lite (64-bit)** -- no desktop needed for a headless server.
40
+
41
+ 1. Download [Raspberry Pi Imager](https://www.raspberrypi.com/software/).
42
+ 2. Choose OS: **Raspberry Pi OS Lite (64-bit)**.
43
+ 3. In the settings dialog, pre-configure:
44
+ - Hostname: `gateway-host`
45
+ - Enable SSH
46
+ - Set username and password
47
+ - Configure WiFi (if not using Ethernet)
48
+ 4. Flash to your SD card or USB drive, insert it, and boot the Pi.
49
+
50
+ </Step>
51
+
52
+ <Step title="Connect via SSH">
53
+ ```bash
54
+ ssh user@gateway-host
55
+ ```
56
+ </Step>
57
+
58
+ <Step title="Update the system">
59
+ ```bash
60
+ sudo apt update && sudo apt upgrade -y
61
+ sudo apt install -y git curl build-essential
62
+
63
+ # Set timezone (important for cron and reminders)
64
+ sudo timedatectl set-timezone America/Chicago
65
+ ```
66
+
67
+ </Step>
68
+
69
+ <Step title="Install Node.js 24">
70
+ ```bash
71
+ curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
72
+ sudo apt install -y nodejs
73
+ node --version
74
+ ```
75
+ </Step>
76
+
77
+ <Step title="Add swap (important for 2 GB or less)">
78
+ ```bash
79
+ sudo fallocate -l 2G /swapfile
80
+ sudo chmod 600 /swapfile
81
+ sudo mkswap /swapfile
82
+ sudo swapon /swapfile
83
+ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
84
+
85
+ # Reduce swappiness for low-RAM devices
86
+ echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
87
+ sudo sysctl -p
88
+ ```
89
+
90
+ </Step>
91
+
92
+ <Step title="Install Nodmix">
93
+ ```bash
94
+ curl -fsSL https://nodmix.ai/install.sh | bash
95
+ ```
96
+ </Step>
97
+
98
+ <Step title="Run onboarding">
99
+ ```bash
100
+ nodmix onboard --install-daemon
101
+ ```
102
+
103
+ Follow the wizard. API keys are recommended over OAuth for headless devices. Telegram is the easiest channel to start with.
104
+
105
+ </Step>
106
+
107
+ <Step title="Verify">
108
+ ```bash
109
+ nodmix status
110
+ systemctl --user status nodmix-gateway.service
111
+ journalctl --user -u nodmix-gateway.service -f
112
+ ```
113
+ </Step>
114
+
115
+ <Step title="Access the Control UI">
116
+ On your computer, get a dashboard URL from the Pi:
117
+
118
+ ```bash
119
+ ssh user@gateway-host 'nodmix dashboard --no-open'
120
+ ```
121
+
122
+ Then create an SSH tunnel in another terminal:
123
+
124
+ ```bash
125
+ ssh -N -L 18789:127.0.0.1:18789 user@gateway-host
126
+ ```
127
+
128
+ Open the printed URL in your local browser. For always-on remote access, see [Tailscale integration](/gateway/tailscale).
129
+
130
+ </Step>
131
+ </Steps>
132
+
133
+ ## Performance tips
134
+
135
+ **Use a USB SSD** -- SD cards are slow and wear out. A USB SSD dramatically improves performance. See the [Pi USB boot guide](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot).
136
+
137
+ **Enable module compile cache** -- Speeds up repeated CLI invocations on lower-power Pi hosts:
138
+
139
+ ```bash
140
+ grep -q 'NODE_COMPILE_CACHE=/var/tmp/nodmix-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' # pragma: allowlist secret
141
+ export NODE_COMPILE_CACHE=/var/tmp/nodmix-compile-cache
142
+ mkdir -p /var/tmp/nodmix-compile-cache
143
+ export NODMIX_NO_RESPAWN=1
144
+ EOF
145
+ source ~/.bashrc
146
+ ```
147
+
148
+ `NODMIX_NO_RESPAWN=1` keeps routine Gateway restarts in-process, which avoids extra process handoffs and keeps PID tracking simple on small hosts.
149
+
150
+ **Reduce memory usage** -- For headless setups, free GPU memory and disable unused services:
151
+
152
+ ```bash
153
+ echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
154
+ sudo systemctl disable bluetooth
155
+ ```
156
+
157
+ **systemd drop-in for stable restarts** -- If this Pi is mostly running Nodmix, add a service drop-in:
158
+
159
+ ```bash
160
+ systemctl --user edit nodmix-gateway.service
161
+ ```
162
+
163
+ ```ini
164
+ [Service]
165
+ Environment=NODMIX_NO_RESPAWN=1
166
+ Environment=NODE_COMPILE_CACHE=/var/tmp/nodmix-compile-cache
167
+ Restart=always
168
+ RestartSec=2
169
+ TimeoutStartSec=90
170
+ ```
171
+
172
+ Then `systemctl --user daemon-reload && systemctl --user restart nodmix-gateway.service`. On a headless Pi, also enable lingering once so the user service survives logout: `sudo loginctl enable-linger "$(whoami)"`.
173
+
174
+ ## Recommended model setup
175
+
176
+ Since the Pi only runs the gateway, use cloud-hosted API models:
177
+
178
+ ```json
179
+ {
180
+ "agents": {
181
+ "defaults": {
182
+ "model": {
183
+ "primary": "anthropic/claude-sonnet-4-6",
184
+ "fallbacks": ["openai/gpt-5.4-mini"]
185
+ }
186
+ }
187
+ }
188
+ }
189
+ ```
190
+
191
+ Do not run local LLMs on a Pi — even small models are too slow to be useful. Let Claude or GPT do the model work.
192
+
193
+ ## ARM binary notes
194
+
195
+ Most Nodmix features work on ARM64 without changes (Node.js, Telegram, WhatsApp/Baileys, Chromium). The binaries that occasionally lack ARM builds are typically optional Go/Rust CLI tools shipped by skills. Verify a missing binary's release page for `linux-arm64` / `aarch64` artifacts before falling back to building from source.
196
+
197
+ ## Persistence and backups
198
+
199
+ Nodmix state lives under:
200
+
201
+ - `~/.nodmix/` — `nodmix.json`, per-agent `auth-profiles.json`, channel/provider state, sessions.
202
+ - `~/.nodmix/workspace/` — agent workspace (SOUL.md, memory, artifacts).
203
+
204
+ These survive reboots. Take a portable snapshot with:
205
+
206
+ ```bash
207
+ nodmix backup create
208
+ ```
209
+
210
+ If you keep these on an SSD, both performance and longevity improve over the SD card.
211
+
212
+ ## Troubleshooting
213
+
214
+ **Out of memory** -- Verify swap is active with `free -h`. Disable unused services (`sudo systemctl disable cups bluetooth avahi-daemon`). Use API-based models only.
215
+
216
+ **Slow performance** -- Use a USB SSD instead of an SD card. Check for CPU throttling with `vcgencmd get_throttled` (should return `0x0`).
217
+
218
+ **Service will not start** -- Check logs with `journalctl --user -u nodmix-gateway.service --no-pager -n 100` and run `nodmix doctor --non-interactive`. If this is a headless Pi, also verify lingering is enabled: `sudo loginctl enable-linger "$(whoami)"`.
219
+
220
+ **ARM binary issues** -- If a skill fails with "exec format error", check whether the binary has an ARM64 build. Verify architecture with `uname -m` (should show `aarch64`).
221
+
222
+ **WiFi drops** -- Disable WiFi power management: `sudo iwconfig wlan0 power off`.
223
+
224
+ ## Next steps
225
+
226
+ - [Channels](/channels) -- connect Telegram, WhatsApp, Discord, and more
227
+ - [Gateway configuration](/gateway/configuration) -- all config options
228
+ - [Updating](/install/updating) -- keep Nodmix up to date
229
+
230
+ ## Related
231
+
232
+ - [Install overview](/install)
233
+ - [Linux server](/vps)
234
+ - [Platforms](/platforms)
@@ -0,0 +1,167 @@
1
+ ---
2
+ summary: "Deploy Nodmix on Render with Infrastructure-as-Code"
3
+ read_when:
4
+ - Deploying Nodmix to Render
5
+ - You want a declarative cloud deploy with Render Blueprints
6
+ title: "Render"
7
+ ---
8
+
9
+ # Render
10
+
11
+ Deploy Nodmix on Render using Infrastructure as Code. The included `render.yaml` Blueprint defines your entire stack declaratively, service, disk, environment variables, so you can deploy with a single click and version your infrastructure alongside your code.
12
+
13
+ ## Prerequisites
14
+
15
+ - A [Render account](https://render.com) (free tier available)
16
+ - An API key from your preferred [model provider](/providers)
17
+
18
+ ## Deploy with a Render Blueprint
19
+
20
+ [Deploy to Render](https://render.com/deploy?repo=https://github.com/nodmix/nodmix)
21
+
22
+ Clicking this link will:
23
+
24
+ 1. Create a new Render service from the `render.yaml` Blueprint at the root of this repo.
25
+ 2. Build the Docker image and deploy
26
+
27
+ Once deployed, your service URL follows the pattern `https://<service-name>.onrender.com`.
28
+
29
+ ## Understanding the Blueprint
30
+
31
+ Render Blueprints are YAML files that define your infrastructure. The `render.yaml` in this
32
+ repository configures everything needed to run Nodmix:
33
+
34
+ ```yaml
35
+ services:
36
+ - type: web
37
+ name: nodmix
38
+ runtime: docker
39
+ plan: starter
40
+ healthCheckPath: /health
41
+ envVars:
42
+ - key: NODMIX_GATEWAY_PORT
43
+ value: "8080"
44
+ - key: NODMIX_STATE_DIR
45
+ value: /data/.nodmix
46
+ - key: NODMIX_WORKSPACE_DIR
47
+ value: /data/workspace
48
+ - key: NODMIX_GATEWAY_TOKEN
49
+ generateValue: true # auto-generates a secure token
50
+ disk:
51
+ name: nodmix-data
52
+ mountPath: /data
53
+ sizeGB: 1
54
+ ```
55
+
56
+ Key Blueprint features used:
57
+
58
+ | Feature | Purpose |
59
+ | --------------------- | ---------------------------------------------------------- |
60
+ | `runtime: docker` | Builds from the repo's Dockerfile |
61
+ | `healthCheckPath` | Render monitors `/health` and restarts unhealthy instances |
62
+ | `generateValue: true` | Auto-generates a cryptographically secure value |
63
+ | `disk` | Persistent storage that survives redeploys |
64
+
65
+ ## Choosing a plan
66
+
67
+ | Plan | Spin-down | Disk | Best for |
68
+ | --------- | ----------------- | ------------- | ----------------------------- |
69
+ | Free | After 15 min idle | Not available | Testing, demos |
70
+ | Starter | Never | 1GB+ | Personal use, small teams |
71
+ | Standard+ | Never | 1GB+ | Production, multiple channels |
72
+
73
+ The Blueprint defaults to `starter`. To use free tier, change `plan: free` in
74
+ your fork's `render.yaml` (but note: no persistent disk means Nodmix state
75
+ resets on each deploy).
76
+
77
+ ## After deployment
78
+
79
+ ### Access the Control UI
80
+
81
+ The web dashboard is available at `https://<your-service>.onrender.com/`.
82
+
83
+ Connect using the configured shared secret. This deploy template auto-generates
84
+ `NODMIX_GATEWAY_TOKEN` (find it in **Dashboard → your service →
85
+ Environment**); if you replace it with password auth, use that password
86
+ instead.
87
+
88
+ ## Render Dashboard features
89
+
90
+ ### Logs
91
+
92
+ View real-time logs in **Dashboard → your service → Logs**. Filter by:
93
+
94
+ - Build logs (Docker image creation)
95
+ - Deploy logs (service startup)
96
+ - Runtime logs (application output)
97
+
98
+ ### Shell access
99
+
100
+ For debugging, open a shell session via **Dashboard → your service → Shell**. The persistent disk is mounted at `/data`.
101
+
102
+ ### Environment variables
103
+
104
+ Modify variables in **Dashboard → your service → Environment**. Changes trigger an automatic redeploy.
105
+
106
+ ### Auto-deploy
107
+
108
+ If you use the original Nodmix repository, Render will not auto-deploy your Nodmix. To update it, run a manual Blueprint sync from the dashboard.
109
+
110
+ ## Custom domain
111
+
112
+ 1. Go to **Dashboard → your service → Settings → Custom Domains**
113
+ 2. Add your domain
114
+ 3. Configure DNS as instructed (CNAME to `*.onrender.com`)
115
+ 4. Render provisions a TLS certificate automatically
116
+
117
+ ## Scaling
118
+
119
+ Render supports horizontal and vertical scaling:
120
+
121
+ - **Vertical**: Change the plan to get more CPU/RAM
122
+ - **Horizontal**: Increase instance count (Standard plan and above)
123
+
124
+ For Nodmix, vertical scaling is usually sufficient. Horizontal scaling requires sticky sessions or external state management.
125
+
126
+ ## Backups and migration
127
+
128
+ Export your state, config, auth profiles, and workspace at any time using the
129
+ shell access in the Render Dashboard:
130
+
131
+ ```bash
132
+ nodmix backup create
133
+ ```
134
+
135
+ This creates a portable backup archive with Nodmix state plus any configured
136
+ workspace. See [Backup](/cli/backup) for details.
137
+
138
+ ## Troubleshooting
139
+
140
+ ### Service will not start
141
+
142
+ Check the deploy logs in the Render Dashboard. Common issues:
143
+
144
+ - Missing `NODMIX_GATEWAY_TOKEN` — verify it is set in **Dashboard → Environment**
145
+ - Port mismatch — ensure `NODMIX_GATEWAY_PORT=8080` is set so the gateway binds to the port Render expects
146
+
147
+ ### Slow cold starts (free tier)
148
+
149
+ Free tier services spin down after 15 minutes of inactivity. The first request after spin-down takes a few seconds while the container starts. Upgrade to Starter plan for always-on.
150
+
151
+ ### Data loss after redeploy
152
+
153
+ This happens on free tier (no persistent disk). Upgrade to a paid plan, or
154
+ regularly export a full backup via `nodmix backup create` in the Render shell.
155
+
156
+ ### Health check failures
157
+
158
+ Render expects a 200 response from `/health` within 30 seconds. If builds succeed but deploys fail, the service may be taking too long to start. Check:
159
+
160
+ - Build logs for errors
161
+ - Whether the container runs locally with `docker build && docker run`
162
+
163
+ ## Next steps
164
+
165
+ - Set up messaging channels: [Channels](/channels)
166
+ - Configure the Gateway: [Gateway configuration](/gateway/configuration)
167
+ - Keep Nodmix up to date: [Updating](/install/updating)