durar-ai 2026.4.4

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 (571) hide show
  1. package/CHANGELOG.md +5497 -0
  2. package/LICENSE +21 -0
  3. package/README.md +614 -0
  4. package/assets/avatar-placeholder.svg +19 -0
  5. package/assets/chrome-extension/icons/icon128.png +0 -0
  6. package/assets/chrome-extension/icons/icon16.png +0 -0
  7. package/assets/chrome-extension/icons/icon32.png +0 -0
  8. package/assets/chrome-extension/icons/icon48.png +0 -0
  9. package/assets/dmg-background-small.png +0 -0
  10. package/assets/dmg-background.png +0 -0
  11. package/docs/.i18n/README.md +72 -0
  12. package/docs/.i18n/ar-navigation.json +18 -0
  13. package/docs/.i18n/de-navigation.json +18 -0
  14. package/docs/.i18n/es-navigation.json +18 -0
  15. package/docs/.i18n/fr-navigation.json +18 -0
  16. package/docs/.i18n/glossary.ar.json +5 -0
  17. package/docs/.i18n/glossary.de.json +5 -0
  18. package/docs/.i18n/glossary.es.json +5 -0
  19. package/docs/.i18n/glossary.fr.json +5 -0
  20. package/docs/.i18n/glossary.id.json +5 -0
  21. package/docs/.i18n/glossary.it.json +5 -0
  22. package/docs/.i18n/glossary.ja-JP.json +14 -0
  23. package/docs/.i18n/glossary.ko.json +5 -0
  24. package/docs/.i18n/glossary.pl.json +5 -0
  25. package/docs/.i18n/glossary.pt-BR.json +5 -0
  26. package/docs/.i18n/glossary.tr.json +5 -0
  27. package/docs/.i18n/glossary.zh-CN.json +358 -0
  28. package/docs/.i18n/id-navigation.json +18 -0
  29. package/docs/.i18n/it-navigation.json +18 -0
  30. package/docs/.i18n/ja-navigation.json +18 -0
  31. package/docs/.i18n/ko-navigation.json +18 -0
  32. package/docs/.i18n/pl-navigation.json +18 -0
  33. package/docs/.i18n/pt-BR-navigation.json +18 -0
  34. package/docs/.i18n/tr-navigation.json +18 -0
  35. package/docs/.i18n/zh-Hans-navigation.json +544 -0
  36. package/docs/assets/install-script.svg +1 -0
  37. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  38. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  39. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  40. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  41. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  42. package/docs/assets/openclaw-logo-text-dark.png +0 -0
  43. package/docs/assets/openclaw-logo-text-dark.svg +418 -0
  44. package/docs/assets/openclaw-logo-text.png +0 -0
  45. package/docs/assets/openclaw-logo-text.svg +418 -0
  46. package/docs/assets/pixel-lobster.svg +60 -0
  47. package/docs/assets/showcase/agents-ui.jpg +0 -0
  48. package/docs/assets/showcase/bambu-cli.png +0 -0
  49. package/docs/assets/showcase/codexmonitor.png +0 -0
  50. package/docs/assets/showcase/gohome-grafana.png +0 -0
  51. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  52. package/docs/assets/showcase/oura-health.png +0 -0
  53. package/docs/assets/showcase/padel-cli.svg +11 -0
  54. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  55. package/docs/assets/showcase/papla-tts.jpg +0 -0
  56. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  57. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  58. package/docs/assets/showcase/roborock-status.svg +13 -0
  59. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  60. package/docs/assets/showcase/snag.png +0 -0
  61. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  62. package/docs/assets/showcase/wienerlinien.png +0 -0
  63. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  64. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  65. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  66. package/docs/assets/sponsors/blacksmith-light.svg +14 -0
  67. package/docs/assets/sponsors/blacksmith.svg +14 -0
  68. package/docs/assets/sponsors/convex-light.svg +16 -0
  69. package/docs/assets/sponsors/convex.svg +16 -0
  70. package/docs/assets/sponsors/github-light.svg +3 -0
  71. package/docs/assets/sponsors/github.svg +3 -0
  72. package/docs/assets/sponsors/nvidia-dark.svg +9 -0
  73. package/docs/assets/sponsors/nvidia.svg +9 -0
  74. package/docs/assets/sponsors/openai-light.svg +3 -0
  75. package/docs/assets/sponsors/openai.svg +3 -0
  76. package/docs/assets/sponsors/vercel-light.svg +5 -0
  77. package/docs/assets/sponsors/vercel.svg +5 -0
  78. package/docs/auth-credential-semantics.md +80 -0
  79. package/docs/automation/auth-monitoring.md +8 -0
  80. package/docs/automation/clawflow.md +8 -0
  81. package/docs/automation/cron-jobs.md +410 -0
  82. package/docs/automation/cron-vs-heartbeat.md +8 -0
  83. package/docs/automation/gmail-pubsub.md +8 -0
  84. package/docs/automation/hooks.md +303 -0
  85. package/docs/automation/index.md +115 -0
  86. package/docs/automation/poll.md +8 -0
  87. package/docs/automation/standing-orders.md +254 -0
  88. package/docs/automation/taskflow.md +82 -0
  89. package/docs/automation/tasks.md +323 -0
  90. package/docs/automation/troubleshooting.md +8 -0
  91. package/docs/automation/webhook.md +8 -0
  92. package/docs/brave-search.md +103 -0
  93. package/docs/channels/bluebubbles.md +435 -0
  94. package/docs/channels/broadcast-groups.md +442 -0
  95. package/docs/channels/channel-routing.md +139 -0
  96. package/docs/channels/discord.md +1254 -0
  97. package/docs/channels/feishu.md +793 -0
  98. package/docs/channels/googlechat.md +270 -0
  99. package/docs/channels/group-messages.md +84 -0
  100. package/docs/channels/groups.md +410 -0
  101. package/docs/channels/imessage.md +427 -0
  102. package/docs/channels/index.md +50 -0
  103. package/docs/channels/irc.md +252 -0
  104. package/docs/channels/line.md +225 -0
  105. package/docs/channels/location.md +56 -0
  106. package/docs/channels/matrix.md +869 -0
  107. package/docs/channels/mattermost.md +472 -0
  108. package/docs/channels/msteams.md +805 -0
  109. package/docs/channels/nextcloud-talk.md +149 -0
  110. package/docs/channels/nostr.md +252 -0
  111. package/docs/channels/pairing.md +129 -0
  112. package/docs/channels/qqbot.md +193 -0
  113. package/docs/channels/signal.md +337 -0
  114. package/docs/channels/slack.md +681 -0
  115. package/docs/channels/synology-chat.md +185 -0
  116. package/docs/channels/telegram.md +1072 -0
  117. package/docs/channels/tlon.md +290 -0
  118. package/docs/channels/troubleshooting.md +133 -0
  119. package/docs/channels/twitch.md +394 -0
  120. package/docs/channels/whatsapp.md +488 -0
  121. package/docs/channels/zalo.md +254 -0
  122. package/docs/channels/zalouser.md +195 -0
  123. package/docs/ci.md +66 -0
  124. package/docs/cli/acp.md +316 -0
  125. package/docs/cli/agent.md +57 -0
  126. package/docs/cli/agents.md +220 -0
  127. package/docs/cli/approvals.md +136 -0
  128. package/docs/cli/backup.md +84 -0
  129. package/docs/cli/browser.md +233 -0
  130. package/docs/cli/channels.md +131 -0
  131. package/docs/cli/clawbot.md +21 -0
  132. package/docs/cli/completion.md +35 -0
  133. package/docs/cli/config.md +353 -0
  134. package/docs/cli/configure.md +70 -0
  135. package/docs/cli/cron.md +167 -0
  136. package/docs/cli/daemon.md +57 -0
  137. package/docs/cli/dashboard.md +22 -0
  138. package/docs/cli/devices.md +171 -0
  139. package/docs/cli/directory.md +63 -0
  140. package/docs/cli/dns.md +48 -0
  141. package/docs/cli/docs.md +28 -0
  142. package/docs/cli/doctor.md +63 -0
  143. package/docs/cli/flows.md +18 -0
  144. package/docs/cli/gateway.md +307 -0
  145. package/docs/cli/health.md +36 -0
  146. package/docs/cli/hooks.md +337 -0
  147. package/docs/cli/index.md +1836 -0
  148. package/docs/cli/logs.md +59 -0
  149. package/docs/cli/mcp.md +505 -0
  150. package/docs/cli/memory.md +139 -0
  151. package/docs/cli/message.md +300 -0
  152. package/docs/cli/models.md +136 -0
  153. package/docs/cli/node.md +137 -0
  154. package/docs/cli/nodes.md +66 -0
  155. package/docs/cli/onboard.md +171 -0
  156. package/docs/cli/pairing.md +65 -0
  157. package/docs/cli/plugins.md +305 -0
  158. package/docs/cli/qr.md +52 -0
  159. package/docs/cli/reset.md +35 -0
  160. package/docs/cli/sandbox.md +197 -0
  161. package/docs/cli/secrets.md +197 -0
  162. package/docs/cli/security.md +86 -0
  163. package/docs/cli/sessions.md +113 -0
  164. package/docs/cli/setup.md +45 -0
  165. package/docs/cli/skills.md +59 -0
  166. package/docs/cli/status.md +35 -0
  167. package/docs/cli/system.md +71 -0
  168. package/docs/cli/tui.md +30 -0
  169. package/docs/cli/uninstall.md +39 -0
  170. package/docs/cli/update.md +113 -0
  171. package/docs/cli/voicecall.md +34 -0
  172. package/docs/cli/webhooks.md +91 -0
  173. package/docs/concepts/agent-loop.md +168 -0
  174. package/docs/concepts/agent-workspace.md +246 -0
  175. package/docs/concepts/agent.md +129 -0
  176. package/docs/concepts/architecture.md +156 -0
  177. package/docs/concepts/compaction.md +122 -0
  178. package/docs/concepts/context-engine.md +274 -0
  179. package/docs/concepts/context.md +179 -0
  180. package/docs/concepts/delegate-architecture.md +307 -0
  181. package/docs/concepts/dreaming.md +173 -0
  182. package/docs/concepts/features.md +76 -0
  183. package/docs/concepts/markdown-formatting.md +130 -0
  184. package/docs/concepts/memory-builtin.md +105 -0
  185. package/docs/concepts/memory-honcho.md +140 -0
  186. package/docs/concepts/memory-qmd.md +163 -0
  187. package/docs/concepts/memory-search.md +141 -0
  188. package/docs/concepts/memory.md +121 -0
  189. package/docs/concepts/messages.md +161 -0
  190. package/docs/concepts/model-failover.md +349 -0
  191. package/docs/concepts/model-providers.md +799 -0
  192. package/docs/concepts/models.md +255 -0
  193. package/docs/concepts/multi-agent.md +615 -0
  194. package/docs/concepts/oauth.md +225 -0
  195. package/docs/concepts/presence.md +102 -0
  196. package/docs/concepts/queue.md +89 -0
  197. package/docs/concepts/retry.md +69 -0
  198. package/docs/concepts/session-pruning.md +92 -0
  199. package/docs/concepts/session-tool.md +141 -0
  200. package/docs/concepts/session.md +116 -0
  201. package/docs/concepts/soul.md +110 -0
  202. package/docs/concepts/streaming.md +161 -0
  203. package/docs/concepts/system-prompt.md +182 -0
  204. package/docs/concepts/timezone.md +97 -0
  205. package/docs/concepts/typebox.md +307 -0
  206. package/docs/concepts/typing-indicators.md +69 -0
  207. package/docs/concepts/usage-tracking.md +59 -0
  208. package/docs/date-time.md +128 -0
  209. package/docs/debug/node-issue.md +85 -0
  210. package/docs/diagnostics/flags.md +91 -0
  211. package/docs/docs.json +1601 -0
  212. package/docs/gateway/authentication.md +218 -0
  213. package/docs/gateway/background-process.md +131 -0
  214. package/docs/gateway/bonjour.md +179 -0
  215. package/docs/gateway/bridge-protocol.md +89 -0
  216. package/docs/gateway/cli-backends.md +310 -0
  217. package/docs/gateway/configuration-examples.md +631 -0
  218. package/docs/gateway/configuration-reference.md +3618 -0
  219. package/docs/gateway/configuration.md +698 -0
  220. package/docs/gateway/discovery.md +141 -0
  221. package/docs/gateway/doctor.md +494 -0
  222. package/docs/gateway/gateway-lock.md +37 -0
  223. package/docs/gateway/health.md +61 -0
  224. package/docs/gateway/heartbeat.md +443 -0
  225. package/docs/gateway/index.md +367 -0
  226. package/docs/gateway/local-models.md +163 -0
  227. package/docs/gateway/logging.md +113 -0
  228. package/docs/gateway/multiple-gateways.md +120 -0
  229. package/docs/gateway/network-model.md +25 -0
  230. package/docs/gateway/openai-http-api.md +280 -0
  231. package/docs/gateway/openresponses-http-api.md +340 -0
  232. package/docs/gateway/openshell.md +307 -0
  233. package/docs/gateway/pairing.md +138 -0
  234. package/docs/gateway/protocol.md +588 -0
  235. package/docs/gateway/remote-gateway-readme.md +164 -0
  236. package/docs/gateway/remote.md +251 -0
  237. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +141 -0
  238. package/docs/gateway/sandboxing.md +473 -0
  239. package/docs/gateway/secrets-plan-contract.md +116 -0
  240. package/docs/gateway/secrets.md +541 -0
  241. package/docs/gateway/security/index.md +1362 -0
  242. package/docs/gateway/tailscale.md +136 -0
  243. package/docs/gateway/tools-invoke-http-api.md +161 -0
  244. package/docs/gateway/troubleshooting.md +451 -0
  245. package/docs/gateway/trusted-proxy-auth.md +399 -0
  246. package/docs/help/debugging.md +168 -0
  247. package/docs/help/environment.md +165 -0
  248. package/docs/help/faq.md +3244 -0
  249. package/docs/help/index.md +28 -0
  250. package/docs/help/scripts.md +27 -0
  251. package/docs/help/testing.md +640 -0
  252. package/docs/help/troubleshooting.md +372 -0
  253. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  254. package/docs/images/feishu-step2-create-app.png +0 -0
  255. package/docs/images/feishu-step3-credentials.png +0 -0
  256. package/docs/images/feishu-step4-permissions.png +0 -0
  257. package/docs/images/feishu-step5-bot-capability.png +0 -0
  258. package/docs/images/feishu-step6-event-subscription.png +0 -0
  259. package/docs/images/feishu-verification-token.png +0 -0
  260. package/docs/images/groups-flow.svg +52 -0
  261. package/docs/images/mobile-ui-screenshot.png +0 -0
  262. package/docs/index.md +196 -0
  263. package/docs/install/ansible.md +230 -0
  264. package/docs/install/azure.md +311 -0
  265. package/docs/install/bun.md +55 -0
  266. package/docs/install/clawdock.md +106 -0
  267. package/docs/install/development-channels.md +131 -0
  268. package/docs/install/digitalocean.md +129 -0
  269. package/docs/install/docker-vm-runtime.md +142 -0
  270. package/docs/install/docker.md +412 -0
  271. package/docs/install/exe-dev.md +133 -0
  272. package/docs/install/fly.md +504 -0
  273. package/docs/install/gcp.md +412 -0
  274. package/docs/install/hetzner.md +259 -0
  275. package/docs/install/index.md +212 -0
  276. package/docs/install/installer.md +443 -0
  277. package/docs/install/kubernetes.md +192 -0
  278. package/docs/install/macos-vm.md +281 -0
  279. package/docs/install/migrating-matrix.md +349 -0
  280. package/docs/install/migrating.md +112 -0
  281. package/docs/install/nix.md +89 -0
  282. package/docs/install/node.md +144 -0
  283. package/docs/install/northflank.mdx +42 -0
  284. package/docs/install/oracle.md +158 -0
  285. package/docs/install/podman.md +210 -0
  286. package/docs/install/railway.mdx +90 -0
  287. package/docs/install/raspberry-pi.md +159 -0
  288. package/docs/install/render.mdx +165 -0
  289. package/docs/install/uninstall.md +128 -0
  290. package/docs/install/updating.md +142 -0
  291. package/docs/logging.md +389 -0
  292. package/docs/nav-tabs-underline.js +100 -0
  293. package/docs/network.md +69 -0
  294. package/docs/nodes/audio.md +191 -0
  295. package/docs/nodes/camera.md +162 -0
  296. package/docs/nodes/images.md +73 -0
  297. package/docs/nodes/index.md +408 -0
  298. package/docs/nodes/location-command.md +98 -0
  299. package/docs/nodes/media-understanding.md +432 -0
  300. package/docs/nodes/talk.md +92 -0
  301. package/docs/nodes/troubleshooting.md +123 -0
  302. package/docs/nodes/voicewake.md +66 -0
  303. package/docs/perplexity.md +181 -0
  304. package/docs/pi-dev.md +80 -0
  305. package/docs/pi.md +570 -0
  306. package/docs/platforms/android.md +244 -0
  307. package/docs/platforms/digitalocean.md +266 -0
  308. package/docs/platforms/index.md +55 -0
  309. package/docs/platforms/ios.md +223 -0
  310. package/docs/platforms/linux.md +100 -0
  311. package/docs/platforms/mac/bundled-gateway.md +75 -0
  312. package/docs/platforms/mac/canvas.md +125 -0
  313. package/docs/platforms/mac/child-process.md +69 -0
  314. package/docs/platforms/mac/dev-setup.md +107 -0
  315. package/docs/platforms/mac/health.md +34 -0
  316. package/docs/platforms/mac/icon.md +31 -0
  317. package/docs/platforms/mac/logging.md +57 -0
  318. package/docs/platforms/mac/menu-bar.md +81 -0
  319. package/docs/platforms/mac/peekaboo.md +65 -0
  320. package/docs/platforms/mac/permissions.md +50 -0
  321. package/docs/platforms/mac/remote.md +84 -0
  322. package/docs/platforms/mac/signing.md +47 -0
  323. package/docs/platforms/mac/skills.md +40 -0
  324. package/docs/platforms/mac/voice-overlay.md +60 -0
  325. package/docs/platforms/mac/voicewake.md +67 -0
  326. package/docs/platforms/mac/webchat.md +51 -0
  327. package/docs/platforms/mac/xpc.md +61 -0
  328. package/docs/platforms/macos.md +229 -0
  329. package/docs/platforms/oracle.md +305 -0
  330. package/docs/platforms/raspberry-pi.md +420 -0
  331. package/docs/platforms/windows.md +241 -0
  332. package/docs/plugins/agent-tools.md +10 -0
  333. package/docs/plugins/architecture.md +1609 -0
  334. package/docs/plugins/building-extensions.md +10 -0
  335. package/docs/plugins/building-plugins.md +319 -0
  336. package/docs/plugins/bundles.md +292 -0
  337. package/docs/plugins/community.md +149 -0
  338. package/docs/plugins/manifest.md +412 -0
  339. package/docs/plugins/sdk-channel-plugins.md +508 -0
  340. package/docs/plugins/sdk-entrypoints.md +210 -0
  341. package/docs/plugins/sdk-migration.md +359 -0
  342. package/docs/plugins/sdk-overview.md +475 -0
  343. package/docs/plugins/sdk-provider-plugins.md +712 -0
  344. package/docs/plugins/sdk-runtime.md +381 -0
  345. package/docs/plugins/sdk-setup.md +516 -0
  346. package/docs/plugins/sdk-testing.md +263 -0
  347. package/docs/plugins/voice-call.md +466 -0
  348. package/docs/plugins/zalouser.md +78 -0
  349. package/docs/prose.md +134 -0
  350. package/docs/providers/anthropic.md +402 -0
  351. package/docs/providers/bedrock-mantle.md +91 -0
  352. package/docs/providers/bedrock.md +273 -0
  353. package/docs/providers/chutes.md +103 -0
  354. package/docs/providers/claude-max-api-proxy.md +163 -0
  355. package/docs/providers/cloudflare-ai-gateway.md +71 -0
  356. package/docs/providers/deepgram.md +93 -0
  357. package/docs/providers/deepseek.md +53 -0
  358. package/docs/providers/fireworks.md +69 -0
  359. package/docs/providers/github-copilot.md +80 -0
  360. package/docs/providers/glm.md +68 -0
  361. package/docs/providers/google.md +149 -0
  362. package/docs/providers/groq.md +105 -0
  363. package/docs/providers/huggingface.md +193 -0
  364. package/docs/providers/index.md +81 -0
  365. package/docs/providers/kilocode.md +89 -0
  366. package/docs/providers/litellm.md +159 -0
  367. package/docs/providers/minimax.md +281 -0
  368. package/docs/providers/mistral.md +68 -0
  369. package/docs/providers/models.md +56 -0
  370. package/docs/providers/moonshot.md +224 -0
  371. package/docs/providers/nvidia.md +58 -0
  372. package/docs/providers/ollama.md +379 -0
  373. package/docs/providers/openai.md +472 -0
  374. package/docs/providers/opencode-go.md +45 -0
  375. package/docs/providers/opencode.md +68 -0
  376. package/docs/providers/openrouter.md +59 -0
  377. package/docs/providers/perplexity-provider.md +62 -0
  378. package/docs/providers/qianfan.md +90 -0
  379. package/docs/providers/qwen.md +128 -0
  380. package/docs/providers/qwen_modelstudio.md +137 -0
  381. package/docs/providers/sglang.md +115 -0
  382. package/docs/providers/stepfun.md +152 -0
  383. package/docs/providers/synthetic.md +101 -0
  384. package/docs/providers/together.md +70 -0
  385. package/docs/providers/venice.md +282 -0
  386. package/docs/providers/vercel-ai-gateway.md +60 -0
  387. package/docs/providers/vllm.md +103 -0
  388. package/docs/providers/volcengine.md +94 -0
  389. package/docs/providers/xai.md +94 -0
  390. package/docs/providers/xiaomi.md +89 -0
  391. package/docs/providers/zai.md +75 -0
  392. package/docs/reference/AGENTS.default.md +126 -0
  393. package/docs/reference/RELEASING.md +138 -0
  394. package/docs/reference/api-usage-costs.md +198 -0
  395. package/docs/reference/credits.md +30 -0
  396. package/docs/reference/device-models.md +47 -0
  397. package/docs/reference/memory-config.md +421 -0
  398. package/docs/reference/prompt-caching.md +344 -0
  399. package/docs/reference/rpc.md +43 -0
  400. package/docs/reference/secretref-credential-surface.md +148 -0
  401. package/docs/reference/secretref-user-supplied-credentials-matrix.json +607 -0
  402. package/docs/reference/session-management-compaction.md +352 -0
  403. package/docs/reference/templates/AGENTS.dev.md +84 -0
  404. package/docs/reference/templates/AGENTS.md +219 -0
  405. package/docs/reference/templates/BOOT.md +12 -0
  406. package/docs/reference/templates/BOOTSTRAP.md +62 -0
  407. package/docs/reference/templates/CLAUDE.md +1 -0
  408. package/docs/reference/templates/HEARTBEAT.md +14 -0
  409. package/docs/reference/templates/IDENTITY.dev.md +48 -0
  410. package/docs/reference/templates/IDENTITY.md +30 -0
  411. package/docs/reference/templates/SOUL.dev.md +77 -0
  412. package/docs/reference/templates/SOUL.md +45 -0
  413. package/docs/reference/templates/TOOLS.dev.md +25 -0
  414. package/docs/reference/templates/TOOLS.md +47 -0
  415. package/docs/reference/templates/USER.dev.md +19 -0
  416. package/docs/reference/templates/USER.md +24 -0
  417. package/docs/reference/test.md +119 -0
  418. package/docs/reference/token-use.md +197 -0
  419. package/docs/reference/transcript-hygiene.md +151 -0
  420. package/docs/reference/wizard.md +245 -0
  421. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +98 -0
  422. package/docs/security/THREAT-MODEL-ATLAS.md +608 -0
  423. package/docs/security/formal-verification.md +167 -0
  424. package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +9 -0
  425. package/docs/snippets/plugin-publish/minimal-package.json +16 -0
  426. package/docs/start/bootstrapping.md +41 -0
  427. package/docs/start/docs-directory.md +67 -0
  428. package/docs/start/getting-started.md +148 -0
  429. package/docs/start/hubs.md +199 -0
  430. package/docs/start/lore.md +219 -0
  431. package/docs/start/onboarding-overview.md +69 -0
  432. package/docs/start/onboarding.md +92 -0
  433. package/docs/start/openclaw.md +225 -0
  434. package/docs/start/quickstart.md +22 -0
  435. package/docs/start/setup.md +172 -0
  436. package/docs/start/showcase.md +418 -0
  437. package/docs/start/wizard-cli-automation.md +233 -0
  438. package/docs/start/wizard-cli-reference.md +324 -0
  439. package/docs/start/wizard.md +127 -0
  440. package/docs/style.css +37 -0
  441. package/docs/tools/acp-agents.md +837 -0
  442. package/docs/tools/agent-send.md +100 -0
  443. package/docs/tools/apply-patch.md +52 -0
  444. package/docs/tools/brave-search.md +107 -0
  445. package/docs/tools/browser-linux-troubleshooting.md +145 -0
  446. package/docs/tools/browser-login.md +73 -0
  447. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +221 -0
  448. package/docs/tools/browser.md +890 -0
  449. package/docs/tools/btw.md +142 -0
  450. package/docs/tools/capability-cookbook.md +119 -0
  451. package/docs/tools/clawhub.md +348 -0
  452. package/docs/tools/code-execution.md +90 -0
  453. package/docs/tools/creating-skills.md +119 -0
  454. package/docs/tools/diffs.md +434 -0
  455. package/docs/tools/duckduckgo-search.md +102 -0
  456. package/docs/tools/elevated.md +116 -0
  457. package/docs/tools/exa-search.md +127 -0
  458. package/docs/tools/exec-approvals.md +635 -0
  459. package/docs/tools/exec.md +237 -0
  460. package/docs/tools/firecrawl.md +147 -0
  461. package/docs/tools/gemini-search.md +98 -0
  462. package/docs/tools/grok-search.md +102 -0
  463. package/docs/tools/image-generation.md +139 -0
  464. package/docs/tools/index.md +174 -0
  465. package/docs/tools/kimi-search.md +98 -0
  466. package/docs/tools/llm-task.md +119 -0
  467. package/docs/tools/lobster.md +348 -0
  468. package/docs/tools/loop-detection.md +100 -0
  469. package/docs/tools/minimax-search.md +99 -0
  470. package/docs/tools/multi-agent-sandbox-tools.md +373 -0
  471. package/docs/tools/ollama-search.md +100 -0
  472. package/docs/tools/pdf.md +176 -0
  473. package/docs/tools/perplexity-search.md +185 -0
  474. package/docs/tools/plugin.md +348 -0
  475. package/docs/tools/reactions.md +78 -0
  476. package/docs/tools/searxng-search.md +132 -0
  477. package/docs/tools/skills-config.md +133 -0
  478. package/docs/tools/skills.md +377 -0
  479. package/docs/tools/slash-commands.md +322 -0
  480. package/docs/tools/subagents.md +341 -0
  481. package/docs/tools/tavily.md +129 -0
  482. package/docs/tools/thinking.md +102 -0
  483. package/docs/tools/tts.md +452 -0
  484. package/docs/tools/web-fetch.md +159 -0
  485. package/docs/tools/web.md +417 -0
  486. package/docs/tts.md +452 -0
  487. package/docs/vps.md +115 -0
  488. package/docs/web/control-ui.md +318 -0
  489. package/docs/web/dashboard.md +93 -0
  490. package/docs/web/index.md +126 -0
  491. package/docs/web/tui.md +176 -0
  492. package/docs/web/webchat.md +77 -0
  493. package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
  494. package/docs/whatsapp-openclaw.jpg +0 -0
  495. package/durar.mjs +180 -0
  496. package/package.json +1259 -0
  497. package/scripts/npm-runner.mjs +111 -0
  498. package/scripts/postinstall-bundled-plugins.mjs +188 -0
  499. package/skills/1password/SKILL.md +70 -0
  500. package/skills/1password/references/cli-examples.md +29 -0
  501. package/skills/1password/references/get-started.md +17 -0
  502. package/skills/apple-notes/SKILL.md +77 -0
  503. package/skills/apple-reminders/SKILL.md +118 -0
  504. package/skills/bear-notes/SKILL.md +107 -0
  505. package/skills/blogwatcher/SKILL.md +69 -0
  506. package/skills/blucli/SKILL.md +47 -0
  507. package/skills/bluebubbles/SKILL.md +131 -0
  508. package/skills/camsnap/SKILL.md +45 -0
  509. package/skills/canvas/SKILL.md +199 -0
  510. package/skills/clawhub/SKILL.md +77 -0
  511. package/skills/coding-agent/SKILL.md +316 -0
  512. package/skills/discord/SKILL.md +197 -0
  513. package/skills/eightctl/SKILL.md +50 -0
  514. package/skills/gemini/SKILL.md +43 -0
  515. package/skills/gh-issues/SKILL.md +885 -0
  516. package/skills/gifgrep/SKILL.md +79 -0
  517. package/skills/github/SKILL.md +163 -0
  518. package/skills/gog/SKILL.md +116 -0
  519. package/skills/goplaces/SKILL.md +52 -0
  520. package/skills/healthcheck/SKILL.md +245 -0
  521. package/skills/himalaya/SKILL.md +257 -0
  522. package/skills/himalaya/references/configuration.md +184 -0
  523. package/skills/himalaya/references/message-composition.md +199 -0
  524. package/skills/imsg/SKILL.md +122 -0
  525. package/skills/mcporter/SKILL.md +61 -0
  526. package/skills/model-usage/SKILL.md +69 -0
  527. package/skills/model-usage/references/codexbar-cli.md +33 -0
  528. package/skills/model-usage/scripts/model_usage.py +320 -0
  529. package/skills/model-usage/scripts/test_model_usage.py +40 -0
  530. package/skills/nano-pdf/SKILL.md +38 -0
  531. package/skills/node-connect/SKILL.md +142 -0
  532. package/skills/notion/SKILL.md +174 -0
  533. package/skills/obsidian/SKILL.md +81 -0
  534. package/skills/openai-whisper/SKILL.md +38 -0
  535. package/skills/openai-whisper-api/SKILL.md +62 -0
  536. package/skills/openai-whisper-api/scripts/transcribe.sh +88 -0
  537. package/skills/openhue/SKILL.md +112 -0
  538. package/skills/oracle/SKILL.md +125 -0
  539. package/skills/ordercli/SKILL.md +78 -0
  540. package/skills/peekaboo/SKILL.md +190 -0
  541. package/skills/sag/SKILL.md +87 -0
  542. package/skills/session-logs/SKILL.md +151 -0
  543. package/skills/sherpa-onnx-tts/SKILL.md +109 -0
  544. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  545. package/skills/skill-creator/SKILL.md +372 -0
  546. package/skills/skill-creator/license.txt +202 -0
  547. package/skills/skill-creator/scripts/init_skill.py +378 -0
  548. package/skills/skill-creator/scripts/package_skill.py +139 -0
  549. package/skills/skill-creator/scripts/quick_validate.py +159 -0
  550. package/skills/skill-creator/scripts/test_package_skill.py +160 -0
  551. package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
  552. package/skills/slack/SKILL.md +144 -0
  553. package/skills/songsee/SKILL.md +49 -0
  554. package/skills/sonoscli/SKILL.md +65 -0
  555. package/skills/spotify-player/SKILL.md +64 -0
  556. package/skills/summarize/SKILL.md +87 -0
  557. package/skills/taskflow/SKILL.md +149 -0
  558. package/skills/taskflow/examples/inbox-triage.lobster +33 -0
  559. package/skills/taskflow/examples/pr-intake.lobster +32 -0
  560. package/skills/taskflow-inbox-triage/SKILL.md +119 -0
  561. package/skills/things-mac/SKILL.md +86 -0
  562. package/skills/tmux/SKILL.md +170 -0
  563. package/skills/tmux/scripts/find-sessions.sh +112 -0
  564. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  565. package/skills/trello/SKILL.md +108 -0
  566. package/skills/video-frames/SKILL.md +46 -0
  567. package/skills/video-frames/scripts/frame.sh +81 -0
  568. package/skills/voice-call/SKILL.md +45 -0
  569. package/skills/wacli/SKILL.md +72 -0
  570. package/skills/weather/SKILL.md +129 -0
  571. package/skills/xurl/SKILL.md +461 -0
