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,261 @@
1
+ ---
2
+ summary: "Background memory consolidation with light, deep, and REM phases plus a Dream Diary"
3
+ title: "Dreaming"
4
+ sidebarTitle: "Dreaming"
5
+ read_when:
6
+ - You want memory promotion to run automatically
7
+ - You want to understand what each dreaming phase does
8
+ - You want to tune consolidation without polluting MEMORY.md
9
+ ---
10
+
11
+ Dreaming is the background memory consolidation system in `memory-core`. It helps Nodmix move strong short-term signals into durable memory while keeping the process explainable and reviewable.
12
+
13
+ <Note>
14
+ Dreaming is **opt-in** and disabled by default.
15
+ </Note>
16
+
17
+ ## What dreaming writes
18
+
19
+ Dreaming keeps two kinds of output:
20
+
21
+ - **Machine state** in `memory/.dreams/` (recall store, phase signals, ingestion checkpoints, locks).
22
+ - **Human-readable output** in `DREAMS.md` (or existing `dreams.md`) and optional phase report files under `memory/dreaming/<phase>/YYYY-MM-DD.md`.
23
+
24
+ Long-term promotion still writes only to `MEMORY.md`.
25
+
26
+ ## Phase model
27
+
28
+ Dreaming uses three cooperative phases:
29
+
30
+ | Phase | Purpose | Durable write |
31
+ | ----- | ----------------------------------------- | ----------------- |
32
+ | Light | Sort and stage recent short-term material | No |
33
+ | Deep | Score and promote durable candidates | Yes (`MEMORY.md`) |
34
+ | REM | Reflect on themes and recurring ideas | No |
35
+
36
+ These phases are internal implementation details, not separate user-configured "modes."
37
+
38
+ <AccordionGroup>
39
+ <Accordion title="Light phase">
40
+ Light phase ingests recent daily memory signals and recall traces, dedupes them, and stages candidate lines.
41
+
42
+ - Reads from short-term recall state, recent daily memory files, and redacted session transcripts when available.
43
+ - Writes a managed `## Light Sleep` block when storage includes inline output.
44
+ - Records reinforcement signals for later deep ranking.
45
+ - Never writes to `MEMORY.md`.
46
+
47
+ </Accordion>
48
+ <Accordion title="Deep phase">
49
+ Deep phase decides what becomes long-term memory.
50
+
51
+ - Ranks candidates using weighted scoring and threshold gates.
52
+ - Requires `minScore`, `minRecallCount`, and `minUniqueQueries` to pass.
53
+ - Rehydrates snippets from live daily files before writing, so stale/deleted snippets are skipped.
54
+ - Appends promoted entries to `MEMORY.md`.
55
+ - Writes a `## Deep Sleep` summary into `DREAMS.md` and optionally writes `memory/dreaming/deep/YYYY-MM-DD.md`.
56
+
57
+ </Accordion>
58
+ <Accordion title="REM phase">
59
+ REM phase extracts patterns and reflective signals.
60
+
61
+ - Builds theme and reflection summaries from recent short-term traces.
62
+ - Writes a managed `## REM Sleep` block when storage includes inline output.
63
+ - Records REM reinforcement signals used by deep ranking.
64
+ - Never writes to `MEMORY.md`.
65
+
66
+ </Accordion>
67
+ </AccordionGroup>
68
+
69
+ ## Session transcript ingestion
70
+
71
+ Dreaming can ingest redacted session transcripts into the dreaming corpus. When transcripts are available, they are fed into the light phase alongside daily memory signals and recall traces. Personal and sensitive content is redacted before ingestion.
72
+
73
+ ## Dream Diary
74
+
75
+ Dreaming also keeps a narrative **Dream Diary** in `DREAMS.md`. After each phase has enough material, `memory-core` runs a best-effort background subagent turn and appends a short diary entry. It uses the default runtime model unless `dreaming.model` is configured. If the configured model is unavailable, Dream Diary retries once with the session default model.
76
+
77
+ <Note>
78
+ This diary is for human reading in the Dreams UI, not a promotion source. Dreaming-generated diary/report artifacts are excluded from short-term promotion. Only grounded memory snippets are eligible to promote into `MEMORY.md`.
79
+ </Note>
80
+
81
+ There is also a grounded historical backfill lane for review and recovery work:
82
+
83
+ <AccordionGroup>
84
+ <Accordion title="Backfill commands">
85
+ - `memory rem-harness --path ... --grounded` previews grounded diary output from historical `YYYY-MM-DD.md` notes.
86
+ - `memory rem-backfill --path ...` writes reversible grounded diary entries into `DREAMS.md`.
87
+ - `memory rem-backfill --path ... --stage-short-term` stages grounded durable candidates into the same short-term evidence store the normal deep phase already uses.
88
+ - `memory rem-backfill --rollback` and `--rollback-short-term` remove those staged backfill artifacts without touching ordinary diary entries or live short-term recall.
89
+
90
+ </Accordion>
91
+ </AccordionGroup>
92
+
93
+ The Control UI exposes the same diary backfill/reset flow so you can inspect results in the Dreams scene before deciding whether the grounded candidates deserve promotion. The Scene also shows a distinct grounded lane so you can see which staged short-term entries came from historical replay, which promoted items were grounded-led, and clear only grounded-only staged entries without touching ordinary live short-term state.
94
+
95
+ ## Deep ranking signals
96
+
97
+ Deep ranking uses six weighted base signals plus phase reinforcement:
98
+
99
+ | Signal | Weight | Description |
100
+ | ------------------- | ------ | ------------------------------------------------- |
101
+ | Frequency | 0.24 | How many short-term signals the entry accumulated |
102
+ | Relevance | 0.30 | Average retrieval quality for the entry |
103
+ | Query diversity | 0.15 | Distinct query/day contexts that surfaced it |
104
+ | Recency | 0.15 | Time-decayed freshness score |
105
+ | Consolidation | 0.10 | Multi-day recurrence strength |
106
+ | Conceptual richness | 0.06 | Concept-tag density from snippet/path |
107
+
108
+ Light and REM phase hits add a small recency-decayed boost from `memory/.dreams/phase-signals.json`.
109
+
110
+ ## QA shadow trial report coverage
111
+
112
+ QA Lab includes a report-only scenario for exploring how a future dreaming
113
+ shadow trial could review a candidate memory before promotion. The scenario asks
114
+ an agent to compare a baseline answer with an answer that can use the candidate
115
+ memory, then write a local report with a verdict, reason, and risk flags.
116
+
117
+ This coverage is intentionally scoped to QA. It verifies that the report artifact
118
+ stays separate from `MEMORY.md` and that the agent does not claim the candidate
119
+ was promoted. It does not add production shadow-trial behavior or change the
120
+ deep-phase promotion engine.
121
+
122
+ ## Scheduling
123
+
124
+ When enabled, `memory-core` auto-manages one cron job for a full dreaming sweep. Each sweep runs phases in order: light → REM → deep.
125
+
126
+ The sweep includes the primary runtime workspace and any configured agent workspaces, deduped by path, so subagent workspace fan-out does not exclude the main agent's `DREAMS.md` and memory state.
127
+
128
+ Default cadence behavior:
129
+
130
+ | Setting | Default |
131
+ | -------------------- | ------------- |
132
+ | `dreaming.frequency` | `0 3 * * *` |
133
+ | `dreaming.model` | default model |
134
+
135
+ ## Quick start
136
+
137
+ <Tabs>
138
+ <Tab title="Enable dreaming">
139
+ ```json
140
+ {
141
+ "plugins": {
142
+ "entries": {
143
+ "memory-core": {
144
+ "config": {
145
+ "dreaming": {
146
+ "enabled": true
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ ```
154
+ </Tab>
155
+ <Tab title="Custom sweep cadence">
156
+ ```json
157
+ {
158
+ "plugins": {
159
+ "entries": {
160
+ "memory-core": {
161
+ "config": {
162
+ "dreaming": {
163
+ "enabled": true,
164
+ "timezone": "America/Los_Angeles",
165
+ "frequency": "0 */6 * * *"
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+ ```
173
+ </Tab>
174
+ </Tabs>
175
+
176
+ ## Slash command
177
+
178
+ ```
179
+ /dreaming status
180
+ /dreaming on
181
+ /dreaming off
182
+ /dreaming help
183
+ ```
184
+
185
+ ## CLI workflow
186
+
187
+ <Tabs>
188
+ <Tab title="Promotion preview / apply">
189
+ ```bash
190
+ nodmix memory promote
191
+ nodmix memory promote --apply
192
+ nodmix memory promote --limit 5
193
+ nodmix memory status --deep
194
+ ```
195
+
196
+ Manual `memory promote` uses deep-phase thresholds by default unless overridden with CLI flags.
197
+
198
+ </Tab>
199
+ <Tab title="Explain promotion">
200
+ Explain why a specific candidate would or would not promote:
201
+
202
+ ```bash
203
+ nodmix memory promote-explain "router vlan"
204
+ nodmix memory promote-explain "router vlan" --json
205
+ ```
206
+
207
+ </Tab>
208
+ <Tab title="REM harness preview">
209
+ Preview REM reflections, candidate truths, and deep promotion output without writing anything:
210
+
211
+ ```bash
212
+ nodmix memory rem-harness
213
+ nodmix memory rem-harness --json
214
+ ```
215
+
216
+ </Tab>
217
+ </Tabs>
218
+
219
+ ## Key defaults
220
+
221
+ All settings live under `plugins.entries.memory-core.config.dreaming`.
222
+
223
+ <ParamField path="enabled" type="boolean" default="false">
224
+ Enable or disable the dreaming sweep.
225
+ </ParamField>
226
+ <ParamField path="frequency" type="string" default="0 3 * * *">
227
+ Cron cadence for the full dreaming sweep.
228
+ </ParamField>
229
+ <ParamField path="model" type="string">
230
+ Optional Dream Diary subagent model override. Use a canonical `provider/model` value when also setting a subagent `allowedModels` allowlist.
231
+ </ParamField>
232
+
233
+ <Warning>
234
+ `dreaming.model` requires `plugins.entries.memory-core.subagent.allowModelOverride: true`. To restrict it, also set `plugins.entries.memory-core.subagent.allowedModels`. Trust or allowlist failures stay visible instead of falling back silently; the retry only covers model-unavailable errors.
235
+ </Warning>
236
+
237
+ <Note>
238
+ Phase policy, thresholds, and storage behavior are internal implementation details (not user-facing config). See [Memory configuration reference](/reference/memory-config#dreaming) for the full key list.
239
+ </Note>
240
+
241
+ ## Dreams UI
242
+
243
+ When enabled, the Gateway **Dreams** tab shows:
244
+
245
+ - current dreaming enabled state
246
+ - phase-level status and managed-sweep presence
247
+ - short-term, grounded, signal, and promoted-today counts
248
+ - next scheduled run timing
249
+ - a distinct grounded Scene lane for staged historical replay entries
250
+ - an expandable Dream Diary reader backed by `doctor.memory.dreamDiary`
251
+
252
+ ## Dreaming never runs: status shows blocked
253
+
254
+ If `nodmix memory status` reports `Dreaming status: blocked`, the managed cron exists but the default agent heartbeat is not firing. Check that heartbeat is enabled for the default agent and that its target is not `none`, then run `nodmix memory status --deep` again after the next heartbeat interval.
255
+
256
+ ## Related
257
+
258
+ - [Memory](/concepts/memory)
259
+ - [Memory CLI](/cli/memory)
260
+ - [Memory configuration reference](/reference/memory-config)
261
+ - [Memory search](/concepts/memory-search)
@@ -0,0 +1,108 @@
1
+ ---
2
+ summary: "What experimental flags mean in Nodmix and which ones are currently documented"
3
+ title: "Experimental features"
4
+ read_when:
5
+ - You see an `.experimental` config key and want to know whether it is stable
6
+ - You want to try preview runtime features without confusing them with normal defaults
7
+ - You want one place to find the currently documented experimental flags
8
+ ---
9
+
10
+ Experimental features in Nodmix are **opt-in preview surfaces**. They are
11
+ behind explicit flags because they still need real-world mileage before they
12
+ deserve a stable default or a long-lived public contract.
13
+
14
+ Treat them differently from normal config:
15
+
16
+ - Keep them **off by default** unless the related doc tells you to try one.
17
+ - Expect **shape and behavior to change** faster than stable config.
18
+ - Prefer the stable path first when one already exists.
19
+ - If you are rolling Nodmix out broadly, test experimental flags in a smaller
20
+ environment before baking them into a shared baseline.
21
+
22
+ ## Currently documented flags
23
+
24
+ | Surface | Key | Use it when | More |
25
+ | ------------------------ | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
26
+ | Local model runtime | `agents.defaults.experimental.localModelLean`, `agents.list[].experimental.localModelLean` | A smaller or stricter local backend chokes on Nodmix's full default tool surface | [Local Models](/gateway/local-models) |
27
+ | Memory search | `agents.defaults.memorySearch.experimental.sessionMemory` | You want `memory_search` to index prior session transcripts and accept the extra storage/indexing cost | [Memory configuration reference](/reference/memory-config#session-memory-search-experimental) |
28
+ | Structured planning tool | `tools.experimental.planTool` | You want the structured `update_plan` tool exposed for multi-step work tracking in compatible runtimes and UIs | [Gateway configuration reference](/gateway/config-tools#toolsexperimental) |
29
+
30
+ ## Local model lean mode
31
+
32
+ `agents.defaults.experimental.localModelLean: true` is a pressure-release valve for weaker local-model setups. When it is on, Nodmix drops three default tools — `browser`, `cron`, and `message` — from the agent's tool surface for every turn. Nothing else changes. Use `agents.list[].experimental.localModelLean` to enable or disable the same behavior for one configured agent.
33
+
34
+ ### Why these three tools
35
+
36
+ These three tools have the largest descriptions and the most parameter shapes in the default Nodmix runtime. On a small-context or stricter OpenAI-compatible backend that is the difference between:
37
+
38
+ - Tool schemas fitting cleanly in the prompt vs. crowding out conversation history.
39
+ - The model picking the right tool vs. emitting malformed tool calls because there are too many similar-looking schemas.
40
+ - The Chat Completions adapter staying inside the server's structured-output limits vs. tripping a 400 on tool-call payload size.
41
+
42
+ Removing them does not silently rewire Nodmix — it just makes the tool list shorter. The model still has `read`, `write`, `edit`, `exec`, `apply_patch`, web search/fetch (when configured), memory, and session/agent tools available.
43
+
44
+ ### When to turn it on
45
+
46
+ Enable lean mode when you have already proved the model can talk to the Gateway but full agent turns misbehave. The typical signal chain is:
47
+
48
+ 1. `nodmix infer model run --gateway --model <ref> --prompt "Reply with exactly: pong"` succeeds.
49
+ 2. A normal agent turn fails with malformed tool calls, oversized prompts, or the model ignoring its tools.
50
+ 3. Toggling `localModelLean: true` clears the failure.
51
+
52
+ ### When to leave it off
53
+
54
+ If your backend handles the full default runtime cleanly, leave this off. Lean mode is a workaround, not a default. It exists because some local stacks need a smaller tool surface to behave; hosted models and well-resourced local rigs do not.
55
+
56
+ Lean mode also does not replace `tools.profile`, `tools.allow`/`tools.deny`, or the model `compat.supportsTools: false` escape hatch. If you need a permanent narrower tool surface for a specific agent, prefer those stable knobs over the experimental flag.
57
+
58
+ ### Enable
59
+
60
+ ```json5
61
+ {
62
+ agents: {
63
+ defaults: {
64
+ experimental: {
65
+ localModelLean: true,
66
+ },
67
+ },
68
+ },
69
+ }
70
+ ```
71
+
72
+ For one agent only:
73
+
74
+ ```json5
75
+ {
76
+ agents: {
77
+ list: [
78
+ {
79
+ id: "local",
80
+ model: "lmstudio/gemma-4-e4b-it",
81
+ experimental: {
82
+ localModelLean: true,
83
+ },
84
+ },
85
+ ],
86
+ },
87
+ }
88
+ ```
89
+
90
+ Restart the Gateway after changing the flag, then confirm the trimmed tool list with:
91
+
92
+ ```bash
93
+ nodmix status --deep
94
+ ```
95
+
96
+ The deep status output lists the active agent tools; `browser`, `cron`, and `message` should be absent when lean mode is on.
97
+
98
+ ## Experimental does not mean hidden
99
+
100
+ If a feature is experimental, Nodmix should say so plainly in docs and in the
101
+ config path itself. What it should **not** do is smuggle preview behavior into a
102
+ stable-looking default knob and pretend that is normal. That's how config
103
+ surfaces get messy.
104
+
105
+ ## Related
106
+
107
+ - [Features](/concepts/features)
108
+ - [Release channels](/install/development-channels)
@@ -0,0 +1,91 @@
1
+ ---
2
+ summary: "Nodmix capabilities across channels, routing, media, and UX."
3
+ read_when:
4
+ - You want a full list of what Nodmix supports
5
+ title: "Features"
6
+ ---
7
+
8
+ ## Highlights
9
+
10
+ <Columns>
11
+ <Card title="Channels" icon="message-square" href="/channels">
12
+ Discord, iMessage, Signal, Slack, Telegram, WhatsApp, WebChat, and more with a single Gateway.
13
+ </Card>
14
+ <Card title="Plugins" icon="plug" href="/tools/plugin">
15
+ Bundled plugins add Matrix, Nextcloud Talk, Nostr, Twitch, Zalo, and more without separate installs in normal current releases.
16
+ </Card>
17
+ <Card title="Routing" icon="route" href="/concepts/multi-agent">
18
+ Multi-agent routing with isolated sessions.
19
+ </Card>
20
+ <Card title="Media" icon="image" href="/nodes/images">
21
+ Images, audio, video, documents, and image/video generation.
22
+ </Card>
23
+ <Card title="Apps and UI" icon="monitor" href="/web/control-ui">
24
+ Web Control UI and macOS companion app.
25
+ </Card>
26
+ <Card title="Mobile nodes" icon="smartphone" href="/nodes">
27
+ iOS and Android nodes with pairing, voice/chat, and rich device commands.
28
+ </Card>
29
+ </Columns>
30
+
31
+ ## Full list
32
+
33
+ **Channels:**
34
+
35
+ - Built-in channels include Discord, Google Chat, iMessage, IRC, Signal, Slack, Telegram, WebChat, and WhatsApp
36
+ - Bundled plugin channels include Feishu, LINE, Matrix, Mattermost, Microsoft Teams, Nextcloud Talk, Nostr, QQ Bot, Synology Chat, Tlon, Twitch, Zalo, and Zalo Personal
37
+ - Optional separately installed channel plugins include Voice Call and third-party packages such as WeChat
38
+ - Third-party channel plugins can extend the Gateway further, such as WeChat
39
+ - Group chat support with mention-based activation
40
+ - DM safety with allowlists and pairing
41
+
42
+ **Agent:**
43
+
44
+ - Embedded agent runtime with tool streaming
45
+ - Multi-agent routing with isolated sessions per workspace or sender
46
+ - Sessions: direct chats collapse into shared `main`; groups are isolated
47
+ - Streaming and chunking for long responses
48
+
49
+ **Auth and providers:**
50
+
51
+ - 35+ model providers (Anthropic, OpenAI, Google, and more)
52
+ - Subscription auth via OAuth (e.g. OpenAI Codex)
53
+ - Custom and self-hosted provider support (vLLM, SGLang, Ollama, and any OpenAI-compatible or Anthropic-compatible endpoint)
54
+
55
+ **Media:**
56
+
57
+ - Images, audio, video, and documents in and out
58
+ - Shared image generation and video generation capability surfaces
59
+ - Voice note transcription
60
+ - Text-to-speech with multiple providers
61
+
62
+ **Apps and interfaces:**
63
+
64
+ - WebChat and browser Control UI
65
+ - macOS menu bar companion app
66
+ - iOS node with pairing, Canvas, camera, screen recording, location, and voice
67
+ - Android node with pairing, chat, voice, Canvas, camera, and device commands
68
+
69
+ **Tools and automation:**
70
+
71
+ - Browser automation, exec, sandboxing
72
+ - Web search (Brave, DuckDuckGo, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Ollama Web Search, Perplexity, SearXNG, Tavily)
73
+ - Cron jobs and heartbeat scheduling
74
+ - Skills, plugins, and workflow pipelines (Lobster)
75
+
76
+ ## Related
77
+
78
+ <CardGroup cols={2}>
79
+ <Card title="Experimental features" href="/concepts/experimental-features" icon="flask">
80
+ Opt-in features that have not yet shipped to the default surface.
81
+ </Card>
82
+ <Card title="Agent runtime" href="/concepts/agent" icon="robot">
83
+ Agent runtime model and how runs are dispatched.
84
+ </Card>
85
+ <Card title="Channels" href="/channels" icon="message-square">
86
+ Connect Telegram, WhatsApp, Discord, Slack, and more from one Gateway.
87
+ </Card>
88
+ <Card title="Plugins" href="/tools/plugin" icon="plug">
89
+ Bundled and third-party plugins that extend Nodmix.
90
+ </Card>
91
+ </CardGroup>
@@ -0,0 +1,202 @@
1
+ ---
2
+ summary: "Operator runbook for Mantis Slack desktop QA: GitHub dispatch, local CLI, warm VNC leases, hydrate modes, timing interpretation, artifacts, and failure handling."
3
+ read_when:
4
+ - Running Mantis Slack desktop QA from GitHub or locally
5
+ - Debugging slow Mantis Slack desktop runs
6
+ - Choosing source, prehydrated, or warm-lease mode
7
+ - Posting screenshot and video evidence to a PR
8
+ title: "Mantis Slack desktop runbook"
9
+ ---
10
+
11
+ Mantis Slack desktop QA is the real-UI lane for Slack-class bugs that need a
12
+ Linux desktop, VNC rescue, Slack Web, a real Nodmix gateway, screenshots,
13
+ videos, and a PR evidence comment.
14
+
15
+ Use it when unit tests or the headless Slack live lane cannot prove the bug.
16
+
17
+ ## Storage model
18
+
19
+ Mantis uses three different storage layers:
20
+
21
+ - Provider image: owned by Crabbox and stored in the cloud provider account.
22
+ It contains machine capabilities such as Chrome/Chromium, ffmpeg, scrot,
23
+ Node/corepack/pnpm, native build tools, and empty cache directories.
24
+ - Warm lease state: owned by the current operator session. It can contain a
25
+ logged-in browser profile, `/var/cache/crabbox/pnpm`, and a prepared source
26
+ checkout while the lease is alive.
27
+ - Mantis artifacts: owned by the Nodmix run. They live under
28
+ `.artifacts/qa-e2e/mantis/...`, then GitHub Actions uploads them and the
29
+ Mantis GitHub App comments inline evidence on the PR.
30
+
31
+ Never put secrets, browser cookies, Slack login state, repository checkouts,
32
+ `node_modules`, or `dist/` into a prebaked provider image.
33
+
34
+ ## GitHub dispatch
35
+
36
+ Run the workflow from `main`:
37
+
38
+ ```bash
39
+ gh workflow run mantis-slack-desktop-smoke.yml \
40
+ --ref main \
41
+ -f candidate_ref=<trusted-ref-or-sha> \
42
+ -f pr_number=<pr-number> \
43
+ -f scenario_id=slack-canary \
44
+ -f crabbox_provider=aws \
45
+ -f keep_vm=false \
46
+ -f hydrate_mode=source
47
+ ```
48
+
49
+ Allowed `candidate_ref` values are intentionally narrow because the workflow
50
+ uses live credentials: current `main` ancestry, release tags, or an open PR head
51
+ from `nodmix/nodmix`.
52
+
53
+ The workflow writes:
54
+
55
+ - uploaded artifact: `mantis-slack-desktop-smoke-<run-id>-<attempt>`;
56
+ - inline PR comment from the Mantis GitHub App;
57
+ - `slack-desktop-smoke.png`;
58
+ - `slack-desktop-smoke.mp4`;
59
+ - `slack-desktop-smoke-preview.gif`;
60
+ - `slack-desktop-smoke-change.mp4`;
61
+ - `mantis-slack-desktop-smoke-summary.json`;
62
+ - `mantis-slack-desktop-smoke-report.md`;
63
+ - remote logs such as `slack-desktop-command.log`, `nodmix-gateway.log`,
64
+ `chrome.log`, and `ffmpeg.log`.
65
+
66
+ The PR comment is updated in place by the hidden
67
+ `<!-- mantis-slack-desktop-smoke -->` marker.
68
+
69
+ ## Local CLI
70
+
71
+ Cold source proof:
72
+
73
+ ```bash
74
+ pnpm nodmix qa mantis slack-desktop-smoke \
75
+ --provider aws \
76
+ --class standard \
77
+ --gateway-setup \
78
+ --credential-source convex \
79
+ --credential-role maintainer \
80
+ --provider-mode live-frontier \
81
+ --model openai/gpt-5.4 \
82
+ --alt-model openai/gpt-5.4 \
83
+ --scenario slack-canary \
84
+ --hydrate-mode source
85
+ ```
86
+
87
+ Keep the VM for VNC rescue:
88
+
89
+ ```bash
90
+ pnpm nodmix qa mantis slack-desktop-smoke \
91
+ --provider aws \
92
+ --class standard \
93
+ --gateway-setup \
94
+ --scenario slack-canary \
95
+ --keep-lease
96
+ ```
97
+
98
+ Open VNC:
99
+
100
+ ```bash
101
+ crabbox vnc --provider aws --id <cbx_id> --open
102
+ ```
103
+
104
+ Reuse a warm lease:
105
+
106
+ ```bash
107
+ pnpm nodmix qa mantis slack-desktop-smoke \
108
+ --provider aws \
109
+ --lease-id <cbx_id-or-slug> \
110
+ --gateway-setup \
111
+ --scenario slack-canary \
112
+ --hydrate-mode source
113
+ ```
114
+
115
+ Use `--hydrate-mode prehydrated` only when the reused remote workspace already
116
+ has `node_modules` and a built `dist/`. Mantis fails closed if those are
117
+ missing.
118
+
119
+ ## Hydrate modes
120
+
121
+ | Mode | Use when | Remote behavior | Tradeoff |
122
+ | ------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------- |
123
+ | `source` | Normal PR proof, cold machines, CI | Runs `pnpm install --frozen-lockfile --prefer-offline` and `pnpm build` inside the VM | Slowest, strongest source-checkout proof |
124
+ | `prehydrated` | You intentionally prepared a reused lease | Requires existing `node_modules` and `dist/`; skips install/build | Fast, but only valid for operator-controlled warm leases |
125
+
126
+ GitHub Actions always prepares the candidate checkout before the VM run. Its
127
+ pnpm store is cached by OS, Node version, and lockfile. The VM source run also
128
+ uses `/var/cache/crabbox/pnpm` when present.
129
+
130
+ ## Timing interpretation
131
+
132
+ `mantis-slack-desktop-smoke-report.md` includes phase timings:
133
+
134
+ - `crabbox.warmup`: cloud provider boot, desktop/browser readiness, and SSH.
135
+ - `crabbox.inspect`: lease metadata lookup.
136
+ - `credentials.prepare`: Convex credential lease acquisition.
137
+ - `crabbox.remote_run`: sync, browser launch, Nodmix install/build or
138
+ hydrate validation, gateway startup, screenshot, and video capture.
139
+ - `artifacts.copy`: rsync back from the VM.
140
+
141
+ `crabbox.remote_run` can be marked `accepted` when Crabbox returns a non-zero
142
+ remote status after Mantis has copied metadata proving that the Nodmix gateway
143
+ is alive and the setup completed. Treat `accepted` as pass-with-explanation,
144
+ not a failed scenario.
145
+
146
+ If the run is slow:
147
+
148
+ - warmup dominates: prebake or promote a better Crabbox provider image;
149
+ - remote_run dominates in `source`: use a warm lease, improve pnpm store reuse,
150
+ or move machine prerequisites into the provider image;
151
+ - remote_run dominates in `prehydrated`: the remote workspace was not actually
152
+ ready, or the gateway/browser/Slack setup is slow;
153
+ - artifact copy dominates: inspect video size and artifact directory contents.
154
+
155
+ ## Evidence checklist
156
+
157
+ A good PR comment should show:
158
+
159
+ - scenario id and candidate SHA;
160
+ - GitHub Actions run URL;
161
+ - artifact URL;
162
+ - inline screenshot;
163
+ - inline animated preview when available;
164
+ - full MP4 and trimmed MP4 links;
165
+ - pass/fail status;
166
+ - timing summary in the attached report.
167
+
168
+ Do not commit screenshots or videos into the repository. Keep them in GitHub
169
+ Actions artifacts or the PR comment.
170
+
171
+ ## Failure handling
172
+
173
+ If the workflow fails before the VM run, inspect the Actions job first. Typical
174
+ causes are untrusted `candidate_ref`, missing environment secrets, or candidate
175
+ install/build failure.
176
+
177
+ If the VM run fails but screenshots were copied back, inspect:
178
+
179
+ ```bash
180
+ cat mantis-slack-desktop-smoke-report.md
181
+ cat mantis-slack-desktop-smoke-summary.json
182
+ cat slack-desktop-command.log
183
+ cat nodmix-gateway.log
184
+ cat chrome.log
185
+ cat ffmpeg.log
186
+ ```
187
+
188
+ If the run kept the lease, open VNC with the report's `crabbox vnc ...` command.
189
+ Stop the lease when done:
190
+
191
+ ```bash
192
+ crabbox stop --provider aws <cbx_id-or-slug>
193
+ ```
194
+
195
+ If Slack login expired, repair it in VNC on a kept lease and rerun with
196
+ `--lease-id`. Do not bake that browser profile into a provider image.
197
+
198
+ ## Related
199
+
200
+ - [QA overview](/concepts/qa-e2e-automation)
201
+ - [Slack channel](/channels/slack)
202
+ - [Testing](/help/testing)