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,233 @@
1
+ ---
2
+ summary: "Scripted onboarding and agent setup for the Durar CLI"
3
+ read_when:
4
+ - You are automating onboarding in scripts or CI
5
+ - You need non-interactive examples for specific providers
6
+ title: "CLI Automation"
7
+ sidebarTitle: "CLI automation"
8
+ ---
9
+
10
+ # CLI Automation
11
+
12
+ Use `--non-interactive` to automate `Durar onboard`.
13
+
14
+ <Note>
15
+ `--json` does not imply non-interactive mode. Use `--non-interactive` (and `--workspace`) for scripts.
16
+ </Note>
17
+
18
+ ## Baseline non-interactive example
19
+
20
+ ```bash
21
+ Durar onboard --non-interactive \
22
+ --mode local \
23
+ --auth-choice apiKey \
24
+ --anthropic-api-key "$ANTHROPIC_API_KEY" \
25
+ --secret-input-mode plaintext \
26
+ --gateway-port 18789 \
27
+ --gateway-bind loopback \
28
+ --install-daemon \
29
+ --daemon-runtime node \
30
+ --skip-skills
31
+ ```
32
+
33
+ Add `--json` for a machine-readable summary.
34
+
35
+ Use `--secret-input-mode ref` to store env-backed refs in auth profiles instead of plaintext values.
36
+ Interactive selection between env refs and configured provider refs (`file` or `exec`) is available in the onboarding flow.
37
+
38
+ In non-interactive `ref` mode, provider env vars must be set in the process environment.
39
+ Passing inline key flags without the matching env var now fails fast.
40
+
41
+ Example:
42
+
43
+ ```bash
44
+ Durar onboard --non-interactive \
45
+ --mode local \
46
+ --auth-choice openai-api-key \
47
+ --secret-input-mode ref \
48
+ --accept-risk
49
+ ```
50
+
51
+ ## Provider-specific examples
52
+
53
+ <AccordionGroup>
54
+ <Accordion title="Anthropic Claude CLI example">
55
+ ```bash
56
+ Durar onboard --non-interactive \
57
+ --mode local \
58
+ --auth-choice anthropic-cli \
59
+ --gateway-port 18789 \
60
+ --gateway-bind loopback
61
+ ```
62
+
63
+ Requires Claude CLI already installed and signed in on the same gateway
64
+ host.
65
+
66
+ </Accordion>
67
+ <Accordion title="Gemini example">
68
+ ```bash
69
+ Durar onboard --non-interactive \
70
+ --mode local \
71
+ --auth-choice gemini-api-key \
72
+ --gemini-api-key "$GEMINI_API_KEY" \
73
+ --gateway-port 18789 \
74
+ --gateway-bind loopback
75
+ ```
76
+ </Accordion>
77
+ <Accordion title="Z.AI example">
78
+ ```bash
79
+ Durar onboard --non-interactive \
80
+ --mode local \
81
+ --auth-choice zai-api-key \
82
+ --zai-api-key "$ZAI_API_KEY" \
83
+ --gateway-port 18789 \
84
+ --gateway-bind loopback
85
+ ```
86
+ </Accordion>
87
+ <Accordion title="Vercel AI Gateway example">
88
+ ```bash
89
+ Durar onboard --non-interactive \
90
+ --mode local \
91
+ --auth-choice ai-gateway-api-key \
92
+ --ai-gateway-api-key "$AI_GATEWAY_API_KEY" \
93
+ --gateway-port 18789 \
94
+ --gateway-bind loopback
95
+ ```
96
+ </Accordion>
97
+ <Accordion title="Cloudflare AI Gateway example">
98
+ ```bash
99
+ Durar onboard --non-interactive \
100
+ --mode local \
101
+ --auth-choice cloudflare-ai-gateway-api-key \
102
+ --cloudflare-ai-gateway-account-id "your-account-id" \
103
+ --cloudflare-ai-gateway-gateway-id "your-gateway-id" \
104
+ --cloudflare-ai-gateway-api-key "$CLOUDFLARE_AI_GATEWAY_API_KEY" \
105
+ --gateway-port 18789 \
106
+ --gateway-bind loopback
107
+ ```
108
+ </Accordion>
109
+ <Accordion title="Moonshot example">
110
+ ```bash
111
+ Durar onboard --non-interactive \
112
+ --mode local \
113
+ --auth-choice moonshot-api-key \
114
+ --moonshot-api-key "$MOONSHOT_API_KEY" \
115
+ --gateway-port 18789 \
116
+ --gateway-bind loopback
117
+ ```
118
+ </Accordion>
119
+ <Accordion title="Mistral example">
120
+ ```bash
121
+ Durar onboard --non-interactive \
122
+ --mode local \
123
+ --auth-choice mistral-api-key \
124
+ --mistral-api-key "$MISTRAL_API_KEY" \
125
+ --gateway-port 18789 \
126
+ --gateway-bind loopback
127
+ ```
128
+ </Accordion>
129
+ <Accordion title="Synthetic example">
130
+ ```bash
131
+ Durar onboard --non-interactive \
132
+ --mode local \
133
+ --auth-choice synthetic-api-key \
134
+ --synthetic-api-key "$SYNTHETIC_API_KEY" \
135
+ --gateway-port 18789 \
136
+ --gateway-bind loopback
137
+ ```
138
+ </Accordion>
139
+ <Accordion title="OpenCode example">
140
+ ```bash
141
+ Durar onboard --non-interactive \
142
+ --mode local \
143
+ --auth-choice opencode-zen \
144
+ --opencode-zen-api-key "$OPENCODE_API_KEY" \
145
+ --gateway-port 18789 \
146
+ --gateway-bind loopback
147
+ ```
148
+ Swap to `--auth-choice opencode-go --opencode-go-api-key "$OPENCODE_API_KEY"` for the Go catalog.
149
+ </Accordion>
150
+ <Accordion title="Ollama example">
151
+ ```bash
152
+ Durar onboard --non-interactive \
153
+ --mode local \
154
+ --auth-choice ollama \
155
+ --custom-model-id "qwen3.5:27b" \
156
+ --accept-risk \
157
+ --gateway-port 18789 \
158
+ --gateway-bind loopback
159
+ ```
160
+ </Accordion>
161
+ <Accordion title="Custom provider example">
162
+ ```bash
163
+ Durar onboard --non-interactive \
164
+ --mode local \
165
+ --auth-choice custom-api-key \
166
+ --custom-base-url "https://llm.example.com/v1" \
167
+ --custom-model-id "foo-large" \
168
+ --custom-api-key "$CUSTOM_API_KEY" \
169
+ --custom-provider-id "my-custom" \
170
+ --custom-compatibility anthropic \
171
+ --gateway-port 18789 \
172
+ --gateway-bind loopback
173
+ ```
174
+
175
+ `--custom-api-key` is optional. If omitted, onboarding checks `CUSTOM_API_KEY`.
176
+
177
+ Ref-mode variant:
178
+
179
+ ```bash
180
+ export CUSTOM_API_KEY="your-key"
181
+ Durar onboard --non-interactive \
182
+ --mode local \
183
+ --auth-choice custom-api-key \
184
+ --custom-base-url "https://llm.example.com/v1" \
185
+ --custom-model-id "foo-large" \
186
+ --secret-input-mode ref \
187
+ --custom-provider-id "my-custom" \
188
+ --custom-compatibility anthropic \
189
+ --gateway-port 18789 \
190
+ --gateway-bind loopback
191
+ ```
192
+
193
+ In this mode, onboarding stores `apiKey` as `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`.
194
+
195
+ </Accordion>
196
+ </AccordionGroup>
197
+
198
+ Anthropic setup-token is available again as a legacy/manual onboarding path.
199
+ Use it with the expectation that Anthropic told Durar users the Durar
200
+ Claude-login path requires **Extra Usage**. For production, prefer an
201
+ Anthropic API key.
202
+
203
+ ## Add another agent
204
+
205
+ Use `Durar agents add <name>` to create a separate agent with its own workspace,
206
+ sessions, and auth profiles. Running without `--workspace` launches the wizard.
207
+
208
+ ```bash
209
+ Durar agents add work \
210
+ --workspace ~/.Durar/workspace-work \
211
+ --model openai/gpt-5.4 \
212
+ --bind whatsapp:biz \
213
+ --non-interactive \
214
+ --json
215
+ ```
216
+
217
+ What it sets:
218
+
219
+ - `agents.list[].name`
220
+ - `agents.list[].workspace`
221
+ - `agents.list[].agentDir`
222
+
223
+ Notes:
224
+
225
+ - Default workspaces follow `~/.Durar/workspace-<agentId>`.
226
+ - Add `bindings` to route inbound messages (the wizard can do this).
227
+ - Non-interactive flags: `--model`, `--agent-dir`, `--bind`, `--non-interactive`.
228
+
229
+ ## Related docs
230
+
231
+ - Onboarding hub: [Onboarding (CLI)](/start/wizard)
232
+ - Full reference: [CLI Setup Reference](/start/wizard-cli-reference)
233
+ - Command reference: [`Durar onboard`](/cli/onboard)
@@ -0,0 +1,324 @@
1
+ ---
2
+ summary: "Complete reference for CLI setup flow, auth/model setup, outputs, and internals"
3
+ read_when:
4
+ - You need detailed behavior for Durar onboard
5
+ - You are debugging onboarding results or integrating onboarding clients
6
+ title: "CLI Setup Reference"
7
+ sidebarTitle: "CLI reference"
8
+ ---
9
+
10
+ # CLI Setup Reference
11
+
12
+ This page is the full reference for `Durar onboard`.
13
+ For the short guide, see [Onboarding (CLI)](/start/wizard).
14
+
15
+ ## What the wizard does
16
+
17
+ Local mode (default) walks you through:
18
+
19
+ - Model and auth setup (OpenAI Code subscription OAuth, Anthropic Claude CLI or API key, plus MiniMax, GLM, Ollama, Moonshot, StepFun, and AI Gateway options)
20
+ - Workspace location and bootstrap files
21
+ - Gateway settings (port, bind, auth, tailscale)
22
+ - Channels and providers (Telegram, WhatsApp, Discord, Google Chat, Mattermost, Signal, BlueBubbles, and other bundled channel plugins)
23
+ - Daemon install (LaunchAgent, systemd user unit, or native Windows Scheduled Task with Startup-folder fallback)
24
+ - Health check
25
+ - Skills setup
26
+
27
+ Remote mode configures this machine to connect to a gateway elsewhere.
28
+ It does not install or modify anything on the remote host.
29
+
30
+ ## Local flow details
31
+
32
+ <Steps>
33
+ <Step title="Existing config detection">
34
+ - If `~/.Durar/Durar.json` exists, choose Keep, Modify, or Reset.
35
+ - Re-running the wizard does not wipe anything unless you explicitly choose Reset (or pass `--reset`).
36
+ - CLI `--reset` defaults to `config+creds+sessions`; use `--reset-scope full` to also remove workspace.
37
+ - If config is invalid or contains legacy keys, the wizard stops and asks you to run `Durar doctor` before continuing.
38
+ - Reset uses `trash` and offers scopes:
39
+ - Config only
40
+ - Config + credentials + sessions
41
+ - Full reset (also removes workspace)
42
+ </Step>
43
+ <Step title="Model and auth">
44
+ - Full option matrix is in [Auth and model options](#auth-and-model-options).
45
+ </Step>
46
+ <Step title="Workspace">
47
+ - Default `~/.Durar/workspace` (configurable).
48
+ - Seeds workspace files needed for first-run bootstrap ritual.
49
+ - Workspace layout: [Agent workspace](/concepts/agent-workspace).
50
+ </Step>
51
+ <Step title="Gateway">
52
+ - Prompts for port, bind, auth mode, and tailscale exposure.
53
+ - Recommended: keep token auth enabled even for loopback so local WS clients must authenticate.
54
+ - In token mode, interactive setup offers:
55
+ - **Generate/store plaintext token** (default)
56
+ - **Use SecretRef** (opt-in)
57
+ - In password mode, interactive setup also supports plaintext or SecretRef storage.
58
+ - Non-interactive token SecretRef path: `--gateway-token-ref-env <ENV_VAR>`.
59
+ - Requires a non-empty env var in the onboarding process environment.
60
+ - Cannot be combined with `--gateway-token`.
61
+ - Disable auth only if you fully trust every local process.
62
+ - Non-loopback binds still require auth.
63
+ </Step>
64
+ <Step title="Channels">
65
+ - [WhatsApp](/channels/whatsapp): optional QR login
66
+ - [Telegram](/channels/telegram): bot token
67
+ - [Discord](/channels/discord): bot token
68
+ - [Google Chat](/channels/googlechat): service account JSON + webhook audience
69
+ - [Mattermost](/channels/mattermost): bot token + base URL
70
+ - [Signal](/channels/signal): optional `signal-cli` install + account config
71
+ - [BlueBubbles](/channels/bluebubbles): recommended for iMessage; server URL + password + webhook
72
+ - [iMessage](/channels/imessage): legacy `imsg` CLI path + DB access
73
+ - DM security: default is pairing. First DM sends a code; approve via
74
+ `Durar pairing approve <channel> <code>` or use allowlists.
75
+ </Step>
76
+ <Step title="Daemon install">
77
+ - macOS: LaunchAgent
78
+ - Requires logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
79
+ - Linux and Windows via WSL2: systemd user unit
80
+ - Wizard attempts `loginctl enable-linger <user>` so gateway stays up after logout.
81
+ - May prompt for sudo (writes `/var/lib/systemd/linger`); it tries without sudo first.
82
+ - Native Windows: Scheduled Task first
83
+ - If task creation is denied, Durar falls back to a per-user Startup-folder login item and starts the gateway immediately.
84
+ - Scheduled Tasks remain preferred because they provide better supervisor status.
85
+ - Runtime selection: Node (recommended; required for WhatsApp and Telegram). Bun is not recommended.
86
+ </Step>
87
+ <Step title="Health check">
88
+ - Starts gateway (if needed) and runs `Durar health`.
89
+ - `Durar status --deep` adds the live gateway health probe to status output, including channel probes when supported.
90
+ </Step>
91
+ <Step title="Skills">
92
+ - Reads available skills and checks requirements.
93
+ - Lets you choose node manager: npm, pnpm, or bun.
94
+ - Installs optional dependencies (some use Homebrew on macOS).
95
+ </Step>
96
+ <Step title="Finish">
97
+ - Summary and next steps, including iOS, Android, and macOS app options.
98
+ </Step>
99
+ </Steps>
100
+
101
+ <Note>
102
+ If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
103
+ If Control UI assets are missing, the wizard attempts to build them; fallback is `pnpm ui:build` (auto-installs UI deps).
104
+ </Note>
105
+
106
+ ## Remote mode details
107
+
108
+ Remote mode configures this machine to connect to a gateway elsewhere.
109
+
110
+ <Info>
111
+ Remote mode does not install or modify anything on the remote host.
112
+ </Info>
113
+
114
+ What you set:
115
+
116
+ - Remote gateway URL (`ws://...`)
117
+ - Token if remote gateway auth is required (recommended)
118
+
119
+ <Note>
120
+ - If gateway is loopback-only, use SSH tunneling or a tailnet.
121
+ - Discovery hints:
122
+ - macOS: Bonjour (`dns-sd`)
123
+ - Linux: Avahi (`avahi-browse`)
124
+ </Note>
125
+
126
+ ## Auth and model options
127
+
128
+ <AccordionGroup>
129
+ <Accordion title="Anthropic API key">
130
+ Uses `ANTHROPIC_API_KEY` if present or prompts for a key, then saves it for daemon use.
131
+ </Accordion>
132
+ <Accordion title="Anthropic Claude CLI">
133
+ Reuses a local Claude CLI login on the gateway host and switches model
134
+ selection to a canonical `claude-cli/claude-*` ref.
135
+
136
+ This is an available local fallback path in `Durar onboard` and
137
+ `Durar configure`. For production, prefer an Anthropic API key.
138
+
139
+ - macOS: checks Keychain item "Claude Code-credentials"
140
+ - Linux and Windows: reuses `~/.claude/.credentials.json` if present
141
+
142
+ On macOS, choose "Always Allow" so launchd starts do not block.
143
+
144
+ </Accordion>
145
+ <Accordion title="OpenAI Code subscription (Codex CLI reuse)">
146
+ If `~/.codex/auth.json` exists, the wizard can reuse it.
147
+ Reused Codex CLI credentials stay managed by Codex CLI; on expiry Durar
148
+ re-reads that source first and, when the provider can refresh it, writes
149
+ the refreshed credential back to Codex storage instead of taking ownership
150
+ itself.
151
+ </Accordion>
152
+ <Accordion title="OpenAI Code subscription (OAuth)">
153
+ Browser flow; paste `code#state`.
154
+
155
+ Sets `agents.defaults.model` to `openai-codex/gpt-5.4` when model is unset or `openai/*`.
156
+
157
+ </Accordion>
158
+ <Accordion title="OpenAI API key">
159
+ Uses `OPENAI_API_KEY` if present or prompts for a key, then stores the credential in auth profiles.
160
+
161
+ Sets `agents.defaults.model` to `openai/gpt-5.4` when model is unset, `openai/*`, or `openai-codex/*`.
162
+
163
+ </Accordion>
164
+ <Accordion title="xAI (Grok) API key">
165
+ Prompts for `XAI_API_KEY` and configures xAI as a model provider.
166
+ </Accordion>
167
+ <Accordion title="OpenCode">
168
+ Prompts for `OPENCODE_API_KEY` (or `OPENCODE_ZEN_API_KEY`) and lets you choose the Zen or Go catalog.
169
+ Setup URL: [opencode.ai/auth](https://opencode.ai/auth).
170
+ </Accordion>
171
+ <Accordion title="API key (generic)">
172
+ Stores the key for you.
173
+ </Accordion>
174
+ <Accordion title="Vercel AI Gateway">
175
+ Prompts for `AI_GATEWAY_API_KEY`.
176
+ More detail: [Vercel AI Gateway](/providers/vercel-ai-gateway).
177
+ </Accordion>
178
+ <Accordion title="Cloudflare AI Gateway">
179
+ Prompts for account ID, gateway ID, and `CLOUDFLARE_AI_GATEWAY_API_KEY`.
180
+ More detail: [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway).
181
+ </Accordion>
182
+ <Accordion title="MiniMax">
183
+ Config is auto-written. Hosted default is `MiniMax-M2.7`; API-key setup uses
184
+ `minimax/...`, and OAuth setup uses `minimax-portal/...`.
185
+ More detail: [MiniMax](/providers/minimax).
186
+ </Accordion>
187
+ <Accordion title="StepFun">
188
+ Config is auto-written for StepFun standard or Step Plan on China or global endpoints.
189
+ Standard currently includes `step-3.5-flash`, and Step Plan also includes `step-3.5-flash-2603`.
190
+ More detail: [StepFun](/providers/stepfun).
191
+ </Accordion>
192
+ <Accordion title="Synthetic (Anthropic-compatible)">
193
+ Prompts for `SYNTHETIC_API_KEY`.
194
+ More detail: [Synthetic](/providers/synthetic).
195
+ </Accordion>
196
+ <Accordion title="Ollama (Cloud and local open models)">
197
+ Prompts for base URL (default `http://127.0.0.1:11434`), then offers Cloud + Local or Local mode.
198
+ Discovers available models and suggests defaults.
199
+ More detail: [Ollama](/providers/ollama).
200
+ </Accordion>
201
+ <Accordion title="Moonshot and Kimi Coding">
202
+ Moonshot (Kimi K2) and Kimi Coding configs are auto-written.
203
+ More detail: [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot).
204
+ </Accordion>
205
+ <Accordion title="Custom provider">
206
+ Works with OpenAI-compatible and Anthropic-compatible endpoints.
207
+
208
+ Interactive onboarding supports the same API key storage choices as other provider API key flows:
209
+ - **Paste API key now** (plaintext)
210
+ - **Use secret reference** (env ref or configured provider ref, with preflight validation)
211
+
212
+ Non-interactive flags:
213
+ - `--auth-choice custom-api-key`
214
+ - `--custom-base-url`
215
+ - `--custom-model-id`
216
+ - `--custom-api-key` (optional; falls back to `CUSTOM_API_KEY`)
217
+ - `--custom-provider-id` (optional)
218
+ - `--custom-compatibility <openai|anthropic>` (optional; default `openai`)
219
+
220
+ </Accordion>
221
+ <Accordion title="Skip">
222
+ Leaves auth unconfigured.
223
+ </Accordion>
224
+ </AccordionGroup>
225
+
226
+ Model behavior:
227
+
228
+ - Pick default model from detected options, or enter provider and model manually.
229
+ - When onboarding starts from a provider auth choice, the model picker prefers
230
+ that provider automatically. For Volcengine and BytePlus, the same preference
231
+ also matches their coding-plan variants (`volcengine-plan/*`,
232
+ `byteplus-plan/*`).
233
+ - If that preferred-provider filter would be empty, the picker falls back to
234
+ the full catalog instead of showing no models.
235
+ - Wizard runs a model check and warns if the configured model is unknown or missing auth.
236
+
237
+ Credential and profile paths:
238
+
239
+ - Auth profiles (API keys + OAuth): `~/.Durar/agents/<agentId>/agent/auth-profiles.json`
240
+ - Legacy OAuth import: `~/.Durar/credentials/oauth.json`
241
+
242
+ Credential storage mode:
243
+
244
+ - Default onboarding behavior persists API keys as plaintext values in auth profiles.
245
+ - `--secret-input-mode ref` enables reference mode instead of plaintext key storage.
246
+ In interactive setup, you can choose either:
247
+ - environment variable ref (for example `keyRef: { source: "env", provider: "default", id: "OPENAI_API_KEY" }`)
248
+ - configured provider ref (`file` or `exec`) with provider alias + id
249
+ - Interactive reference mode runs a fast preflight validation before saving.
250
+ - Env refs: validates variable name + non-empty value in the current onboarding environment.
251
+ - Provider refs: validates provider config and resolves the requested id.
252
+ - If preflight fails, onboarding shows the error and lets you retry.
253
+ - In non-interactive mode, `--secret-input-mode ref` is env-backed only.
254
+ - Set the provider env var in the onboarding process environment.
255
+ - Inline key flags (for example `--openai-api-key`) require that env var to be set; otherwise onboarding fails fast.
256
+ - For custom providers, non-interactive `ref` mode stores `models.providers.<id>.apiKey` as `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`.
257
+ - In that custom-provider case, `--custom-api-key` requires `CUSTOM_API_KEY` to be set; otherwise onboarding fails fast.
258
+ - Gateway auth credentials support plaintext and SecretRef choices in interactive setup:
259
+ - Token mode: **Generate/store plaintext token** (default) or **Use SecretRef**.
260
+ - Password mode: plaintext or SecretRef.
261
+ - Non-interactive token SecretRef path: `--gateway-token-ref-env <ENV_VAR>`.
262
+ - Existing plaintext setups continue to work unchanged.
263
+
264
+ <Note>
265
+ Headless and server tip: complete OAuth on a machine with a browser, then copy
266
+ that agent's `auth-profiles.json` (for example
267
+ `~/.Durar/agents/<agentId>/agent/auth-profiles.json`, or the matching
268
+ `$Durar_STATE_DIR/...` path) to the gateway host. `credentials/oauth.json`
269
+ is only a legacy import source.
270
+ </Note>
271
+
272
+ ## Outputs and internals
273
+
274
+ Typical fields in `~/.Durar/Durar.json`:
275
+
276
+ - `agents.defaults.workspace`
277
+ - `agents.defaults.model` / `models.providers` (if Minimax chosen)
278
+ - `tools.profile` (local onboarding defaults to `"coding"` when unset; existing explicit values are preserved)
279
+ - `gateway.*` (mode, bind, auth, tailscale)
280
+ - `session.dmScope` (local onboarding defaults this to `per-channel-peer` when unset; existing explicit values are preserved)
281
+ - `channels.telegram.botToken`, `channels.discord.token`, `channels.matrix.*`, `channels.signal.*`, `channels.imessage.*`
282
+ - Channel allowlists (Slack, Discord, Matrix, Microsoft Teams) when you opt in during prompts (names resolve to IDs when possible)
283
+ - `skills.install.nodeManager`
284
+ - The `setup --node-manager` flag accepts `npm`, `pnpm`, or `bun`.
285
+ - Manual config can still set `skills.install.nodeManager: "yarn"` later.
286
+ - `wizard.lastRunAt`
287
+ - `wizard.lastRunVersion`
288
+ - `wizard.lastRunCommit`
289
+ - `wizard.lastRunCommand`
290
+ - `wizard.lastRunMode`
291
+
292
+ `Durar agents add` writes `agents.list[]` and optional `bindings`.
293
+
294
+ WhatsApp credentials go under `~/.Durar/credentials/whatsapp/<accountId>/`.
295
+ Sessions are stored under `~/.Durar/agents/<agentId>/sessions/`.
296
+
297
+ <Note>
298
+ Some channels are delivered as plugins. When selected during setup, the wizard
299
+ prompts to install the plugin (npm or local path) before channel configuration.
300
+ </Note>
301
+
302
+ Gateway wizard RPC:
303
+
304
+ - `wizard.start`
305
+ - `wizard.next`
306
+ - `wizard.cancel`
307
+ - `wizard.status`
308
+
309
+ Clients (macOS app and Control UI) can render steps without re-implementing onboarding logic.
310
+
311
+ Signal setup behavior:
312
+
313
+ - Downloads the appropriate release asset
314
+ - Stores it under `~/.Durar/tools/signal-cli/<version>/`
315
+ - Writes `channels.signal.cliPath` in config
316
+ - JVM builds require Java 21
317
+ - Native builds are used when available
318
+ - Windows uses WSL2 and follows Linux signal-cli flow inside WSL
319
+
320
+ ## Related docs
321
+
322
+ - Onboarding hub: [Onboarding (CLI)](/start/wizard)
323
+ - Automation and scripts: [CLI Automation](/start/wizard-cli-automation)
324
+ - Command reference: [`Durar onboard`](/cli/onboard)
@@ -0,0 +1,127 @@
1
+ ---
2
+ summary: "CLI onboarding: guided setup for gateway, workspace, channels, and skills"
3
+ read_when:
4
+ - Running or configuring CLI onboarding
5
+ - Setting up a new machine
6
+ title: "Onboarding (CLI)"
7
+ sidebarTitle: "Onboarding: CLI"
8
+ ---
9
+
10
+ # Onboarding (CLI)
11
+
12
+ CLI onboarding is the **recommended** way to set up Durar on macOS,
13
+ Linux, or Windows (via WSL2; strongly recommended).
14
+ It configures a local Gateway or a remote Gateway connection, plus channels, skills,
15
+ and workspace defaults in one guided flow.
16
+
17
+ ```bash
18
+ Durar onboard
19
+ ```
20
+
21
+ <Info>
22
+ Fastest first chat: open the Control UI (no channel setup needed). Run
23
+ `Durar dashboard` and chat in the browser. Docs: [Dashboard](/web/dashboard).
24
+ </Info>
25
+
26
+ To reconfigure later:
27
+
28
+ ```bash
29
+ Durar configure
30
+ Durar agents add <name>
31
+ ```
32
+
33
+ <Note>
34
+ `--json` does not imply non-interactive mode. For scripts, use `--non-interactive`.
35
+ </Note>
36
+
37
+ <Tip>
38
+ CLI onboarding includes a web search step where you can pick a provider
39
+ such as Brave, DuckDuckGo, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search,
40
+ Ollama Web Search, Perplexity, SearXNG, or Tavily. Some providers require an
41
+ API key, while others are key-free. You can also configure this later with
42
+ `Durar configure --section web`. Docs: [Web tools](/tools/web).
43
+ </Tip>
44
+
45
+ ## QuickStart vs Advanced
46
+
47
+ Onboarding starts with **QuickStart** (defaults) vs **Advanced** (full control).
48
+
49
+ <Tabs>
50
+ <Tab title="QuickStart (defaults)">
51
+ - Local gateway (loopback)
52
+ - Workspace default (or existing workspace)
53
+ - Gateway port **18789**
54
+ - Gateway auth **Token** (auto‑generated, even on loopback)
55
+ - Tool policy default for new local setups: `tools.profile: "coding"` (existing explicit profile is preserved)
56
+ - DM isolation default: local onboarding writes `session.dmScope: "per-channel-peer"` when unset. Details: [CLI Setup Reference](/start/wizard-cli-reference#outputs-and-internals)
57
+ - Tailscale exposure **Off**
58
+ - Telegram + WhatsApp DMs default to **allowlist** (you'll be prompted for your phone number)
59
+ </Tab>
60
+ <Tab title="Advanced (full control)">
61
+ - Exposes every step (mode, workspace, gateway, channels, daemon, skills).
62
+ </Tab>
63
+ </Tabs>
64
+
65
+ ## What onboarding configures
66
+
67
+ **Local mode (default)** walks you through these steps:
68
+
69
+ 1. **Model/Auth** — choose any supported provider/auth flow (API key, OAuth, or provider-specific manual auth), including Custom Provider
70
+ (OpenAI-compatible, Anthropic-compatible, or Unknown auto-detect). Pick a default model.
71
+ Security note: if this agent will run tools or process webhook/hooks content, prefer the strongest latest-generation model available and keep tool policy strict. Weaker/older tiers are easier to prompt-inject.
72
+ For non-interactive runs, `--secret-input-mode ref` stores env-backed refs in auth profiles instead of plaintext API key values.
73
+ In non-interactive `ref` mode, the provider env var must be set; passing inline key flags without that env var fails fast.
74
+ In interactive runs, choosing secret reference mode lets you point at either an environment variable or a configured provider ref (`file` or `exec`), with a fast preflight validation before saving.
75
+ For Anthropic, interactive onboarding/configure offers **Anthropic Claude CLI** as a local fallback and **Anthropic API key** as the recommended production path. Anthropic setup-token is also available again as a legacy/manual Durar path, with Anthropic's Durar-specific **Extra Usage** billing expectation.
76
+ 2. **Workspace** — Location for agent files (default `~/.Durar/workspace`). Seeds bootstrap files.
77
+ 3. **Gateway** — Port, bind address, auth mode, Tailscale exposure.
78
+ In interactive token mode, choose default plaintext token storage or opt into SecretRef.
79
+ Non-interactive token SecretRef path: `--gateway-token-ref-env <ENV_VAR>`.
80
+ 4. **Channels** — built-in and bundled chat channels such as BlueBubbles, Discord, Feishu, Google Chat, Mattermost, Microsoft Teams, QQ Bot, Signal, Slack, Telegram, WhatsApp, and more.
81
+ 5. **Daemon** — Installs a LaunchAgent (macOS), systemd user unit (Linux/WSL2), or native Windows Scheduled Task with per-user Startup-folder fallback.
82
+ If token auth requires a token and `gateway.auth.token` is SecretRef-managed, daemon install validates it but does not persist the resolved token into supervisor service environment metadata.
83
+ If token auth requires a token and the configured token SecretRef is unresolved, daemon install is blocked with actionable guidance.
84
+ If both `gateway.auth.token` and `gateway.auth.password` are configured and `gateway.auth.mode` is unset, daemon install is blocked until mode is set explicitly.
85
+ 6. **Health check** — Starts the Gateway and verifies it's running.
86
+ 7. **Skills** — Installs recommended skills and optional dependencies.
87
+
88
+ <Note>
89
+ Re-running onboarding does **not** wipe anything unless you explicitly choose **Reset** (or pass `--reset`).
90
+ CLI `--reset` defaults to config, credentials, and sessions; use `--reset-scope full` to include workspace.
91
+ If the config is invalid or contains legacy keys, onboarding asks you to run `Durar doctor` first.
92
+ </Note>
93
+
94
+ **Remote mode** only configures the local client to connect to a Gateway elsewhere.
95
+ It does **not** install or change anything on the remote host.
96
+
97
+ ## Add another agent
98
+
99
+ Use `Durar agents add <name>` to create a separate agent with its own workspace,
100
+ sessions, and auth profiles. Running without `--workspace` launches onboarding.
101
+
102
+ What it sets:
103
+
104
+ - `agents.list[].name`
105
+ - `agents.list[].workspace`
106
+ - `agents.list[].agentDir`
107
+
108
+ Notes:
109
+
110
+ - Default workspaces follow `~/.Durar/workspace-<agentId>`.
111
+ - Add `bindings` to route inbound messages (onboarding can do this).
112
+ - Non-interactive flags: `--model`, `--agent-dir`, `--bind`, `--non-interactive`.
113
+
114
+ ## Full reference
115
+
116
+ For detailed step-by-step breakdowns and config outputs, see
117
+ [CLI Setup Reference](/start/wizard-cli-reference).
118
+ For non-interactive examples, see [CLI Automation](/start/wizard-cli-automation).
119
+ For the deeper technical reference, including RPC details, see
120
+ [Onboarding Reference](/reference/wizard).
121
+
122
+ ## Related docs
123
+
124
+ - CLI command reference: [`Durar onboard`](/cli/onboard)
125
+ - Onboarding overview: [Onboarding Overview](/start/onboarding-overview)
126
+ - macOS app onboarding: [Onboarding](/start/onboarding)
127
+ - Agent first-run ritual: [Agent Bootstrapping](/start/bootstrapping)