@@ -0,0 +1,171 @@
1
+ ---
2
+ summary: "CLI reference for `Durar onboard` (interactive onboarding)"
3
+ read_when:
4
+ - You want guided setup for gateway, workspace, auth, channels, and skills
5
+ title: "onboard"
6
+ ---
7
+
8
+ # `Durar onboard`
9
+
10
+ Interactive onboarding for local or remote Gateway setup.
11
+
12
+ ## Related guides
13
+
14
+ - CLI onboarding hub: [Onboarding (CLI)](/start/wizard)
15
+ - Onboarding overview: [Onboarding Overview](/start/onboarding-overview)
16
+ - CLI onboarding reference: [CLI Setup Reference](/start/wizard-cli-reference)
17
+ - CLI automation: [CLI Automation](/start/wizard-cli-automation)
18
+ - macOS onboarding: [Onboarding (macOS App)](/start/onboarding)
19
+
20
+ ## Examples
21
+
22
+ ```bash
23
+ Durar onboard
24
+ Durar onboard --flow quickstart
25
+ Durar onboard --flow manual
26
+ Durar onboard --mode remote --remote-url wss://gateway-host:18789
27
+ ```
28
+
29
+ For plaintext private-network `ws://` targets (trusted networks only), set
30
+ `Durar_ALLOW_INSECURE_PRIVATE_WS=1` in the onboarding process environment.
31
+
32
+ Non-interactive custom provider:
33
+
34
+ ```bash
35
+ Durar onboard --non-interactive \
36
+ --auth-choice custom-api-key \
37
+ --custom-base-url "https://llm.example.com/v1" \
38
+ --custom-model-id "foo-large" \
39
+ --custom-api-key "$CUSTOM_API_KEY" \
40
+ --secret-input-mode plaintext \
41
+ --custom-compatibility openai
42
+ ```
43
+
44
+ `--custom-api-key` is optional in non-interactive mode. If omitted, onboarding checks `CUSTOM_API_KEY`.
45
+
46
+ Non-interactive Ollama:
47
+
48
+ ```bash
49
+ Durar onboard --non-interactive \
50
+ --auth-choice ollama \
51
+ --custom-base-url "http://ollama-host:11434" \
52
+ --custom-model-id "qwen3.5:27b" \
53
+ --accept-risk
54
+ ```
55
+
56
+ `--custom-base-url` defaults to `http://127.0.0.1:11434`. `--custom-model-id` is optional; if omitted, onboarding uses Ollama's suggested defaults. Cloud model IDs such as `kimi-k2.5:cloud` also work here.
57
+
58
+ Store provider keys as refs instead of plaintext:
59
+
60
+ ```bash
61
+ Durar onboard --non-interactive \
62
+ --auth-choice openai-api-key \
63
+ --secret-input-mode ref \
64
+ --accept-risk
65
+ ```
66
+
67
+ With `--secret-input-mode ref`, onboarding writes env-backed refs instead of plaintext key values.
68
+ For auth-profile backed providers this writes `keyRef` entries; for custom providers this writes `models.providers.<id>.apiKey` as an env ref (for example `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`).
69
+
70
+ Non-interactive `ref` mode contract:
71
+
72
+ - Set the provider env var in the onboarding process environment (for example `OPENAI_API_KEY`).
73
+ - Do not pass inline key flags (for example `--openai-api-key`) unless that env var is also set.
74
+ - If an inline key flag is passed without the required env var, onboarding fails fast with guidance.
75
+
76
+ Gateway token options in non-interactive mode:
77
+
78
+ - `--gateway-auth token --gateway-token <token>` stores a plaintext token.
79
+ - `--gateway-auth token --gateway-token-ref-env <name>` stores `gateway.auth.token` as an env SecretRef.
80
+ - `--gateway-token` and `--gateway-token-ref-env` are mutually exclusive.
81
+ - `--gateway-token-ref-env` requires a non-empty env var in the onboarding process environment.
82
+ - With `--install-daemon`, when token auth requires a token, SecretRef-managed gateway tokens are validated but not persisted as resolved plaintext in supervisor service environment metadata.
83
+ - With `--install-daemon`, if token mode requires a token and the configured token SecretRef is unresolved, onboarding fails closed with remediation guidance.
84
+ - With `--install-daemon`, if both `gateway.auth.token` and `gateway.auth.password` are configured and `gateway.auth.mode` is unset, onboarding blocks install until mode is set explicitly.
85
+ - Local onboarding writes `gateway.mode="local"` into the config. If a later config file is missing `gateway.mode`, treat that as config damage or an incomplete manual edit, not as a valid local-mode shortcut.
86
+ - `--allow-unconfigured` is a separate gateway runtime escape hatch. It does not mean onboarding may omit `gateway.mode`.
87
+
88
+ Example:
89
+
90
+ ```bash
91
+ export Durar_GATEWAY_TOKEN="your-token"
92
+ Durar onboard --non-interactive \
93
+ --mode local \
94
+ --auth-choice skip \
95
+ --gateway-auth token \
96
+ --gateway-token-ref-env Durar_GATEWAY_TOKEN \
97
+ --accept-risk
98
+ ```
99
+
100
+ Non-interactive local gateway health:
101
+
102
+ - Unless you pass `--skip-health`, onboarding waits for a reachable local gateway before it exits successfully.
103
+ - `--install-daemon` starts the managed gateway install path first. Without it, you must already have a local gateway running, for example `Durar gateway run`.
104
+ - If you only want config/workspace/bootstrap writes in automation, use `--skip-health`.
105
+ - On native Windows, `--install-daemon` tries Scheduled Tasks first and falls back to a per-user Startup-folder login item if task creation is denied.
106
+
107
+ Interactive onboarding behavior with reference mode:
108
+
109
+ - Choose **Use secret reference** when prompted.
110
+ - Then choose either:
111
+ - Environment variable
112
+ - Configured secret provider (`file` or `exec`)
113
+ - Onboarding performs a fast preflight validation before saving the ref.
114
+ - If validation fails, onboarding shows the error and lets you retry.
115
+
116
+ Non-interactive Z.AI endpoint choices:
117
+
118
+ Note: `--auth-choice zai-api-key` now auto-detects the best Z.AI endpoint for your key (prefers the general API with `zai/glm-5`).
119
+ If you specifically want the GLM Coding Plan endpoints, pick `zai-coding-global` or `zai-coding-cn`.
120
+
121
+ ```bash
122
+ # Promptless endpoint selection
123
+ Durar onboard --non-interactive \
124
+ --auth-choice zai-coding-global \
125
+ --zai-api-key "$ZAI_API_KEY"
126
+
127
+ # Other Z.AI endpoint choices:
128
+ # --auth-choice zai-coding-cn
129
+ # --auth-choice zai-global
130
+ # --auth-choice zai-cn
131
+ ```
132
+
133
+ Non-interactive Mistral example:
134
+
135
+ ```bash
136
+ Durar onboard --non-interactive \
137
+ --auth-choice mistral-api-key \
138
+ --mistral-api-key "$MISTRAL_API_KEY"
139
+ ```
140
+
141
+ Flow notes:
142
+
143
+ - `quickstart`: minimal prompts, auto-generates a gateway token.
144
+ - `manual`: full prompts for port/bind/auth (alias of `advanced`).
145
+ - When an auth choice implies a preferred provider, onboarding prefilters the
146
+ default-model and allowlist pickers to that provider. For Volcengine and
147
+ BytePlus, this also matches the coding-plan variants
148
+ (`volcengine-plan/*`, `byteplus-plan/*`).
149
+ - If the preferred-provider filter yields no loaded models yet, onboarding
150
+ falls back to the unfiltered catalog instead of leaving the picker empty.
151
+ - In the web-search step, some providers can trigger provider-specific
152
+ follow-up prompts:
153
+ - **Grok** can offer optional `x_search` setup with the same `XAI_API_KEY`
154
+ and an `x_search` model choice.
155
+ - **Kimi** can ask for the Moonshot API region (`api.moonshot.ai` vs
156
+ `api.moonshot.cn`) and the default Kimi web-search model.
157
+ - Local onboarding DM scope behavior: [CLI Setup Reference](/start/wizard-cli-reference#outputs-and-internals).
158
+ - Fastest first chat: `Durar dashboard` (Control UI, no channel setup).
159
+ - Custom Provider: connect any OpenAI or Anthropic compatible endpoint,
160
+ including hosted providers not listed. Use Unknown to auto-detect.
161
+
162
+ ## Common follow-up commands
163
+
164
+ ```bash
165
+ Durar configure
166
+ Durar agents add <name>
167
+ ```
168
+
169
+ <Note>
170
+ `--json` does not imply non-interactive mode. Use `--non-interactive` for scripts.
171
+ </Note>
@@ -0,0 +1,65 @@
1
+ ---
2
+ summary: "CLI reference for `Durar pairing` (approve/list pairing requests)"
3
+ read_when:
4
+ - You’re using pairing-mode DMs and need to approve senders
5
+ title: "pairing"
6
+ ---
7
+
8
+ # `Durar pairing`
9
+
10
+ Approve or inspect DM pairing requests (for channels that support pairing).
11
+
12
+ Related:
13
+
14
+ - Pairing flow: [Pairing](/channels/pairing)
15
+
16
+ ## Commands
17
+
18
+ ```bash
19
+ Durar pairing list telegram
20
+ Durar pairing list --channel telegram --account work
21
+ Durar pairing list telegram --json
22
+
23
+ Durar pairing approve <code>
24
+ Durar pairing approve telegram <code>
25
+ Durar pairing approve --channel telegram --account work <code> --notify
26
+ ```
27
+
28
+ ## `pairing list`
29
+
30
+ List pending pairing requests for one channel.
31
+
32
+ Options:
33
+
34
+ - `[channel]`: positional channel id
35
+ - `--channel <channel>`: explicit channel id
36
+ - `--account <accountId>`: account id for multi-account channels
37
+ - `--json`: machine-readable output
38
+
39
+ Notes:
40
+
41
+ - If multiple pairing-capable channels are configured, you must provide a channel either positionally or with `--channel`.
42
+ - Extension channels are allowed as long as the channel id is valid.
43
+
44
+ ## `pairing approve`
45
+
46
+ Approve a pending pairing code and allow that sender.
47
+
48
+ Usage:
49
+
50
+ - `Durar pairing approve <channel> <code>`
51
+ - `Durar pairing approve --channel <channel> <code>`
52
+ - `Durar pairing approve <code>` when exactly one pairing-capable channel is configured
53
+
54
+ Options:
55
+
56
+ - `--channel <channel>`: explicit channel id
57
+ - `--account <accountId>`: account id for multi-account channels
58
+ - `--notify`: send a confirmation back to the requester on the same channel
59
+
60
+ ## Notes
61
+
62
+ - Channel input: pass it positionally (`pairing list telegram`) or with `--channel <channel>`.
63
+ - `pairing list` supports `--account <accountId>` for multi-account channels.
64
+ - `pairing approve` supports `--account <accountId>` and `--notify`.
65
+ - If only one pairing-capable channel is configured, `pairing approve <code>` is allowed.
@@ -0,0 +1,305 @@
1
+ ---
2
+ summary: "CLI reference for `Durar plugins` (list, install, marketplace, uninstall, enable/disable, doctor)"
3
+ read_when:
4
+ - You want to install or manage Gateway plugins or compatible bundles
5
+ - You want to debug plugin load failures
6
+ title: "plugins"
7
+ ---
8
+
9
+ # `Durar plugins`
10
+
11
+ Manage Gateway plugins/extensions, hook packs, and compatible bundles.
12
+
13
+ Related:
14
+
15
+ - Plugin system: [Plugins](/tools/plugin)
16
+ - Bundle compatibility: [Plugin bundles](/plugins/bundles)
17
+ - Plugin manifest + schema: [Plugin manifest](/plugins/manifest)
18
+ - Security hardening: [Security](/gateway/security)
19
+
20
+ ## Commands
21
+
22
+ ```bash
23
+ Durar plugins list
24
+ Durar plugins list --enabled
25
+ Durar plugins list --verbose
26
+ Durar plugins list --json
27
+ Durar plugins install <path-or-spec>
28
+ Durar plugins inspect <id>
29
+ Durar plugins inspect <id> --json
30
+ Durar plugins inspect --all
31
+ Durar plugins info <id>
32
+ Durar plugins enable <id>
33
+ Durar plugins disable <id>
34
+ Durar plugins uninstall <id>
35
+ Durar plugins doctor
36
+ Durar plugins update <id>
37
+ Durar plugins update --all
38
+ Durar plugins marketplace list <marketplace>
39
+ Durar plugins marketplace list <marketplace> --json
40
+ ```
41
+
42
+ Bundled plugins ship with Durar. Some are enabled by default (for example
43
+ bundled model providers, bundled speech providers, and the bundled browser
44
+ plugin); others require `plugins enable`.
45
+
46
+ Native Durar plugins must ship `Durar.plugin.json` with an inline JSON
47
+ Schema (`configSchema`, even if empty). Compatible bundles use their own bundle
48
+ manifests instead.
49
+
50
+ `plugins list` shows `Format: Durar` or `Format: bundle`. Verbose list/info
51
+ output also shows the bundle subtype (`codex`, `claude`, or `cursor`) plus detected bundle
52
+ capabilities.
53
+
54
+ ### Install
55
+
56
+ ```bash
57
+ Durar plugins install <package> # Durar Gateway first, then npm
58
+ Durar plugins install Durar Gateway:<package> # Durar Gateway only
59
+ Durar plugins install <package> --force # overwrite existing install
60
+ Durar plugins install <package> --pin # pin version
61
+ Durar plugins install <package> --dangerously-force-unsafe-install
62
+ Durar plugins install <path> # local path
63
+ Durar plugins install <plugin>@<marketplace> # marketplace
64
+ Durar plugins install <plugin> --marketplace <name> # marketplace (explicit)
65
+ Durar plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
66
+ ```
67
+
68
+ Bare package names are checked against Durar Gateway first, then npm. Security note:
69
+ treat plugin installs like running code. Prefer pinned versions.
70
+
71
+ If config is invalid, `plugins install` normally fails closed and tells you to
72
+ run `Durar doctor --fix` first. The only documented exception is a narrow
73
+ bundled-plugin recovery path for plugins that explicitly opt into
74
+ `Durar.install.allowInvalidConfigRecovery`.
75
+
76
+ `--force` reuses the existing install target and overwrites an already-installed
77
+ plugin or hook pack in place. Use it when you are intentionally reinstalling
78
+ the same id from a new local path, archive, Durar Gateway package, or npm artifact.
79
+
80
+ `--pin` applies to npm installs only. It is not supported with `--marketplace`,
81
+ because marketplace installs persist marketplace source metadata instead of an
82
+ npm spec.
83
+
84
+ `--dangerously-force-unsafe-install` is a break-glass option for false positives
85
+ in the built-in dangerous-code scanner. It allows the install to continue even
86
+ when the built-in scanner reports `critical` findings, but it does **not**
87
+ bypass plugin `before_install` hook policy blocks and does **not** bypass scan
88
+ failures.
89
+
90
+ This CLI flag applies to plugin install/update flows. Gateway-backed skill
91
+ dependency installs use the matching `dangerouslyForceUnsafeInstall` request
92
+ override, while `Durar skills install` remains a separate Durar Gateway skill
93
+ download/install flow.
94
+
95
+ `plugins install` is also the install surface for hook packs that expose
96
+ `Durar.hooks` in `package.json`. Use `Durar hooks` for filtered hook
97
+ visibility and per-hook enablement, not package installation.
98
+
99
+ Npm specs are **registry-only** (package name + optional **exact version** or
100
+ **dist-tag**). Git/URL/file specs and semver ranges are rejected. Dependency
101
+ installs run with `--ignore-scripts` for safety.
102
+
103
+ Bare specs and `@latest` stay on the stable track. If npm resolves either of
104
+ those to a prerelease, Durar stops and asks you to opt in explicitly with a
105
+ prerelease tag such as `@beta`/`@rc` or an exact prerelease version such as
106
+ `@1.2.3-beta.4`.
107
+
108
+ If a bare install spec matches a bundled plugin id (for example `diffs`), Durar
109
+ installs the bundled plugin directly. To install an npm package with the same
110
+ name, use an explicit scoped spec (for example `@scope/diffs`).
111
+
112
+ Supported archives: `.zip`, `.tgz`, `.tar.gz`, `.tar`.
113
+
114
+ Claude marketplace installs are also supported.
115
+
116
+ Durar Gateway installs use an explicit `Durar Gateway:<package>` locator:
117
+
118
+ ```bash
119
+ Durar plugins install Durar Gateway:Durar-codex-app-server
120
+ Durar plugins install Durar Gateway:Durar-codex-app-server@1.2.3
121
+ ```
122
+
123
+ Durar now also prefers Durar Gateway for bare npm-safe plugin specs. It only falls
124
+ back to npm if Durar Gateway does not have that package or version:
125
+
126
+ ```bash
127
+ Durar plugins install Durar-codex-app-server
128
+ ```
129
+
130
+ Durar downloads the package archive from Durar Gateway, checks the advertised
131
+ plugin API / minimum gateway compatibility, then installs it through the normal
132
+ archive path. Recorded installs keep their Durar Gateway source metadata for later
133
+ updates.
134
+
135
+ Use `plugin@marketplace` shorthand when the marketplace name exists in Claude's
136
+ local registry cache at `~/.claude/plugins/known_marketplaces.json`:
137
+
138
+ ```bash
139
+ Durar plugins marketplace list <marketplace-name>
140
+ Durar plugins install <plugin-name>@<marketplace-name>
141
+ ```
142
+
143
+ Use `--marketplace` when you want to pass the marketplace source explicitly:
144
+
145
+ ```bash
146
+ Durar plugins install <plugin-name> --marketplace <marketplace-name>
147
+ Durar plugins install <plugin-name> --marketplace <owner/repo>
148
+ Durar plugins install <plugin-name> --marketplace https://github.com/<owner>/<repo>
149
+ Durar plugins install <plugin-name> --marketplace ./my-marketplace
150
+ ```
151
+
152
+ Marketplace sources can be:
153
+
154
+ - a Claude known-marketplace name from `~/.claude/plugins/known_marketplaces.json`
155
+ - a local marketplace root or `marketplace.json` path
156
+ - a GitHub repo shorthand such as `owner/repo`
157
+ - a GitHub repo URL such as `https://github.com/owner/repo`
158
+ - a git URL
159
+
160
+ For remote marketplaces loaded from GitHub or git, plugin entries must stay
161
+ inside the cloned marketplace repo. Durar accepts relative path sources from
162
+ that repo and rejects HTTP(S), absolute-path, git, GitHub, and other non-path
163
+ plugin sources from remote manifests.
164
+
165
+ For local paths and archives, Durar auto-detects:
166
+
167
+ - native Durar plugins (`Durar.plugin.json`)
168
+ - Codex-compatible bundles (`.codex-plugin/plugin.json`)
169
+ - Claude-compatible bundles (`.claude-plugin/plugin.json` or the default Claude
170
+ component layout)
171
+ - Cursor-compatible bundles (`.cursor-plugin/plugin.json`)
172
+
173
+ Compatible bundles install into the normal extensions root and participate in
174
+ the same list/info/enable/disable flow. Today, bundle skills, Claude
175
+ command-skills, Claude `settings.json` defaults, Claude `.lsp.json` /
176
+ manifest-declared `lspServers` defaults, Cursor command-skills, and compatible
177
+ Codex hook directories are supported; other detected bundle capabilities are
178
+ shown in diagnostics/info but are not yet wired into runtime execution.
179
+
180
+ ### List
181
+
182
+ ```bash
183
+ Durar plugins list
184
+ Durar plugins list --enabled
185
+ Durar plugins list --verbose
186
+ Durar plugins list --json
187
+ ```
188
+
189
+ Use `--enabled` to show only loaded plugins. Use `--verbose` to switch from the
190
+ table view to per-plugin detail lines with source/origin/version/activation
191
+ metadata. Use `--json` for machine-readable inventory plus registry
192
+ diagnostics.
193
+
194
+ Use `--link` to avoid copying a local directory (adds to `plugins.load.paths`):
195
+
196
+ ```bash
197
+ Durar plugins install -l ./my-plugin
198
+ ```
199
+
200
+ `--force` is not supported with `--link` because linked installs reuse the
201
+ source path instead of copying over a managed install target.
202
+
203
+ Use `--pin` on npm installs to save the resolved exact spec (`name@version`) in
204
+ `plugins.installs` while keeping the default behavior unpinned.
205
+
206
+ ### Uninstall
207
+
208
+ ```bash
209
+ Durar plugins uninstall <id>
210
+ Durar plugins uninstall <id> --dry-run
211
+ Durar plugins uninstall <id> --keep-files
212
+ ```
213
+
214
+ `uninstall` removes plugin records from `plugins.entries`, `plugins.installs`,
215
+ the plugin allowlist, and linked `plugins.load.paths` entries when applicable.
216
+ For active memory plugins, the memory slot resets to `memory-core`.
217
+
218
+ By default, uninstall also removes the plugin install directory under the active
219
+ state-dir plugin root. Use
220
+ `--keep-files` to keep files on disk.
221
+
222
+ `--keep-config` is supported as a deprecated alias for `--keep-files`.
223
+
224
+ ### Update
225
+
226
+ ```bash
227
+ Durar plugins update <id-or-npm-spec>
228
+ Durar plugins update --all
229
+ Durar plugins update <id-or-npm-spec> --dry-run
230
+ Durar plugins update @Durar/voice-call@beta
231
+ Durar plugins update Durar-codex-app-server --dangerously-force-unsafe-install
232
+ ```
233
+
234
+ Updates apply to tracked installs in `plugins.installs` and tracked hook-pack
235
+ installs in `hooks.internal.installs`.
236
+
237
+ When you pass a plugin id, Durar reuses the recorded install spec for that
238
+ plugin. That means previously stored dist-tags such as `@beta` and exact pinned
239
+ versions continue to be used on later `update <id>` runs.
240
+
241
+ For npm installs, you can also pass an explicit npm package spec with a dist-tag
242
+ or exact version. Durar resolves that package name back to the tracked plugin
243
+ record, updates that installed plugin, and records the new npm spec for future
244
+ id-based updates.
245
+
246
+ When a stored integrity hash exists and the fetched artifact hash changes,
247
+ Durar prints a warning and asks for confirmation before proceeding. Use
248
+ global `--yes` to bypass prompts in CI/non-interactive runs.
249
+
250
+ `--dangerously-force-unsafe-install` is also available on `plugins update` as a
251
+ break-glass override for built-in dangerous-code scan false positives during
252
+ plugin updates. It still does not bypass plugin `before_install` policy blocks
253
+ or scan-failure blocking, and it only applies to plugin updates, not hook-pack
254
+ updates.
255
+
256
+ ### Inspect
257
+
258
+ ```bash
259
+ Durar plugins inspect <id>
260
+ Durar plugins inspect <id> --json
261
+ ```
262
+
263
+ Deep introspection for a single plugin. Shows identity, load status, source,
264
+ registered capabilities, hooks, tools, commands, services, gateway methods,
265
+ HTTP routes, policy flags, diagnostics, install metadata, bundle capabilities,
266
+ and any detected MCP or LSP server support.
267
+
268
+ Each plugin is classified by what it actually registers at runtime:
269
+
270
+ - **plain-capability** — one capability type (e.g. a provider-only plugin)
271
+ - **hybrid-capability** — multiple capability types (e.g. text + speech + images)
272
+ - **hook-only** — only hooks, no capabilities or surfaces
273
+ - **non-capability** — tools/commands/services but no capabilities
274
+
275
+ See [Plugin shapes](/plugins/architecture#plugin-shapes) for more on the capability model.
276
+
277
+ The `--json` flag outputs a machine-readable report suitable for scripting and
278
+ auditing.
279
+
280
+ `inspect --all` renders a fleet-wide table with shape, capability kinds,
281
+ compatibility notices, bundle capabilities, and hook summary columns.
282
+
283
+ `info` is an alias for `inspect`.
284
+
285
+ ### Doctor
286
+
287
+ ```bash
288
+ Durar plugins doctor
289
+ ```
290
+
291
+ `doctor` reports plugin load errors, manifest/discovery diagnostics, and
292
+ compatibility notices. When everything is clean it prints `No plugin issues
293
+ detected.`
294
+
295
+ ### Marketplace
296
+
297
+ ```bash
298
+ Durar plugins marketplace list <source>
299
+ Durar plugins marketplace list <source> --json
300
+ ```
301
+
302
+ Marketplace list accepts a local marketplace path, a `marketplace.json` path, a
303
+ GitHub shorthand like `owner/repo`, a GitHub repo URL, or a git URL. `--json`
304
+ prints the resolved source label plus the parsed marketplace manifest and
305
+ plugin entries.
package/docs/cli/qr.md ADDED
@@ -0,0 +1,52 @@
1
+ ---
2
+ summary: "CLI reference for `Durar qr` (generate mobile pairing QR + setup code)"
3
+ read_when:
4
+ - You want to pair a mobile node app with a gateway quickly
5
+ - You need setup-code output for remote/manual sharing
6
+ title: "qr"
7
+ ---
8
+
9
+ # `Durar qr`
10
+
11
+ Generate a mobile pairing QR and setup code from your current Gateway configuration.
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ Durar qr
17
+ Durar qr --setup-code-only
18
+ Durar qr --json
19
+ Durar qr --remote
20
+ Durar qr --url wss://gateway.example/ws
21
+ ```
22
+
23
+ ## Options
24
+
25
+ - `--remote`: prefer `gateway.remote.url`; if it is unset, `gateway.tailscale.mode=serve|funnel` can still provide the remote public URL
26
+ - `--url <url>`: override gateway URL used in payload
27
+ - `--public-url <url>`: override public URL used in payload
28
+ - `--token <token>`: override which gateway token the bootstrap flow authenticates against
29
+ - `--password <password>`: override which gateway password the bootstrap flow authenticates against
30
+ - `--setup-code-only`: print only setup code
31
+ - `--no-ascii`: skip ASCII QR rendering
32
+ - `--json`: emit JSON (`setupCode`, `gatewayUrl`, `auth`, `urlSource`)
33
+
34
+ ## Notes
35
+
36
+ - `--token` and `--password` are mutually exclusive.
37
+ - The setup code itself now carries an opaque short-lived `bootstrapToken`, not the shared gateway token/password.
38
+ - In the built-in node/operator bootstrap flow, the primary node token still lands with `scopes: []`.
39
+ - If bootstrap handoff also issues an operator token, it stays bounded to the bootstrap allowlist: `operator.approvals`, `operator.read`, `operator.talk.secrets`, `operator.write`.
40
+ - Bootstrap scope checks are role-prefixed. That operator allowlist only satisfies operator requests; non-operator roles still need scopes under their own role prefix.
41
+ - Mobile pairing fails closed for Tailscale/public `ws://` gateway URLs. Private LAN `ws://` remains supported, but Tailscale/public mobile routes should use Tailscale Serve/Funnel or a `wss://` gateway URL.
42
+ - With `--remote`, Durar requires either `gateway.remote.url` or
43
+ `gateway.tailscale.mode=serve|funnel`.
44
+ - With `--remote`, if effectively active remote credentials are configured as SecretRefs and you do not pass `--token` or `--password`, the command resolves them from the active gateway snapshot. If gateway is unavailable, the command fails fast.
45
+ - Without `--remote`, local gateway auth SecretRefs are resolved when no CLI auth override is passed:
46
+ - `gateway.auth.token` resolves when token auth can win (explicit `gateway.auth.mode="token"` or inferred mode where no password source wins).
47
+ - `gateway.auth.password` resolves when password auth can win (explicit `gateway.auth.mode="password"` or inferred mode with no winning token from auth/env).
48
+ - If both `gateway.auth.token` and `gateway.auth.password` are configured (including SecretRefs) and `gateway.auth.mode` is unset, setup-code resolution fails until mode is set explicitly.
49
+ - Gateway version skew note: this command path requires a gateway that supports `secrets.resolve`; older gateways return an unknown-method error.
50
+ - After scanning, approve device pairing with:
51
+ - `Durar devices list`
52
+ - `Durar devices approve <requestId>`
@@ -0,0 +1,35 @@
1
+ ---
2
+ summary: "CLI reference for `Durar reset` (reset local state/config)"
3
+ read_when:
4
+ - You want to wipe local state while keeping the CLI installed
5
+ - You want a dry-run of what would be removed
6
+ title: "reset"
7
+ ---
8
+
9
+ # `Durar reset`
10
+
11
+ Reset local config/state (keeps the CLI installed).
12
+
13
+ Options:
14
+
15
+ - `--scope <scope>`: `config`, `config+creds+sessions`, or `full`
16
+ - `--yes`: skip confirmation prompts
17
+ - `--non-interactive`: disable prompts; requires `--scope` and `--yes`
18
+ - `--dry-run`: print actions without removing files
19
+
20
+ Examples:
21
+
22
+ ```bash
23
+ Durar backup create
24
+ Durar reset
25
+ Durar reset --dry-run
26
+ Durar reset --scope config --yes --non-interactive
27
+ Durar reset --scope config+creds+sessions --yes --non-interactive
28
+ Durar reset --scope full --yes --non-interactive
29
+ ```
30
+
31
+ Notes:
32
+
33
+ - Run `Durar backup create` first if you want a restorable snapshot before removing local state.
34
+ - If you omit `--scope`, `Durar reset` uses an interactive prompt to choose what to remove.
35
+ - `--non-interactive` is only valid when both `--scope` and `--yes` are set.