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,330 @@
1
+ ---
2
+ summary: "Create your first Nodmix plugin in minutes"
3
+ title: "Building plugins"
4
+ sidebarTitle: "Getting Started"
5
+ doc-schema-version: 1
6
+ read_when:
7
+ - You want to create a new Nodmix plugin
8
+ - You need a quick-start for plugin development
9
+ - You are choosing between channel, provider, CLI backend, tool, or hook docs
10
+ ---
11
+
12
+ Plugins extend Nodmix without changing core. A plugin can add a messaging
13
+ channel, model provider, local CLI backend, agent tool, hook, media provider,
14
+ or another plugin-owned capability.
15
+
16
+ You do not need to add an external plugin to the Nodmix repository. Publish
17
+ the package to [ClawHub](/clawhub) and users install it with:
18
+
19
+ ```bash
20
+ nodmix plugins install clawhub:<package-name>
21
+ ```
22
+
23
+ Bare package specs still install from npm during the launch cutover. Use the
24
+ `clawhub:` prefix when you want ClawHub resolution.
25
+
26
+ ## Requirements
27
+
28
+ - Use Node 22.19 or newer and a package manager such as `npm` or `pnpm`.
29
+ - Be familiar with TypeScript ESM modules.
30
+ - For in-repo bundled plugin work, clone the repository and run `pnpm install`.
31
+ Source-checkout plugin development is pnpm-only because Nodmix loads bundled
32
+ plugins from `extensions/*` workspace packages.
33
+
34
+ ## Choose the plugin shape
35
+
36
+ <CardGroup cols={2}>
37
+ <Card title="Channel plugin" icon="messages-square" href="/plugins/sdk-channel-plugins">
38
+ Connect Nodmix to a messaging platform.
39
+ </Card>
40
+ <Card title="Provider plugin" icon="cpu" href="/plugins/sdk-provider-plugins">
41
+ Add a model, media, search, fetch, speech, or realtime provider.
42
+ </Card>
43
+ <Card title="CLI backend plugin" icon="terminal" href="/plugins/cli-backend-plugins">
44
+ Run a local AI CLI through Nodmix model fallback.
45
+ </Card>
46
+ <Card title="Tool plugin" icon="wrench" href="/plugins/tool-plugins">
47
+ Register agent tools.
48
+ </Card>
49
+ </CardGroup>
50
+
51
+ ## Quickstart
52
+
53
+ Build a minimal tool plugin by registering one required agent tool. This is the
54
+ shortest useful plugin shape and shows the package, manifest, entry point, and
55
+ local proof.
56
+
57
+ <Steps>
58
+ <Step title="Create package metadata">
59
+ <CodeGroup>
60
+
61
+ ```json package.json
62
+ {
63
+ "name": "@myorg/nodmix-my-plugin",
64
+ "version": "1.0.0",
65
+ "type": "module",
66
+ "nodmix": {
67
+ "extensions": ["./index.ts"],
68
+ "compat": {
69
+ "pluginApi": ">=2026.3.24-beta.2",
70
+ "minGatewayVersion": "2026.3.24-beta.2"
71
+ },
72
+ "build": {
73
+ "nodmixVersion": "2026.3.24-beta.2",
74
+ "pluginSdkVersion": "2026.3.24-beta.2"
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ ```json nodmix.plugin.json
81
+ {
82
+ "id": "my-plugin",
83
+ "name": "My Plugin",
84
+ "description": "Adds a custom tool to Nodmix",
85
+ "contracts": {
86
+ "tools": ["my_tool"]
87
+ },
88
+ "activation": {
89
+ "onStartup": true
90
+ },
91
+ "configSchema": {
92
+ "type": "object",
93
+ "additionalProperties": false
94
+ }
95
+ }
96
+ ```
97
+
98
+ </CodeGroup>
99
+
100
+ Published external plugins should point runtime entries at built JavaScript
101
+ files. See [SDK entry points](/plugins/sdk-entrypoints) for the full entry
102
+ point contract.
103
+
104
+ Every plugin needs a manifest, even when it has no config. Runtime tools
105
+ must appear in `contracts.tools` so Nodmix can discover ownership without
106
+ eagerly loading every plugin runtime. Set `activation.onStartup`
107
+ intentionally. This example starts on Gateway startup.
108
+
109
+ For every manifest field, see [Plugin manifest](/plugins/manifest).
110
+
111
+ </Step>
112
+
113
+ <Step title="Register the tool">
114
+ ```typescript index.ts
115
+ import { Type } from "typebox";
116
+ import { definePluginEntry } from "nodmix/plugin-sdk/plugin-entry";
117
+
118
+ export default definePluginEntry({
119
+ id: "my-plugin",
120
+ name: "My Plugin",
121
+ description: "Adds a custom tool to Nodmix",
122
+ register(api) {
123
+ api.registerTool({
124
+ name: "my_tool",
125
+ description: "Echo one input value",
126
+ parameters: Type.Object({ input: Type.String() }),
127
+ async execute(_id, params) {
128
+ return {
129
+ content: [{ type: "text", text: `Got: ${params.input}` }],
130
+ };
131
+ },
132
+ });
133
+ },
134
+ });
135
+ ```
136
+
137
+ Use `definePluginEntry` for non-channel plugins. Channel plugins use
138
+ `defineChannelPluginEntry`.
139
+
140
+ </Step>
141
+
142
+ <Step title="Test the runtime">
143
+ For an installed or external plugin, inspect the loaded runtime:
144
+
145
+ ```bash
146
+ nodmix plugins inspect my-plugin --runtime --json
147
+ ```
148
+
149
+ If the plugin registers a CLI command, run that command too. For example,
150
+ a demo command should have an execution proof such as
151
+ `nodmix demo-plugin ping`.
152
+
153
+ For a bundled plugin in this repository, Nodmix discovers source-checkout
154
+ plugin packages from the `extensions/*` workspace. Run the closest targeted
155
+ test:
156
+
157
+ ```bash
158
+ pnpm test -- extensions/my-plugin/
159
+ pnpm check
160
+ ```
161
+
162
+ </Step>
163
+
164
+ <Step title="Publish">
165
+ Validate the package before publishing:
166
+
167
+ ```bash
168
+ clawhub package publish your-org/your-plugin --dry-run
169
+ clawhub package publish your-org/your-plugin
170
+ ```
171
+
172
+ The canonical ClawHub snippets live in `docs/snippets/plugin-publish/`.
173
+
174
+ </Step>
175
+
176
+ <Step title="Install">
177
+ Install the published package through ClawHub:
178
+
179
+ ```bash
180
+ nodmix plugins install clawhub:your-org/your-plugin
181
+ ```
182
+
183
+ </Step>
184
+ </Steps>
185
+
186
+ <a id="registering-agent-tools"></a>
187
+
188
+ ## Registering tools
189
+
190
+ Tools can be required or optional. Required tools are always available when the
191
+ plugin is enabled. Optional tools require user opt-in.
192
+
193
+ ```typescript
194
+ register(api) {
195
+ api.registerTool(
196
+ {
197
+ name: "workflow_tool",
198
+ description: "Run a workflow",
199
+ parameters: Type.Object({ pipeline: Type.String() }),
200
+ async execute(_id, params) {
201
+ return { content: [{ type: "text", text: params.pipeline }] };
202
+ },
203
+ },
204
+ { optional: true },
205
+ );
206
+ }
207
+ ```
208
+
209
+ Every tool registered with `api.registerTool(...)` must also be declared in the
210
+ plugin manifest:
211
+
212
+ ```json
213
+ {
214
+ "contracts": {
215
+ "tools": ["workflow_tool"]
216
+ },
217
+ "toolMetadata": {
218
+ "workflow_tool": {
219
+ "optional": true
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ Users opt in with `tools.allow`:
226
+
227
+ ```json5
228
+ {
229
+ tools: { allow: ["workflow_tool"] }, // or ["my-plugin"] for all tools from one plugin
230
+ }
231
+ ```
232
+
233
+ Use optional tools for side effects, unusual binaries, or capabilities that
234
+ should not be exposed by default. Tool names must not conflict with core tools;
235
+ conflicts are skipped and reported in plugin diagnostics. Malformed
236
+ registrations, including tool descriptors without `parameters`, are skipped and
237
+ reported the same way. Registered tools are typed functions the model can call
238
+ after policy and allowlist checks pass.
239
+
240
+ Tool factories receive a runtime-supplied context object. Use `ctx.activeModel`
241
+ when a tool needs to log, display, or adapt to the active model for the current
242
+ turn. The object can include `provider`, `modelId`, and `modelRef`. Treat it as
243
+ informational runtime metadata, not as a security boundary against the local
244
+ operator, installed plugin code, or a modified Nodmix runtime. Sensitive local
245
+ tools should still require an explicit plugin or operator opt-in and fail closed
246
+ when active-model metadata is missing or unsuitable.
247
+
248
+ The manifest declares ownership and discovery; execution still calls the live
249
+ registered tool implementation. Keep `toolMetadata.<tool>.optional: true`
250
+ aligned with `api.registerTool(..., { optional: true })` so Nodmix can avoid
251
+ loading that plugin runtime until the tool is explicitly allowlisted.
252
+
253
+ ## Import conventions
254
+
255
+ Import from focused SDK subpaths:
256
+
257
+ ```typescript
258
+ import { definePluginEntry } from "nodmix/plugin-sdk/plugin-entry";
259
+ import { createPluginRuntimeStore } from "nodmix/plugin-sdk/runtime-store";
260
+ ```
261
+
262
+ Do not import from the deprecated root barrel:
263
+
264
+ ```typescript
265
+ import { definePluginEntry } from "nodmix/plugin-sdk";
266
+ ```
267
+
268
+ Within your plugin package, use local barrel files such as `api.ts` and
269
+ `runtime-api.ts` for internal imports. Do not import your own plugin through an
270
+ SDK path. Provider-specific helpers should stay in the provider package unless
271
+ the seam is truly generic.
272
+
273
+ Custom Gateway RPC methods are an advanced entry point. Keep them on a
274
+ plugin-specific prefix; core admin namespaces such as `config.*`,
275
+ `exec.approvals.*`, `operator.admin.*`, `wizard.*`, and `update.*` stay reserved
276
+ and resolve to `operator.admin`. The
277
+ `nodmix/plugin-sdk/gateway-method-runtime` bridge is reserved for plugin HTTP
278
+ routes that declare `contracts.gatewayMethodDispatch: ["authenticated-request"]`.
279
+
280
+ For the full import map, see [Plugin SDK overview](/plugins/sdk-overview).
281
+
282
+ ## Pre-submission checklist
283
+
284
+ <Check>**package.json** has correct `nodmix` metadata</Check>
285
+ <Check>**nodmix.plugin.json** manifest is present and valid</Check>
286
+ <Check>Entry point uses `defineChannelPluginEntry` or `definePluginEntry`</Check>
287
+ <Check>All imports use focused `plugin-sdk/<subpath>` paths</Check>
288
+ <Check>Internal imports use local modules, not SDK self-imports</Check>
289
+ <Check>Tests pass (`pnpm test -- <bundled-plugin-root>/my-plugin/`)</Check>
290
+ <Check>`pnpm check` passes (in-repo plugins)</Check>
291
+
292
+ ## Test against beta releases
293
+
294
+ 1. Watch for GitHub release tags on [nodmix/nodmix](https://github.com/nodmix/nodmix/releases) and subscribe via `Watch` > `Releases`. Beta tags look like `v2026.3.N-beta.1`. You can also turn on notifications for the official Nodmix X account [@nodmix](https://x.com/nodmix) for release announcements.
295
+ 2. Test your plugin against the beta tag as soon as it appears. The window before stable is typically only a few hours.
296
+ 3. Post in your plugin's thread in the `plugin-forum` Discord channel after testing with either `all good` or what broke. If you do not have a thread yet, create one.
297
+ 4. If something breaks, open or update an issue titled `Beta blocker: <plugin-name> - <summary>` and apply the `beta-blocker` label. Put the issue link in your thread.
298
+ 5. Open a PR to `main` titled `fix(<plugin-id>): beta blocker - <summary>` and link the issue in both the PR and your Discord thread. Contributors cannot label PRs, so the title is the PR-side signal for maintainers and automation. Blockers with a PR get merged; blockers without one might ship anyway. Maintainers watch these threads during beta testing.
299
+ 6. Silence means green. If you miss the window, your fix likely lands in the next cycle.
300
+
301
+ ## Next steps
302
+
303
+ <CardGroup cols={2}>
304
+ <Card title="Channel Plugins" icon="messages-square" href="/plugins/sdk-channel-plugins">
305
+ Build a messaging channel plugin
306
+ </Card>
307
+ <Card title="Provider Plugins" icon="cpu" href="/plugins/sdk-provider-plugins">
308
+ Build a model provider plugin
309
+ </Card>
310
+ <Card title="CLI Backend Plugins" icon="terminal" href="/plugins/cli-backend-plugins">
311
+ Register a local AI CLI backend
312
+ </Card>
313
+ <Card title="SDK Overview" icon="book-open" href="/plugins/sdk-overview">
314
+ Import map and registration API reference
315
+ </Card>
316
+ <Card title="Runtime Helpers" icon="settings" href="/plugins/sdk-runtime">
317
+ TTS, search, subagent via api.runtime
318
+ </Card>
319
+ <Card title="Testing" icon="test-tubes" href="/plugins/sdk-testing">
320
+ Test utilities and patterns
321
+ </Card>
322
+ <Card title="Plugin Manifest" icon="file-json" href="/plugins/manifest">
323
+ Full manifest schema reference
324
+ </Card>
325
+ </CardGroup>
326
+
327
+ ## Related
328
+
329
+ - [Plugin hooks](/plugins/hooks)
330
+ - [Plugin architecture](/plugins/architecture)
@@ -0,0 +1,310 @@
1
+ ---
2
+ summary: "Install and use Codex, Claude, and Cursor bundles as Nodmix plugins"
3
+ read_when:
4
+ - You want to install a Codex, Claude, or Cursor-compatible bundle
5
+ - You need to understand how Nodmix maps bundle content into native features
6
+ - You are debugging bundle detection or missing capabilities
7
+ title: "Plugin bundles"
8
+ ---
9
+
10
+ Nodmix can install plugins from three external ecosystems: **Codex**, **Claude**,
11
+ and **Cursor**. These are called **bundles** — content and metadata packs that
12
+ Nodmix maps into native features like skills, hooks, and MCP tools.
13
+
14
+ <Info>
15
+ Bundles are **not** the same as native Nodmix plugins. Native plugins run
16
+ in-process and can register any capability. Bundles are content packs with
17
+ selective feature mapping and a narrower trust boundary.
18
+ </Info>
19
+
20
+ ## Why bundles exist
21
+
22
+ Many useful plugins are published in Codex, Claude, or Cursor format. Instead
23
+ of requiring authors to rewrite them as native Nodmix plugins, Nodmix
24
+ detects these formats and maps their supported content into the native feature
25
+ set. This means you can install a Claude command pack or a Codex skill bundle
26
+ and use it immediately.
27
+
28
+ ## Install a bundle
29
+
30
+ <Steps>
31
+ <Step title="Install from a directory, archive, or marketplace">
32
+ ```bash
33
+ # Local directory
34
+ nodmix plugins install ./my-bundle
35
+
36
+ # Archive
37
+ nodmix plugins install ./my-bundle.tgz
38
+
39
+ # Claude marketplace
40
+ nodmix plugins marketplace list <marketplace-name>
41
+ nodmix plugins install <plugin-name>@<marketplace-name>
42
+ ```
43
+
44
+ </Step>
45
+
46
+ <Step title="Verify detection">
47
+ ```bash
48
+ nodmix plugins list
49
+ nodmix plugins inspect <id>
50
+ ```
51
+
52
+ Bundles show as `Format: bundle` with a subtype of `codex`, `claude`, or `cursor`.
53
+
54
+ </Step>
55
+
56
+ <Step title="Restart and use">
57
+ ```bash
58
+ nodmix gateway restart
59
+ ```
60
+
61
+ Mapped features (skills, hooks, MCP tools, LSP defaults) are available in the next session.
62
+
63
+ </Step>
64
+ </Steps>
65
+
66
+ ## What Nodmix maps from bundles
67
+
68
+ Not every bundle feature runs in Nodmix today. Here is what works and what
69
+ is detected but not yet wired.
70
+
71
+ ### Supported now
72
+
73
+ | Feature | How it maps | Applies to |
74
+ | ------------- | ------------------------------------------------------------------------------------------- | -------------- |
75
+ | Skill content | Bundle skill roots load as normal Nodmix skills | All formats |
76
+ | Commands | `commands/` and `.cursor/commands/` treated as skill roots | Claude, Cursor |
77
+ | Hook packs | Nodmix-style `HOOK.md` + `handler.ts` layouts | Codex |
78
+ | MCP tools | Bundle MCP config merged into embedded Pi settings; supported stdio and HTTP servers loaded | All formats |
79
+ | LSP servers | Claude `.lsp.json` and manifest-declared `lspServers` merged into embedded Pi LSP defaults | Claude |
80
+ | Settings | Claude `settings.json` imported as embedded Pi defaults | Claude |
81
+
82
+ #### Skill content
83
+
84
+ - bundle skill roots load as normal Nodmix skill roots
85
+ - Claude `commands` roots are treated as additional skill roots
86
+ - Cursor `.cursor/commands` roots are treated as additional skill roots
87
+
88
+ This means Claude markdown command files work through the normal Nodmix skill
89
+ loader. Cursor command markdown works through the same path.
90
+
91
+ #### Hook packs
92
+
93
+ - bundle hook roots work **only** when they use the normal Nodmix hook-pack
94
+ layout. Today this is primarily the Codex-compatible case:
95
+ - `HOOK.md`
96
+ - `handler.ts` or `handler.js`
97
+
98
+ #### MCP for Pi
99
+
100
+ - enabled bundles can contribute MCP server config
101
+ - Nodmix merges bundle MCP config into the effective embedded Pi settings as
102
+ `mcpServers`
103
+ - Nodmix exposes supported bundle MCP tools during embedded Pi agent turns by
104
+ launching stdio servers or connecting to HTTP servers
105
+ - the `coding` and `messaging` tool profiles include bundle MCP tools by
106
+ default; use `tools.deny: ["bundle-mcp"]` to opt out for an agent or gateway
107
+ - project-local Pi settings still apply after bundle defaults, so workspace
108
+ settings can override bundle MCP entries when needed
109
+ - bundle MCP tool catalogs are sorted deterministically before registration, so
110
+ upstream `listTools()` order changes do not thrash prompt-cache tool blocks
111
+
112
+ ##### Transports
113
+
114
+ MCP servers can use stdio or HTTP transport:
115
+
116
+ **Stdio** launches a child process:
117
+
118
+ ```json
119
+ {
120
+ "mcp": {
121
+ "servers": {
122
+ "my-server": {
123
+ "command": "node",
124
+ "args": ["server.js"],
125
+ "env": { "PORT": "3000" }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ **HTTP** connects to a running MCP server over `sse` by default, or `streamable-http` when requested:
133
+
134
+ ```json
135
+ {
136
+ "mcp": {
137
+ "servers": {
138
+ "my-server": {
139
+ "url": "http://localhost:3100/mcp",
140
+ "transport": "streamable-http",
141
+ "headers": {
142
+ "Authorization": "Bearer ${MY_SECRET_TOKEN}"
143
+ },
144
+ "connectionTimeoutMs": 30000
145
+ }
146
+ }
147
+ }
148
+ }
149
+ ```
150
+
151
+ - `transport` may be set to `"streamable-http"` or `"sse"`; when omitted, Nodmix uses `sse`
152
+ - `type: "http"` is a CLI-native downstream shape; use `transport: "streamable-http"` in Nodmix config. `nodmix mcp set` and `nodmix doctor --fix` normalize the common alias.
153
+ - only `http:` and `https:` URL schemes are allowed
154
+ - `headers` values support `${ENV_VAR}` interpolation
155
+ - a server entry with both `command` and `url` is rejected
156
+ - URL credentials (userinfo and query params) are redacted from tool
157
+ descriptions and logs
158
+ - `connectionTimeoutMs` overrides the default 30-second connection timeout for
159
+ both stdio and HTTP transports
160
+
161
+ ##### Tool naming
162
+
163
+ Nodmix registers bundle MCP tools with provider-safe names in the form
164
+ `serverName__toolName`. For example, a server keyed `"vigil-harbor"` exposing a
165
+ `memory_search` tool registers as `vigil-harbor__memory_search`.
166
+
167
+ - characters outside `A-Za-z0-9_-` are replaced with `-`
168
+ - fragments that would start with a non-letter get a letter prefix, so numeric
169
+ server keys such as `12306` become provider-safe tool prefixes
170
+ - server prefixes are capped at 30 characters
171
+ - full tool names are capped at 64 characters
172
+ - empty server names fall back to `mcp`
173
+ - colliding sanitized names are disambiguated with numeric suffixes
174
+ - final exposed tool order is deterministic by safe name to keep repeated Pi
175
+ turns cache-stable
176
+ - profile filtering treats all tools from one bundle MCP server as plugin-owned
177
+ by `bundle-mcp`, so profile allowlists and deny lists can include either
178
+ individual exposed tool names or the `bundle-mcp` plugin key
179
+
180
+ #### Embedded Pi settings
181
+
182
+ - Claude `settings.json` is imported as default embedded Pi settings when the
183
+ bundle is enabled
184
+ - Nodmix sanitizes shell override keys before applying them
185
+
186
+ Sanitized keys:
187
+
188
+ - `shellPath`
189
+ - `shellCommandPrefix`
190
+
191
+ #### Embedded Pi LSP
192
+
193
+ - enabled Claude bundles can contribute LSP server config
194
+ - Nodmix loads `.lsp.json` plus any manifest-declared `lspServers` paths
195
+ - bundle LSP config is merged into the effective embedded Pi LSP defaults
196
+ - only supported stdio-backed LSP servers are runnable today; unsupported
197
+ transports still show up in `nodmix plugins inspect <id>`
198
+
199
+ ### Detected but not executed
200
+
201
+ These are recognized and shown in diagnostics, but Nodmix does not run them:
202
+
203
+ - Claude `agents`, `hooks.json` automation, `outputStyles`
204
+ - Cursor `.cursor/agents`, `.cursor/hooks.json`, `.cursor/rules`
205
+ - Codex inline/app metadata beyond capability reporting
206
+
207
+ ## Bundle formats
208
+
209
+ <AccordionGroup>
210
+ <Accordion title="Codex bundles">
211
+ Markers: `.codex-plugin/plugin.json`
212
+
213
+ Optional content: `skills/`, `hooks/`, `.mcp.json`, `.app.json`
214
+
215
+ Codex bundles fit Nodmix best when they use skill roots and Nodmix-style
216
+ hook-pack directories (`HOOK.md` + `handler.ts`).
217
+
218
+ </Accordion>
219
+
220
+ <Accordion title="Claude bundles">
221
+ Two detection modes:
222
+
223
+ - **Manifest-based:** `.claude-plugin/plugin.json`
224
+ - **Manifestless:** default Claude layout (`skills/`, `commands/`, `agents/`, `hooks/`, `.mcp.json`, `.lsp.json`, `settings.json`)
225
+
226
+ Claude-specific behavior:
227
+
228
+ - `commands/` is treated as skill content
229
+ - `settings.json` is imported into embedded Pi settings (shell override keys are sanitized)
230
+ - `.mcp.json` exposes supported stdio tools to embedded Pi
231
+ - `.lsp.json` plus manifest-declared `lspServers` paths load into embedded Pi LSP defaults
232
+ - `hooks/hooks.json` is detected but not executed
233
+ - Custom component paths in the manifest are additive (they extend defaults, not replace them)
234
+
235
+ </Accordion>
236
+
237
+ <Accordion title="Cursor bundles">
238
+ Markers: `.cursor-plugin/plugin.json`
239
+
240
+ Optional content: `skills/`, `.cursor/commands/`, `.cursor/agents/`, `.cursor/rules/`, `.cursor/hooks.json`, `.mcp.json`
241
+
242
+ - `.cursor/commands/` is treated as skill content
243
+ - `.cursor/rules/`, `.cursor/agents/`, and `.cursor/hooks.json` are detect-only
244
+
245
+ </Accordion>
246
+ </AccordionGroup>
247
+
248
+ ## Detection precedence
249
+
250
+ Nodmix checks for native plugin format first:
251
+
252
+ 1. `nodmix.plugin.json` or valid `package.json` with `nodmix.extensions` — treated as **native plugin**
253
+ 2. Bundle markers (`.codex-plugin/`, `.claude-plugin/`, or default Claude/Cursor layout) — treated as **bundle**
254
+
255
+ If a directory contains both, Nodmix uses the native path. This prevents
256
+ dual-format packages from being partially installed as bundles.
257
+
258
+ ## Runtime dependencies and cleanup
259
+
260
+ - Third-party compatible bundles do not get startup `npm install` repair. They
261
+ should be installed through `nodmix plugins install` and ship everything
262
+ they need in the installed plugin directory.
263
+ - Nodmix-owned bundled plugins are either shipped lightweight in core or
264
+ downloadable through the plugin installer. Gateway startup never runs a
265
+ package manager for them.
266
+ - `nodmix doctor --fix` removes legacy staged dependency directories and can
267
+ recover downloadable plugins that are missing from the local plugin index when
268
+ config references them.
269
+
270
+ ## Security
271
+
272
+ Bundles have a narrower trust boundary than native plugins:
273
+
274
+ - Nodmix does **not** load arbitrary bundle runtime modules in-process
275
+ - Skills and hook-pack paths must stay inside the plugin root (boundary-checked)
276
+ - Settings files are read with the same boundary checks
277
+ - Supported stdio MCP servers may be launched as subprocesses
278
+
279
+ This makes bundles safer by default, but you should still treat third-party
280
+ bundles as trusted content for the features they do expose.
281
+
282
+ ## Troubleshooting
283
+
284
+ <AccordionGroup>
285
+ <Accordion title="Bundle is detected but capabilities do not run">
286
+ Run `nodmix plugins inspect <id>`. If a capability is listed but marked as
287
+ not wired, that is a product limit — not a broken install.
288
+ </Accordion>
289
+
290
+ <Accordion title="Claude command files do not appear">
291
+ Make sure the bundle is enabled and the markdown files are inside a detected
292
+ `commands/` or `skills/` root.
293
+ </Accordion>
294
+
295
+ <Accordion title="Claude settings do not apply">
296
+ Only embedded Pi settings from `settings.json` are supported. Nodmix does
297
+ not treat bundle settings as raw config patches.
298
+ </Accordion>
299
+
300
+ <Accordion title="Claude hooks do not execute">
301
+ `hooks/hooks.json` is detect-only. If you need runnable hooks, use the
302
+ Nodmix hook-pack layout or ship a native plugin.
303
+ </Accordion>
304
+ </AccordionGroup>
305
+
306
+ ## Related
307
+
308
+ - [Install and Configure Plugins](/tools/plugin)
309
+ - [Building Plugins](/plugins/building-plugins) — create a native plugin
310
+ - [Plugin Manifest](/plugins/manifest) — native manifest schema