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,212 @@
1
+ ---
2
+ summary: "Install Durar — installer script, npm/pnpm/bun, from source, Docker, and more"
3
+ read_when:
4
+ - You need an install method other than the Getting Started quickstart
5
+ - You want to deploy to a cloud platform
6
+ - You need to update, migrate, or uninstall
7
+ title: "Install"
8
+ ---
9
+
10
+ # Install
11
+
12
+ ## Recommended: installer script
13
+
14
+ The fastest way to install. It detects your OS, installs Node if needed, installs Durar, and launches onboarding.
15
+
16
+ <Tabs>
17
+ <Tab title="macOS / Linux / WSL2">
18
+ ```bash
19
+ curl -fsSL https://Durar.ai/install.sh | bash
20
+ ```
21
+ </Tab>
22
+ <Tab title="Windows (PowerShell)">
23
+ ```powershell
24
+ iwr -useb https://Durar.ai/install.ps1 | iex
25
+ ```
26
+ </Tab>
27
+ </Tabs>
28
+
29
+ To install without running onboarding:
30
+
31
+ <Tabs>
32
+ <Tab title="macOS / Linux / WSL2">
33
+ ```bash
34
+ curl -fsSL https://Durar.ai/install.sh | bash -s -- --no-onboard
35
+ ```
36
+ </Tab>
37
+ <Tab title="Windows (PowerShell)">
38
+ ```powershell
39
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -NoOnboard
40
+ ```
41
+ </Tab>
42
+ </Tabs>
43
+
44
+ For all flags and CI/automation options, see [Installer internals](/install/installer).
45
+
46
+ ## System requirements
47
+
48
+ - **Node 24** (recommended) or Node 22.14+ — the installer script handles this automatically
49
+ - **macOS, Linux, or Windows** — both native Windows and WSL2 are supported; WSL2 is more stable. See [Windows](/platforms/windows).
50
+ - `pnpm` is only needed if you build from source
51
+
52
+ ## Alternative install methods
53
+
54
+ ### Local prefix installer (`install-cli.sh`)
55
+
56
+ Use this when you want Durar and Node kept under a local prefix such as
57
+ `~/.Durar`, without depending on a system-wide Node install:
58
+
59
+ ```bash
60
+ curl -fsSL https://Durar.ai/install-cli.sh | bash
61
+ ```
62
+
63
+ It supports npm installs by default, plus git-checkout installs under the same
64
+ prefix flow. Full reference: [Installer internals](/install/installer#install-clish).
65
+
66
+ ### npm, pnpm, or bun
67
+
68
+ If you already manage Node yourself:
69
+
70
+ <Tabs>
71
+ <Tab title="npm">
72
+ ```bash
73
+ npm install -g Durar@latest
74
+ Durar onboard --install-daemon
75
+ ```
76
+ </Tab>
77
+ <Tab title="pnpm">
78
+ ```bash
79
+ pnpm add -g Durar@latest
80
+ pnpm approve-builds -g
81
+ Durar onboard --install-daemon
82
+ ```
83
+
84
+ <Note>
85
+ pnpm requires explicit approval for packages with build scripts. Run `pnpm approve-builds -g` after the first install.
86
+ </Note>
87
+
88
+ </Tab>
89
+ <Tab title="bun">
90
+ ```bash
91
+ bun add -g Durar@latest
92
+ Durar onboard --install-daemon
93
+ ```
94
+
95
+ <Note>
96
+ Bun is supported for the global CLI install path. For the Gateway runtime, Node remains the recommended daemon runtime.
97
+ </Note>
98
+
99
+ </Tab>
100
+ </Tabs>
101
+
102
+ <Accordion title="Troubleshooting: sharp build errors (npm)">
103
+ If `sharp` fails due to a globally installed libvips:
104
+
105
+ ```bash
106
+ SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g Durar@latest
107
+ ```
108
+
109
+ </Accordion>
110
+
111
+ ### From source
112
+
113
+ For contributors or anyone who wants to run from a local checkout:
114
+
115
+ ```bash
116
+ git clone https://github.com/openclaw/openclaw.git
117
+ cd Durar
118
+ pnpm install && pnpm ui:build && pnpm build
119
+ pnpm link --global
120
+ Durar onboard --install-daemon
121
+ ```
122
+
123
+ Or skip the link and use `pnpm Durar ...` from inside the repo. See [Setup](/start/setup) for full development workflows.
124
+
125
+ ### Install from GitHub main
126
+
127
+ ```bash
128
+ npm install -g github:Durar/Durar#main
129
+ ```
130
+
131
+ ### Containers and package managers
132
+
133
+ <CardGroup cols={2}>
134
+ <Card title="Docker" href="/install/docker" icon="container">
135
+ Containerized or headless deployments.
136
+ </Card>
137
+ <Card title="Podman" href="/install/podman" icon="container">
138
+ Rootless container alternative to Docker.
139
+ </Card>
140
+ <Card title="Nix" href="/install/nix" icon="snowflake">
141
+ Declarative install via Nix flake.
142
+ </Card>
143
+ <Card title="Ansible" href="/install/ansible" icon="server">
144
+ Automated fleet provisioning.
145
+ </Card>
146
+ <Card title="Bun" href="/install/bun" icon="zap">
147
+ CLI-only usage via the Bun runtime.
148
+ </Card>
149
+ </CardGroup>
150
+
151
+ ## Verify the install
152
+
153
+ ```bash
154
+ Durar --version # confirm the CLI is available
155
+ Durar doctor # check for config issues
156
+ Durar gateway status # verify the Gateway is running
157
+ ```
158
+
159
+ If you want managed startup after install:
160
+
161
+ - macOS: LaunchAgent via `Durar onboard --install-daemon` or `Durar gateway install`
162
+ - Linux/WSL2: systemd user service via the same commands
163
+ - Native Windows: Scheduled Task first, with a per-user Startup-folder login item fallback if task creation is denied
164
+
165
+ ## Hosting and deployment
166
+
167
+ Deploy Durar on a cloud server or VPS:
168
+
169
+ <CardGroup cols={3}>
170
+ <Card title="VPS" href="/vps">Any Linux VPS</Card>
171
+ <Card title="Docker VM" href="/install/docker-vm-runtime">Shared Docker steps</Card>
172
+ <Card title="Kubernetes" href="/install/kubernetes">K8s</Card>
173
+ <Card title="Fly.io" href="/install/fly">Fly.io</Card>
174
+ <Card title="Hetzner" href="/install/hetzner">Hetzner</Card>
175
+ <Card title="GCP" href="/install/gcp">Google Cloud</Card>
176
+ <Card title="Azure" href="/install/azure">Azure</Card>
177
+ <Card title="Railway" href="/install/railway">Railway</Card>
178
+ <Card title="Render" href="/install/render">Render</Card>
179
+ <Card title="Northflank" href="/install/northflank">Northflank</Card>
180
+ </CardGroup>
181
+
182
+ ## Update, migrate, or uninstall
183
+
184
+ <CardGroup cols={3}>
185
+ <Card title="Updating" href="/install/updating" icon="refresh-cw">
186
+ Keep Durar up to date.
187
+ </Card>
188
+ <Card title="Migrating" href="/install/migrating" icon="arrow-right">
189
+ Move to a new machine.
190
+ </Card>
191
+ <Card title="Uninstall" href="/install/uninstall" icon="trash-2">
192
+ Remove Durar completely.
193
+ </Card>
194
+ </CardGroup>
195
+
196
+ ## Troubleshooting: `Durar` not found
197
+
198
+ If the install succeeded but `Durar` is not found in your terminal:
199
+
200
+ ```bash
201
+ node -v # Node installed?
202
+ npm prefix -g # Where are global packages?
203
+ echo "$PATH" # Is the global bin dir in PATH?
204
+ ```
205
+
206
+ If `$(npm prefix -g)/bin` is not in your `$PATH`, add it to your shell startup file (`~/.zshrc` or `~/.bashrc`):
207
+
208
+ ```bash
209
+ export PATH="$(npm prefix -g)/bin:$PATH"
210
+ ```
211
+
212
+ Then open a new terminal. See [Node setup](/install/node) for more details.
@@ -0,0 +1,443 @@
1
+ ---
2
+ summary: "How the installer scripts work (install.sh, install-cli.sh, install.ps1), flags, and automation"
3
+ read_when:
4
+ - You want to understand `Durar.ai/install.sh`
5
+ - You want to automate installs (CI / headless)
6
+ - You want to install from a GitHub checkout
7
+ title: "Installer Internals"
8
+ ---
9
+
10
+ # Installer internals
11
+
12
+ Durar ships three installer scripts, served from `Durar.ai`.
13
+
14
+ | Script | Platform | What it does |
15
+ | ---------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------- |
16
+ | [`install.sh`](#installsh) | macOS / Linux / WSL | Installs Node if needed, installs Durar via npm (default) or git, and can run onboarding. |
17
+ | [`install-cli.sh`](#install-clish) | macOS / Linux / WSL | Installs Node + Durar into a local prefix (`~/.Durar`) with npm or git checkout modes. No root required. |
18
+ | [`install.ps1`](#installps1) | Windows (PowerShell) | Installs Node if needed, installs Durar via npm (default) or git, and can run onboarding. |
19
+
20
+ ## Quick commands
21
+
22
+ <Tabs>
23
+ <Tab title="install.sh">
24
+ ```bash
25
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash
26
+ ```
27
+
28
+ ```bash
29
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash -s -- --help
30
+ ```
31
+
32
+ </Tab>
33
+ <Tab title="install-cli.sh">
34
+ ```bash
35
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash
36
+ ```
37
+
38
+ ```bash
39
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash -s -- --help
40
+ ```
41
+
42
+ </Tab>
43
+ <Tab title="install.ps1">
44
+ ```powershell
45
+ iwr -useb https://Durar.ai/install.ps1 | iex
46
+ ```
47
+
48
+ ```powershell
49
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -Tag beta -NoOnboard -DryRun
50
+ ```
51
+
52
+ </Tab>
53
+ </Tabs>
54
+
55
+ <Note>
56
+ If install succeeds but `Durar` is not found in a new terminal, see [Node.js troubleshooting](/install/node#troubleshooting).
57
+ </Note>
58
+
59
+ ---
60
+
61
+ <a id="installsh"></a>
62
+
63
+ ## install.sh
64
+
65
+ <Tip>
66
+ Recommended for most interactive installs on macOS/Linux/WSL.
67
+ </Tip>
68
+
69
+ ### Flow (install.sh)
70
+
71
+ <Steps>
72
+ <Step title="Detect OS">
73
+ Supports macOS and Linux (including WSL). If macOS is detected, installs Homebrew if missing.
74
+ </Step>
75
+ <Step title="Ensure Node.js 24 by default">
76
+ Checks Node version and installs Node 24 if needed (Homebrew on macOS, NodeSource setup scripts on Linux apt/dnf/yum). Durar still supports Node 22 LTS, currently `22.14+`, for compatibility.
77
+ </Step>
78
+ <Step title="Ensure Git">
79
+ Installs Git if missing.
80
+ </Step>
81
+ <Step title="Install Durar">
82
+ - `npm` method (default): global npm install
83
+ - `git` method: clone/update repo, install deps with pnpm, build, then install wrapper at `~/.local/bin/Durar`
84
+ </Step>
85
+ <Step title="Post-install tasks">
86
+ - Refreshes a loaded gateway service best-effort (`Durar gateway install --force`, then restart)
87
+ - Runs `Durar doctor --non-interactive` on upgrades and git installs (best effort)
88
+ - Attempts onboarding when appropriate (TTY available, onboarding not disabled, and bootstrap/config checks pass)
89
+ - Defaults `SHARP_IGNORE_GLOBAL_LIBVIPS=1`
90
+ </Step>
91
+ </Steps>
92
+
93
+ ### Source checkout detection
94
+
95
+ If run inside an Durar checkout (`package.json` + `pnpm-workspace.yaml`), the script offers:
96
+
97
+ - use checkout (`git`), or
98
+ - use global install (`npm`)
99
+
100
+ If no TTY is available and no install method is set, it defaults to `npm` and warns.
101
+
102
+ The script exits with code `2` for invalid method selection or invalid `--install-method` values.
103
+
104
+ ### Examples (install.sh)
105
+
106
+ <Tabs>
107
+ <Tab title="Default">
108
+ ```bash
109
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash
110
+ ```
111
+ </Tab>
112
+ <Tab title="Skip onboarding">
113
+ ```bash
114
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash -s -- --no-onboard
115
+ ```
116
+ </Tab>
117
+ <Tab title="Git install">
118
+ ```bash
119
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash -s -- --install-method git
120
+ ```
121
+ </Tab>
122
+ <Tab title="GitHub main via npm">
123
+ ```bash
124
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash -s -- --version main
125
+ ```
126
+ </Tab>
127
+ <Tab title="Dry run">
128
+ ```bash
129
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash -s -- --dry-run
130
+ ```
131
+ </Tab>
132
+ </Tabs>
133
+
134
+ <AccordionGroup>
135
+ <Accordion title="Flags reference">
136
+
137
+ | Flag | Description |
138
+ | ------------------------------------- | ---------------------------------------------------------- |
139
+ | `--install-method npm\|git` | Choose install method (default: `npm`). Alias: `--method` |
140
+ | `--npm` | Shortcut for npm method |
141
+ | `--git` | Shortcut for git method. Alias: `--github` |
142
+ | `--version <version\|dist-tag\|spec>` | npm version, dist-tag, or package spec (default: `latest`) |
143
+ | `--beta` | Use beta dist-tag if available, else fallback to `latest` |
144
+ | `--git-dir <path>` | Checkout directory (default: `~/Durar`). Alias: `--dir` |
145
+ | `--no-git-update` | Skip `git pull` for existing checkout |
146
+ | `--no-prompt` | Disable prompts |
147
+ | `--no-onboard` | Skip onboarding |
148
+ | `--onboard` | Enable onboarding |
149
+ | `--dry-run` | Print actions without applying changes |
150
+ | `--verbose` | Enable debug output (`set -x`, npm notice-level logs) |
151
+ | `--help` | Show usage (`-h`) |
152
+
153
+ </Accordion>
154
+
155
+ <Accordion title="Environment variables reference">
156
+
157
+ | Variable | Description |
158
+ | ------------------------------------------------------- | --------------------------------------------- |
159
+ | `Durar_INSTALL_METHOD=git\|npm` | Install method |
160
+ | `Durar_VERSION=latest\|next\|main\|<semver>\|<spec>` | npm version, dist-tag, or package spec |
161
+ | `Durar_BETA=0\|1` | Use beta if available |
162
+ | `Durar_GIT_DIR=<path>` | Checkout directory |
163
+ | `Durar_GIT_UPDATE=0\|1` | Toggle git updates |
164
+ | `Durar_NO_PROMPT=1` | Disable prompts |
165
+ | `Durar_NO_ONBOARD=1` | Skip onboarding |
166
+ | `Durar_DRY_RUN=1` | Dry run mode |
167
+ | `Durar_VERBOSE=1` | Debug mode |
168
+ | `Durar_NPM_LOGLEVEL=error\|warn\|notice` | npm log level |
169
+ | `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Control sharp/libvips behavior (default: `1`) |
170
+
171
+ </Accordion>
172
+ </AccordionGroup>
173
+
174
+ ---
175
+
176
+ <a id="install-clish"></a>
177
+
178
+ ## install-cli.sh
179
+
180
+ <Info>
181
+ Designed for environments where you want everything under a local prefix
182
+ (default `~/.Durar`) and no system Node dependency. Supports npm installs
183
+ by default, plus git-checkout installs under the same prefix flow.
184
+ </Info>
185
+
186
+ ### Flow (install-cli.sh)
187
+
188
+ <Steps>
189
+ <Step title="Install local Node runtime">
190
+ Downloads a pinned supported Node LTS tarball (the version is embedded in the script and updated independently) to `<prefix>/tools/node-v<version>` and verifies SHA-256.
191
+ </Step>
192
+ <Step title="Ensure Git">
193
+ If Git is missing, attempts install via apt/dnf/yum on Linux or Homebrew on macOS.
194
+ </Step>
195
+ <Step title="Install Durar under prefix">
196
+ - `npm` method (default): installs under the prefix with npm, then writes wrapper to `<prefix>/bin/Durar`
197
+ - `git` method: clones/updates a checkout (default `~/Durar`) and still writes the wrapper to `<prefix>/bin/Durar`
198
+ </Step>
199
+ <Step title="Refresh loaded gateway service">
200
+ If a gateway service is already loaded from that same prefix, the script runs
201
+ `Durar gateway install --force`, then `Durar gateway restart`, and
202
+ probes gateway health best-effort.
203
+ </Step>
204
+ </Steps>
205
+
206
+ ### Examples (install-cli.sh)
207
+
208
+ <Tabs>
209
+ <Tab title="Default">
210
+ ```bash
211
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash
212
+ ```
213
+ </Tab>
214
+ <Tab title="Custom prefix + version">
215
+ ```bash
216
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash -s -- --prefix /opt/Durar --version latest
217
+ ```
218
+ </Tab>
219
+ <Tab title="Git install">
220
+ ```bash
221
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/Durar
222
+ ```
223
+ </Tab>
224
+ <Tab title="Automation JSON output">
225
+ ```bash
226
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash -s -- --json --prefix /opt/Durar
227
+ ```
228
+ </Tab>
229
+ <Tab title="Run onboarding">
230
+ ```bash
231
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash -s -- --onboard
232
+ ```
233
+ </Tab>
234
+ </Tabs>
235
+
236
+ <AccordionGroup>
237
+ <Accordion title="Flags reference">
238
+
239
+ | Flag | Description |
240
+ | --------------------------- | ------------------------------------------------------------------------------- |
241
+ | `--prefix <path>` | Install prefix (default: `~/.Durar`) |
242
+ | `--install-method npm\|git` | Choose install method (default: `npm`). Alias: `--method` |
243
+ | `--npm` | Shortcut for npm method |
244
+ | `--git`, `--github` | Shortcut for git method |
245
+ | `--git-dir <path>` | Git checkout directory (default: `~/Durar`). Alias: `--dir` |
246
+ | `--version <ver>` | Durar version or dist-tag (default: `latest`) |
247
+ | `--node-version <ver>` | Node version (default: `22.22.0`) |
248
+ | `--json` | Emit NDJSON events |
249
+ | `--onboard` | Run `Durar onboard` after install |
250
+ | `--no-onboard` | Skip onboarding (default) |
251
+ | `--set-npm-prefix` | On Linux, force npm prefix to `~/.npm-global` if current prefix is not writable |
252
+ | `--help` | Show usage (`-h`) |
253
+
254
+ </Accordion>
255
+
256
+ <Accordion title="Environment variables reference">
257
+
258
+ | Variable | Description |
259
+ | ------------------------------------------- | --------------------------------------------- |
260
+ | `Durar_PREFIX=<path>` | Install prefix |
261
+ | `Durar_INSTALL_METHOD=git\|npm` | Install method |
262
+ | `Durar_VERSION=<ver>` | Durar version or dist-tag |
263
+ | `Durar_NODE_VERSION=<ver>` | Node version |
264
+ | `Durar_GIT_DIR=<path>` | Git checkout directory for git installs |
265
+ | `Durar_GIT_UPDATE=0\|1` | Toggle git updates for existing checkouts |
266
+ | `Durar_NO_ONBOARD=1` | Skip onboarding |
267
+ | `Durar_NPM_LOGLEVEL=error\|warn\|notice` | npm log level |
268
+ | `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Control sharp/libvips behavior (default: `1`) |
269
+
270
+ </Accordion>
271
+ </AccordionGroup>
272
+
273
+ ---
274
+
275
+ <a id="installps1"></a>
276
+
277
+ ## install.ps1
278
+
279
+ ### Flow (install.ps1)
280
+
281
+ <Steps>
282
+ <Step title="Ensure PowerShell + Windows environment">
283
+ Requires PowerShell 5+.
284
+ </Step>
285
+ <Step title="Ensure Node.js 24 by default">
286
+ If missing, attempts install via winget, then Chocolatey, then Scoop. Node 22 LTS, currently `22.14+`, remains supported for compatibility.
287
+ </Step>
288
+ <Step title="Install Durar">
289
+ - `npm` method (default): global npm install using selected `-Tag`
290
+ - `git` method: clone/update repo, install/build with pnpm, and install wrapper at `%USERPROFILE%\.local\bin\Durar.cmd`
291
+ </Step>
292
+ <Step title="Post-install tasks">
293
+ - Adds needed bin directory to user PATH when possible
294
+ - Refreshes a loaded gateway service best-effort (`Durar gateway install --force`, then restart)
295
+ - Runs `Durar doctor --non-interactive` on upgrades and git installs (best effort)
296
+ </Step>
297
+ </Steps>
298
+
299
+ ### Examples (install.ps1)
300
+
301
+ <Tabs>
302
+ <Tab title="Default">
303
+ ```powershell
304
+ iwr -useb https://Durar.ai/install.ps1 | iex
305
+ ```
306
+ </Tab>
307
+ <Tab title="Git install">
308
+ ```powershell
309
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -InstallMethod git
310
+ ```
311
+ </Tab>
312
+ <Tab title="GitHub main via npm">
313
+ ```powershell
314
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -Tag main
315
+ ```
316
+ </Tab>
317
+ <Tab title="Custom git directory">
318
+ ```powershell
319
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -InstallMethod git -GitDir "C:\Durar"
320
+ ```
321
+ </Tab>
322
+ <Tab title="Dry run">
323
+ ```powershell
324
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -DryRun
325
+ ```
326
+ </Tab>
327
+ <Tab title="Debug trace">
328
+ ```powershell
329
+ # install.ps1 has no dedicated -Verbose flag yet.
330
+ Set-PSDebug -Trace 1
331
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -NoOnboard
332
+ Set-PSDebug -Trace 0
333
+ ```
334
+ </Tab>
335
+ </Tabs>
336
+
337
+ <AccordionGroup>
338
+ <Accordion title="Flags reference">
339
+
340
+ | Flag | Description |
341
+ | --------------------------- | ---------------------------------------------------------- |
342
+ | `-InstallMethod npm\|git` | Install method (default: `npm`) |
343
+ | `-Tag <tag\|version\|spec>` | npm dist-tag, version, or package spec (default: `latest`) |
344
+ | `-GitDir <path>` | Checkout directory (default: `%USERPROFILE%\Durar`) |
345
+ | `-NoOnboard` | Skip onboarding |
346
+ | `-NoGitUpdate` | Skip `git pull` |
347
+ | `-DryRun` | Print actions only |
348
+
349
+ </Accordion>
350
+
351
+ <Accordion title="Environment variables reference">
352
+
353
+ | Variable | Description |
354
+ | ---------------------------------- | ------------------ |
355
+ | `Durar_INSTALL_METHOD=git\|npm` | Install method |
356
+ | `Durar_GIT_DIR=<path>` | Checkout directory |
357
+ | `Durar_NO_ONBOARD=1` | Skip onboarding |
358
+ | `Durar_GIT_UPDATE=0` | Disable git pull |
359
+ | `Durar_DRY_RUN=1` | Dry run mode |
360
+
361
+ </Accordion>
362
+ </AccordionGroup>
363
+
364
+ <Note>
365
+ If `-InstallMethod git` is used and Git is missing, the script exits and prints the Git for Windows link.
366
+ </Note>
367
+
368
+ ---
369
+
370
+ ## CI and automation
371
+
372
+ Use non-interactive flags/env vars for predictable runs.
373
+
374
+ <Tabs>
375
+ <Tab title="install.sh (non-interactive npm)">
376
+ ```bash
377
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash -s -- --no-prompt --no-onboard
378
+ ```
379
+ </Tab>
380
+ <Tab title="install.sh (non-interactive git)">
381
+ ```bash
382
+ Durar_INSTALL_METHOD=git Durar_NO_PROMPT=1 \
383
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash
384
+ ```
385
+ </Tab>
386
+ <Tab title="install-cli.sh (JSON)">
387
+ ```bash
388
+ curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install-cli.sh | bash -s -- --json --prefix /opt/Durar
389
+ ```
390
+ </Tab>
391
+ <Tab title="install.ps1 (skip onboarding)">
392
+ ```powershell
393
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -NoOnboard
394
+ ```
395
+ </Tab>
396
+ </Tabs>
397
+
398
+ ---
399
+
400
+ ## Troubleshooting
401
+
402
+ <AccordionGroup>
403
+ <Accordion title="Why is Git required?">
404
+ Git is required for `git` install method. For `npm` installs, Git is still checked/installed to avoid `spawn git ENOENT` failures when dependencies use git URLs.
405
+ </Accordion>
406
+
407
+ <Accordion title="Why does npm hit EACCES on Linux?">
408
+ Some Linux setups point npm global prefix to root-owned paths. `install.sh` can switch prefix to `~/.npm-global` and append PATH exports to shell rc files (when those files exist).
409
+ </Accordion>
410
+
411
+ <Accordion title="sharp/libvips issues">
412
+ The scripts default `SHARP_IGNORE_GLOBAL_LIBVIPS=1` to avoid sharp building against system libvips. To override:
413
+
414
+ ```bash
415
+ SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://Durar.ai/install.sh | bash
416
+ ```
417
+
418
+ </Accordion>
419
+
420
+ <Accordion title='Windows: "npm error spawn git / ENOENT"'>
421
+ Install Git for Windows, reopen PowerShell, rerun installer.
422
+ </Accordion>
423
+
424
+ <Accordion title='Windows: "Durar is not recognized"'>
425
+ Run `npm config get prefix` and add that directory to your user PATH (no `\bin` suffix needed on Windows), then reopen PowerShell.
426
+ </Accordion>
427
+
428
+ <Accordion title="Windows: how to get verbose installer output">
429
+ `install.ps1` does not currently expose a `-Verbose` switch.
430
+ Use PowerShell tracing for script-level diagnostics:
431
+
432
+ ```powershell
433
+ Set-PSDebug -Trace 1
434
+ & ([scriptblock]::Create((iwr -useb https://Durar.ai/install.ps1))) -NoOnboard
435
+ Set-PSDebug -Trace 0
436
+ ```
437
+
438
+ </Accordion>
439
+
440
+ <Accordion title="Durar not found after install">
441
+ Usually a PATH issue. See [Node.js troubleshooting](/install/node#troubleshooting).
442
+ </Accordion>
443
+ </AccordionGroup>