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,276 @@
1
+ ---
2
+ summary: "Configure migrated native Codex plugins for Codex-mode Nodmix agents"
3
+ title: "Native Codex plugins"
4
+ read_when:
5
+ - You want Codex-mode Nodmix agents to use native Codex plugins
6
+ - You are migrating source-installed openai-curated Codex plugins
7
+ - You are troubleshooting codexPlugins, app inventory, destructive actions, or plugin app diagnostics
8
+ ---
9
+
10
+ Native Codex plugin support lets a Codex-mode Nodmix agent use Codex
11
+ app-server's own app and plugin capabilities inside the same Codex thread that
12
+ handles the Nodmix turn.
13
+
14
+ Nodmix does not translate Codex plugins into synthetic `codex_plugin_*`
15
+ Nodmix dynamic tools. Plugin calls stay in the native Codex transcript, and
16
+ Codex app-server owns the app-backed MCP execution.
17
+
18
+ Use this page after the base [Codex harness](/plugins/codex-harness) is working.
19
+
20
+ ## Requirements
21
+
22
+ - The selected Nodmix agent runtime must be the native Codex harness.
23
+ - `plugins.entries.codex.enabled` must be true.
24
+ - `plugins.entries.codex.config.codexPlugins.enabled` must be true.
25
+ - V1 supports only `openai-curated` plugins that migration observed as
26
+ source-installed in the source Codex home.
27
+ - The target Codex app-server must be able to see the expected marketplace,
28
+ plugin, and app inventory.
29
+
30
+ `codexPlugins` has no effect on PI runs, normal OpenAI provider runs, ACP
31
+ conversation bindings, or other harnesses because those paths do not create
32
+ Codex app-server threads with native `apps` config.
33
+
34
+ ## Quickstart
35
+
36
+ Preview migration from the source Codex home:
37
+
38
+ ```bash
39
+ nodmix migrate codex --dry-run
40
+ ```
41
+
42
+ Use strict source app verification when you want migration to check source app
43
+ accessibility before planning native plugin activation:
44
+
45
+ ```bash
46
+ nodmix migrate codex --dry-run --verify-plugin-apps
47
+ ```
48
+
49
+ Apply the migration when the plan looks right:
50
+
51
+ ```bash
52
+ nodmix migrate apply codex --yes
53
+ ```
54
+
55
+ Migration writes explicit `codexPlugins` entries for eligible plugins and calls
56
+ Codex app-server `plugin/install` for selected plugins. A typical migrated
57
+ config looks like this:
58
+
59
+ ```json5
60
+ {
61
+ plugins: {
62
+ entries: {
63
+ codex: {
64
+ enabled: true,
65
+ config: {
66
+ codexPlugins: {
67
+ enabled: true,
68
+ allow_destructive_actions: true,
69
+ plugins: {
70
+ "google-calendar": {
71
+ enabled: true,
72
+ marketplaceName: "openai-curated",
73
+ pluginName: "google-calendar",
74
+ },
75
+ },
76
+ },
77
+ },
78
+ },
79
+ },
80
+ },
81
+ }
82
+ ```
83
+
84
+ After changing `codexPlugins`, new Codex conversations pick up the updated app
85
+ set automatically. Use `/new` or `/reset` to refresh the current conversation.
86
+ A gateway restart is not required for plugin enable or disable changes.
87
+
88
+ ## Manage plugins from chat
89
+
90
+ Use `/codex plugins` when you want to inspect or change configured native Codex
91
+ plugins from the same chat where you operate the Codex harness:
92
+
93
+ ```text
94
+ /codex plugins
95
+ /codex plugins list
96
+ /codex plugins disable google-calendar
97
+ /codex plugins enable google-calendar
98
+ ```
99
+
100
+ `/codex plugins` is an alias for `/codex plugins list`. The list output shows
101
+ the configured plugin keys, on/off state, Codex plugin name, and marketplace
102
+ from `plugins.entries.codex.config.codexPlugins.plugins`.
103
+
104
+ `enable` and `disable` write only to Nodmix config at
105
+ `~/.nodmix/nodmix.json`; they do not edit `~/.codex/config.toml` or install
106
+ new Codex plugins. Only the owner or a gateway client with the
107
+ `operator.admin` scope can change plugin state.
108
+
109
+ Enabling a configured plugin also turns on the global
110
+ `codexPlugins.enabled` switch. If the plugin was written disabled because
111
+ migration returned `auth_required`, reauthorize the app in Codex before enabling
112
+ it in Nodmix.
113
+
114
+ ## How native plugin setup works
115
+
116
+ The integration has three separate states:
117
+
118
+ - Installed: Codex has the local plugin bundle in the target app-server runtime.
119
+ - Enabled: Nodmix config is willing to make the plugin available to Codex
120
+ harness turns.
121
+ - Accessible: Codex app-server confirms the plugin's app entries are available
122
+ for the active account and can be mapped to the migrated plugin identity.
123
+
124
+ Migration is the durable install/eligibility step. During planning, Nodmix
125
+ reads source Codex `plugin/read` details and checks that the source Codex
126
+ app-server account response is a ChatGPT subscription account. Non-ChatGPT or
127
+ missing account responses skip app-backed plugins with
128
+ `codex_subscription_required`. By default, migration does not call source
129
+ `app/list`; app-backed source plugins that pass the account gate are planned
130
+ without source app accessibility verification, and account lookup transport
131
+ failures skip with `codex_account_unavailable`. With `--verify-plugin-apps`,
132
+ migration takes a fresh source `app/list` snapshot and requires every owned app
133
+ to be present, enabled, and accessible before planning native activation. In
134
+ that mode, account lookup transport failures fall through to the source
135
+ app-inventory gate. Runtime app inventory is the target-session accessibility
136
+ check after migration. Codex harness session setup then computes a restrictive
137
+ thread app config for the enabled and accessible plugin apps.
138
+
139
+ Thread app config is computed when Nodmix establishes a Codex harness session
140
+ or replaces a stale Codex thread binding. It is not recomputed on every turn, so
141
+ `/codex plugins enable` and `/codex plugins disable` affect new Codex
142
+ conversations. Use `/new` or `/reset` when the current conversation should pick
143
+ up the updated app set.
144
+
145
+ ## V1 support boundary
146
+
147
+ V1 is intentionally narrow:
148
+
149
+ - Only `openai-curated` plugins that were already installed in the source Codex
150
+ app-server inventory are migration-eligible.
151
+ - App-backed source plugins must pass the migration-time subscription gate.
152
+ `--verify-plugin-apps` adds the source app-inventory gate. Subscription-gated
153
+ accounts plus, in verification mode, inaccessible, disabled, missing source
154
+ apps or source app-inventory refresh failures are reported as skipped manual
155
+ items instead of enabled config entries. Unreadable plugin details are skipped
156
+ before the source app-inventory gate.
157
+ - Migration writes explicit plugin identities with `marketplaceName` and
158
+ `pluginName`; it does not write local `marketplacePath` cache paths.
159
+ - `codexPlugins.enabled` is the global enablement switch.
160
+ - There is no `plugins["*"]` wildcard and no config key that grants arbitrary
161
+ install authority.
162
+ - Unsupported marketplaces, cached plugin bundles, hooks, and Codex config files
163
+ are preserved in the migration report for manual review.
164
+
165
+ ## App inventory and ownership
166
+
167
+ Nodmix reads Codex app inventory through app-server `app/list`, caches it for
168
+ one hour, and refreshes stale or missing entries asynchronously. The cache is
169
+ in memory only; restarting the CLI or gateway drops it, and Nodmix rebuilds it
170
+ from the next `app/list` read.
171
+
172
+ Migration and runtime use separate cache keys:
173
+
174
+ - Source migration verification uses the source Codex home and source app-server
175
+ start options. This runs only when `--verify-plugin-apps` is set, and it
176
+ forces a fresh source `app/list` traversal for that planning run.
177
+ - Target runtime setup uses the target agent's Codex app-server identity when it
178
+ builds the Codex thread app config. Plugin activation invalidates that target
179
+ cache key and then force-refreshes it after `plugin/install`.
180
+
181
+ A plugin app is exposed only when Nodmix can map it back to the migrated
182
+ plugin through stable ownership:
183
+
184
+ - exact app id from plugin detail
185
+ - known MCP server name
186
+ - unique stable metadata
187
+
188
+ Display-name-only or ambiguous ownership is excluded until the next inventory
189
+ refresh proves ownership.
190
+
191
+ ## Thread app config
192
+
193
+ Nodmix injects a restrictive `config.apps` patch for the Codex thread:
194
+ `_default` is disabled and only apps owned by enabled migrated plugins are
195
+ enabled.
196
+
197
+ Nodmix sets app-level `destructive_enabled` from the effective global or
198
+ per-plugin `allow_destructive_actions` policy and lets Codex enforce
199
+ destructive tool metadata from its native app tool annotations. The `_default`
200
+ app config is disabled with `open_world_enabled: false`. Enabled plugin apps
201
+ are emitted with `open_world_enabled: true`; Nodmix does not expose a separate
202
+ plugin open-world policy knob and does not maintain per-plugin destructive
203
+ tool-name deny lists.
204
+
205
+ Tool approval mode is automatic by default for plugin apps so non-destructive
206
+ read tools can run without a same-thread approval UI. Destructive tools remain
207
+ controlled by each app's `destructive_enabled` policy.
208
+
209
+ ## Destructive action policy
210
+
211
+ Destructive plugin elicitations are allowed by default for migrated Codex
212
+ plugins, while unsafe schemas and ambiguous ownership still fail closed:
213
+
214
+ - Global `allow_destructive_actions` defaults to `true`.
215
+ - Per-plugin `allow_destructive_actions` overrides the global policy for that
216
+ plugin.
217
+ - When policy is `false`, Nodmix returns a deterministic decline.
218
+ - When policy is `true`, Nodmix auto-accepts only safe schemas it can map to
219
+ an approval response, such as a boolean approve field.
220
+ - Missing plugin identity, ambiguous ownership, a missing turn id, a wrong turn
221
+ id, or an unsafe elicitation schema declines instead of prompting.
222
+
223
+ ## Troubleshooting
224
+
225
+ **`auth_required`:** migration installed the plugin, but one of its apps still
226
+ needs authentication. The explicit plugin entry is written disabled until you
227
+ reauthorize and enable it.
228
+
229
+ **`app_inaccessible`, `app_disabled`, or `app_missing`:**
230
+ migration did not install the plugin because the source Codex app inventory did
231
+ not show all owned apps as present, enabled, and accessible while
232
+ `--verify-plugin-apps` was set. Reauthorize or enable the app in Codex, then
233
+ rerun migration with `--verify-plugin-apps`.
234
+
235
+ **`app_inventory_unavailable`:** migration did not install the plugin because
236
+ strict source app verification was requested and source Codex app inventory
237
+ refresh failed. Fix source Codex app-server access or retry without
238
+ `--verify-plugin-apps` if you accept the faster account-gated plan.
239
+
240
+ **`codex_subscription_required`:** migration did not install the app-backed
241
+ plugin because the source Codex app-server account was not logged in with a
242
+ ChatGPT subscription account. Log in to the Codex app with subscription auth,
243
+ then rerun migration.
244
+
245
+ **`codex_account_unavailable`:** migration did not install the app-backed plugin
246
+ because the source Codex app-server account could not be read. Fix source Codex
247
+ app-server auth or rerun with `--verify-plugin-apps` if you want source app
248
+ inventory to decide eligibility when account lookup fails.
249
+
250
+ **`marketplace_missing` or `plugin_missing`:** the target Codex app-server
251
+ cannot see the expected `openai-curated` marketplace or plugin. Rerun migration
252
+ against the target runtime or inspect Codex app-server plugin status.
253
+
254
+ **`app_inventory_missing` or `app_inventory_stale`:** app readiness came from an
255
+ empty or stale cache. Nodmix schedules an async refresh and excludes plugin
256
+ apps until ownership and readiness are known.
257
+
258
+ **`app_ownership_ambiguous`:** app inventory only matched by display name, so
259
+ the app is not exposed to the Codex thread.
260
+
261
+ **Config changed but the agent cannot see the plugin:** use `/codex plugins
262
+ list` to confirm the configured state, then use `/new` or `/reset`. Existing
263
+ Codex thread bindings keep the app config they started with until Nodmix
264
+ establishes a new harness session or replaces a stale binding.
265
+
266
+ **Destructive action is declined:** check the global and per-plugin
267
+ `allow_destructive_actions` values. Even when policy is true, unsafe elicitation
268
+ schemas and ambiguous plugin identity still fail closed.
269
+
270
+ ## Related
271
+
272
+ - [Codex harness](/plugins/codex-harness)
273
+ - [Codex harness reference](/plugins/codex-harness-reference)
274
+ - [Codex harness runtime](/plugins/codex-harness-runtime)
275
+ - [Configuration reference](/gateway/configuration-reference#codex-harness-plugin-config)
276
+ - [Migrate CLI](/cli/migrate)
@@ -0,0 +1,77 @@
1
+ ---
2
+ summary: "Find and publish community-maintained Nodmix plugins"
3
+ read_when:
4
+ - You want to find third-party Nodmix plugins
5
+ - You want to publish or list your own plugin on ClawHub
6
+ title: "Community plugins"
7
+ doc-schema-version: 1
8
+ ---
9
+
10
+ Community plugins are third-party packages that extend Nodmix with channels,
11
+ tools, providers, hooks, or other capabilities. Use [ClawHub](/clawhub) as the
12
+ primary discovery surface for public community plugins.
13
+
14
+ ## Find plugins
15
+
16
+ Search ClawHub from the CLI:
17
+
18
+ ```bash
19
+ nodmix plugins search "calendar"
20
+ ```
21
+
22
+ Install a ClawHub plugin with an explicit source prefix:
23
+
24
+ ```bash
25
+ nodmix plugins install clawhub:<package-name>
26
+ ```
27
+
28
+ npm remains a supported direct-install path during the launch cutover:
29
+
30
+ ```bash
31
+ nodmix plugins install npm:<package-name>
32
+ ```
33
+
34
+ Use [Manage plugins](/plugins/manage-plugins) for common install, update,
35
+ inspect, and uninstall examples. Use [`nodmix plugins`](/cli/plugins) for the
36
+ full command reference and source-selection rules.
37
+
38
+ ## Publish plugins
39
+
40
+ Publish public community plugins on ClawHub when you want Nodmix users to
41
+ discover and install them. ClawHub owns the live package listing, release
42
+ history, scan status, and install hints; the docs do not maintain a static
43
+ third-party plugin catalog.
44
+
45
+ ```bash
46
+ clawhub package publish your-org/your-plugin --dry-run
47
+ clawhub package publish your-org/your-plugin
48
+ ```
49
+
50
+ Before publishing, make sure the plugin has package metadata, a plugin manifest,
51
+ setup docs, and a clear maintenance owner. ClawHub validates owner scope,
52
+ package name, version, file limits, and source metadata before it creates a
53
+ release, then keeps new releases hidden from normal install and download
54
+ surfaces until review and verification finish.
55
+
56
+ Use this checklist before you publish:
57
+
58
+ | Requirement | Why |
59
+ | -------------------- | --------------------------------------------------- |
60
+ | Published on ClawHub | Users need `nodmix plugins install` hints to work |
61
+ | Public GitHub repo | Source review, issue tracking, transparency |
62
+ | Setup and usage docs | Users need to know how to configure it |
63
+ | Active maintenance | Recent updates or responsive issue handling |
64
+
65
+ Use these pages for the full publishing contract:
66
+
67
+ - [ClawHub publishing](/clawhub/publishing) explains owners, scopes, releases,
68
+ review, package validation, and package transfer.
69
+ - [Building plugins](/plugins/building-plugins) shows the plugin package shape
70
+ and first publish workflow.
71
+ - [Plugin manifest](/plugins/manifest) defines native plugin manifest fields.
72
+
73
+ ## Related
74
+
75
+ - [Plugins](/tools/plugin) - install, configure, restart, and troubleshoot
76
+ - [Manage plugins](/plugins/manage-plugins) - command examples
77
+ - [ClawHub publishing](/clawhub/publishing) - publish and release rules
@@ -0,0 +1,164 @@
1
+ ---
2
+ summary: "Plugin compatibility contracts, deprecation metadata, and migration expectations"
3
+ title: "Plugin compatibility"
4
+ read_when:
5
+ - You maintain an Nodmix plugin
6
+ - You see a plugin compatibility warning
7
+ - You are planning a plugin SDK or manifest migration
8
+ ---
9
+
10
+ Nodmix keeps older plugin contracts wired through named compatibility
11
+ adapters before removing them. This protects existing bundled and external
12
+ plugins while the SDK, manifest, setup, config, and agent runtime contracts
13
+ evolve.
14
+
15
+ ## Compatibility registry
16
+
17
+ Plugin compatibility contracts are tracked in the core registry at
18
+ `src/plugins/compat/registry.ts`.
19
+
20
+ Each record has:
21
+
22
+ - a stable compatibility code
23
+ - status: `active`, `deprecated`, `removal-pending`, or `removed`
24
+ - owner: SDK, config, setup, channel, provider, plugin execution, agent runtime,
25
+ or core
26
+ - introduction and deprecation dates when applicable
27
+ - replacement guidance
28
+ - docs, diagnostics, and tests that cover the old and new behavior
29
+
30
+ The registry is the source for maintainer planning and future plugin inspector
31
+ checks. If a plugin-facing behavior changes, add or update the compatibility
32
+ record in the same change that adds the adapter.
33
+
34
+ Doctor repair and migration compatibility is tracked separately at
35
+ `src/commands/doctor/shared/deprecation-compat.ts`. Those records cover old
36
+ config shapes, install-ledger layouts, and repair shims that may need to stay
37
+ available after the runtime compatibility path is removed.
38
+
39
+ Release sweeps should check both registries. Do not delete a doctor migration
40
+ just because the matching runtime or config compatibility record expired; first
41
+ verify there is no supported upgrade path that still needs the repair. Also
42
+ revalidate each replacement annotation during release planning because plugin
43
+ ownership and config footprint can change as providers and channels move out of
44
+ core.
45
+
46
+ ## Plugin inspector package
47
+
48
+ The plugin inspector should live outside the core Nodmix repo as a separate
49
+ package/repository backed by the versioned compatibility and manifest
50
+ contracts.
51
+
52
+ The day-one CLI should be:
53
+
54
+ ```sh
55
+ nodmix-plugin-inspector ./my-plugin
56
+ ```
57
+
58
+ It should emit:
59
+
60
+ - manifest/schema validation
61
+ - the contract compatibility version being checked
62
+ - install/source metadata checks
63
+ - cold-path import checks
64
+ - deprecation and compatibility warnings
65
+
66
+ Use `--json` for stable machine-readable output in CI annotations. Nodmix
67
+ core should expose contracts and fixtures the inspector can consume, but should
68
+ not publish the inspector binary from the main `nodmix` package.
69
+
70
+ ### Maintainer acceptance lane
71
+
72
+ Use Crabbox-backed Blacksmith Testbox for the installable-package acceptance
73
+ lane when validating the external inspector against Nodmix plugin packages.
74
+ Run it from a clean Nodmix checkout after the package is built:
75
+
76
+ ```sh
77
+ pnpm crabbox:run -- --provider blacksmith-testbox --timing-json --shell -- "pnpm install && pnpm build && npm exec --yes @nodmix/plugin-inspector@0.1.0 -- ./extensions/telegram --json"
78
+ pnpm crabbox:run -- --provider blacksmith-testbox --timing-json --shell -- "npm exec --yes @nodmix/plugin-inspector@0.1.0 -- ./extensions/discord --json"
79
+ pnpm crabbox:run -- --provider blacksmith-testbox --timing-json --shell -- "npm exec --yes @nodmix/plugin-inspector@0.1.0 -- <clawhub-plugin-dir> --json"
80
+ ```
81
+
82
+ Keep this lane opt-in for maintainers because it installs an external npm
83
+ package and may inspect plugin packages cloned outside the repo. The local repo
84
+ guards cover the SDK export map, compatibility registry metadata, deprecated
85
+ SDK-import burn-down, and bundled extension import boundaries; Testbox inspector
86
+ proof covers the package as external plugin authors consume it.
87
+
88
+ ## Deprecation policy
89
+
90
+ Nodmix should not remove a documented plugin contract in the same release
91
+ that introduces its replacement.
92
+
93
+ The migration sequence is:
94
+
95
+ 1. Add the new contract.
96
+ 2. Keep the old behavior wired through a named compatibility adapter.
97
+ 3. Emit diagnostics or warnings when plugin authors can act.
98
+ 4. Document the replacement and timeline.
99
+ 5. Test both old and new paths.
100
+ 6. Wait through the announced migration window.
101
+ 7. Remove only with explicit breaking-release approval.
102
+
103
+ Deprecated records must include a warning start date, replacement, docs link,
104
+ and final removal date no more than three months after the warning starts. Do
105
+ not add a deprecated compatibility path with an open-ended removal window unless
106
+ maintainers explicitly decide it is permanent compatibility and mark it `active`
107
+ instead.
108
+
109
+ ## Current compatibility areas
110
+
111
+ Current compatibility records include:
112
+
113
+ - legacy broad SDK imports such as `nodmix/plugin-sdk/compat`
114
+ - legacy hook-only plugin shapes and `before_agent_start`
115
+ - legacy `api.on("deactivate", ...)` cleanup hook names while plugins migrate to
116
+ `gateway_stop`
117
+ - legacy `activate(api)` plugin entrypoints while plugins migrate to
118
+ `register(api)`
119
+ - legacy SDK aliases such as `nodmix/extension-api`,
120
+ `nodmix/plugin-sdk/channel-runtime`, `nodmix/plugin-sdk/command-auth`
121
+ status builders, `nodmix/plugin-sdk/test-utils` (replaced by focused
122
+ `nodmix/plugin-sdk/*` test subpaths), and the `ClawdbotConfig` /
123
+ `NodmixSchemaType` type aliases
124
+ - bundled plugin allowlist and enablement behavior
125
+ - legacy provider/channel env-var manifest metadata
126
+ - legacy provider plugin hooks and type aliases while providers move to
127
+ explicit catalog, auth, thinking, replay, and transport hooks
128
+ - legacy runtime aliases such as `api.runtime.taskFlow`,
129
+ `api.runtime.subagent.getSession`, `api.runtime.stt`, and deprecated
130
+ `api.runtime.config.loadConfig()` / `api.runtime.config.writeConfigFile(...)`
131
+ - legacy memory-plugin split registration while memory plugins move to
132
+ `registerMemoryCapability`
133
+ - legacy channel SDK helpers for native message schemas, mention gating,
134
+ inbound envelope formatting, and approval capability nesting
135
+ - legacy channel route key and comparable-target helper aliases while plugins
136
+ move to `nodmix/plugin-sdk/channel-route`
137
+ - activation hints that are being replaced by manifest contribution ownership
138
+ - `setup-api` runtime fallback while setup descriptors move to cold
139
+ `setup.requiresRuntime: false` metadata
140
+ - provider `discovery` hooks while provider catalog hooks move to
141
+ `catalog.run(...)`
142
+ - channel `showConfigured` / `showInSetup` metadata while channel packages move
143
+ to `nodmix.channel.exposure`
144
+ - legacy runtime-policy config keys while doctor migrates operators to
145
+ `agentRuntime`
146
+ - generated bundled channel config metadata fallback while registry-first
147
+ `channelConfigs` metadata lands
148
+ - persisted plugin registry disable and install-migration env flags while
149
+ repair flows migrate operators to `nodmix plugins registry --refresh` and
150
+ `nodmix doctor --fix`
151
+ - legacy plugin-owned web search, web fetch, and x_search config paths while
152
+ doctor migrates them to `plugins.entries.<plugin>.config`
153
+ - legacy `plugins.installs` authored config and bundled plugin load-path
154
+ aliases while install metadata moves into the state-managed plugin ledger
155
+
156
+ New plugin code should prefer the replacement listed in the registry and in the
157
+ specific migration guide. Existing plugins can keep using a compatibility path
158
+ until the docs, diagnostics, and release notes announce a removal window.
159
+
160
+ ## Release notes
161
+
162
+ Release notes should include upcoming plugin deprecations with target dates and
163
+ links to migration docs. That warning needs to happen before a compatibility
164
+ path moves to `removal-pending` or `removed`.
@@ -0,0 +1,143 @@
1
+ ---
2
+ summary: "How Nodmix installs plugin packages and resolves plugin dependencies"
3
+ read_when:
4
+ - You are debugging plugin package installs
5
+ - You are changing plugin startup, doctor, or package-manager install behavior
6
+ - You are maintaining packaged Nodmix installs or bundled plugin manifests
7
+ title: "Plugin dependency resolution"
8
+ sidebarTitle: "Dependencies"
9
+ ---
10
+
11
+ Nodmix keeps plugin dependency work at install/update time. Runtime loading
12
+ does not run package managers, repair dependency trees, or mutate the Nodmix
13
+ package directory.
14
+
15
+ ## Responsibility split
16
+
17
+ Plugin packages own their dependency graph:
18
+
19
+ - runtime dependencies live in the plugin package `dependencies` or
20
+ `optionalDependencies`
21
+ - SDK/core imports are peer or supplied Nodmix imports
22
+ - local development plugins bring their own already-installed dependencies
23
+ - npm and git plugins are installed into Nodmix-owned package roots
24
+
25
+ Nodmix owns only the plugin lifecycle:
26
+
27
+ - discover the plugin source
28
+ - install or update the package when explicitly requested
29
+ - record the install metadata
30
+ - load the plugin entrypoint
31
+ - fail with an actionable error when dependencies are missing
32
+
33
+ ## Install roots
34
+
35
+ Nodmix uses stable per-source roots:
36
+
37
+ - npm packages install under `~/.nodmix/npm`
38
+ - git packages clone under `~/.nodmix/git`
39
+ - local/path/archive installs are copied or referenced without dependency repair
40
+
41
+ npm installs run in the npm root with:
42
+
43
+ ```bash
44
+ cd ~/.nodmix/npm
45
+ npm install --omit=dev --omit=peer --legacy-peer-deps --ignore-scripts --no-audit --no-fund
46
+ ```
47
+
48
+ `nodmix plugins install npm-pack:<path.tgz>` uses that same managed npm root
49
+ for a local npm-pack tarball. Nodmix reads the tarball's npm metadata, adds it
50
+ to the managed root as a copied `file:` dependency, runs the normal npm install,
51
+ and then verifies the installed lockfile metadata before trusting the plugin.
52
+ This is intended for package-acceptance and release-candidate proof where a
53
+ local pack artifact should behave like the registry artifact it simulates.
54
+
55
+ npm may hoist transitive dependencies to `~/.nodmix/npm/node_modules` beside
56
+ the plugin package. Nodmix scans the managed npm root before trusting the
57
+ install and uses npm to remove npm-managed packages during uninstall, so hoisted
58
+ runtime dependencies stay inside the managed cleanup boundary.
59
+
60
+ Plugins that import `nodmix/plugin-sdk/*` declare `nodmix` as a peer
61
+ dependency. Nodmix does not let npm install a separate registry copy of the
62
+ host package into the managed root, because stale host packages can affect npm
63
+ peer resolution during later plugin installs. Managed npm installs skip npm peer
64
+ resolution/materialization for the shared root and Nodmix reasserts
65
+ plugin-local `node_modules/nodmix` links for installed packages that declare
66
+ the host peer after install, update, or uninstall.
67
+
68
+ git installs clone or refresh the repository, then run:
69
+
70
+ ```bash
71
+ npm install --omit=dev --ignore-scripts --no-audit --no-fund
72
+ ```
73
+
74
+ The installed plugin then loads from that package directory, so package-local
75
+ and parent `node_modules` resolution works the same way it does for a normal
76
+ Node package.
77
+
78
+ ## Local plugins
79
+
80
+ Local plugins are treated as developer-controlled directories. Nodmix does not
81
+ run `npm install`, `pnpm install`, or dependency repair for them. If a local
82
+ plugin has dependencies, install them in that plugin before loading it.
83
+
84
+ Third-party TypeScript local plugins can use the emergency Jiti path. Packaged
85
+ JavaScript plugins and bundled internal plugins load through native
86
+ import/require instead of Jiti.
87
+
88
+ ## Startup and reload
89
+
90
+ Gateway startup and config reload never install plugin dependencies. They read
91
+ the plugin install records, compute the entrypoint, and load it.
92
+
93
+ If a dependency is missing at runtime, the plugin fails to load and the error
94
+ should point the operator to an explicit fix:
95
+
96
+ ```bash
97
+ nodmix plugins update <id>
98
+ nodmix plugins install <source>
99
+ nodmix doctor --fix
100
+ ```
101
+
102
+ `doctor --fix` can clean legacy Nodmix-generated dependency state and recover
103
+ downloadable plugins that are missing from the local install records when config
104
+ references them. Doctor does not repair dependencies for an already-installed
105
+ local plugin.
106
+
107
+ ## Bundled plugins
108
+
109
+ Lightweight and core-critical bundled plugins are shipped as part of Nodmix.
110
+ They should either have no heavy runtime dependency tree or be moved out to a
111
+ downloadable package on ClawHub/npm.
112
+
113
+ For the current generated list of plugins that ship in the core package, install
114
+ externally, or stay source-only, see [Plugin inventory](/plugins/plugin-inventory).
115
+
116
+ Bundled plugin manifests must not request dependency staging. Large or optional
117
+ plugin functionality should be packaged as a normal plugin and installed through
118
+ the same npm/git/ClawHub path as third-party plugins.
119
+
120
+ In source checkouts, Nodmix treats the repository as a pnpm monorepo. After
121
+ `pnpm install`, bundled plugins load from `extensions/<id>` so package-local
122
+ workspace dependencies are available and edits are picked up directly. Source
123
+ checkout development is pnpm-only; plain `npm install` at the repository root is
124
+ not a supported way to prepare bundled plugin dependencies.
125
+
126
+ | Install shape | Bundled plugin location | Dependency owner |
127
+ | -------------------------------- | ------------------------------------- | -------------------------------------------------------------------- |
128
+ | `npm install -g nodmix` | Built runtime tree inside the package | Nodmix package and explicit plugin install/update/doctor flows |
129
+ | Git checkout plus `pnpm install` | `extensions/<id>` workspace packages | The pnpm workspace, including each plugin package's own dependencies |
130
+ | `nodmix plugins install ...` | Managed npm/git/ClawHub plugin root | The plugin install/update flow |
131
+
132
+ ## Legacy cleanup
133
+
134
+ Older Nodmix versions generated bundled-plugin dependency roots at startup or
135
+ during doctor repair. Current doctor cleanup removes those stale directories and
136
+ symlinks when `--fix` is used, including old `plugin-runtime-deps` roots, global
137
+ Node-prefix package symlinks that point at pruned `plugin-runtime-deps` targets,
138
+ `.nodmix-runtime-deps*` manifests, generated plugin `node_modules`, install
139
+ stage directories, and package-local pnpm stores. Packaged postinstall also
140
+ removes those global symlinks before pruning the legacy target roots so upgrades
141
+ do not leave dangling ESM package imports.
142
+
143
+ These paths are legacy debris only. New installs should not create them.