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,353 @@
1
+ ---
2
+ summary: "CLI reference for `Durar config` (get/set/unset/file/schema/validate)"
3
+ read_when:
4
+ - You want to read or edit config non-interactively
5
+ title: "config"
6
+ ---
7
+
8
+ # `Durar config`
9
+
10
+ Config helpers for non-interactive edits in `Durar.json`: get/set/unset/file/schema/validate
11
+ values by path and print the active config file. Run without a subcommand to
12
+ open the configure wizard (same as `Durar configure`).
13
+
14
+ Root options:
15
+
16
+ - `--section <section>`: repeatable guided-setup section filter when you run `Durar config` without a subcommand
17
+
18
+ Supported guided sections:
19
+
20
+ - `workspace`
21
+ - `model`
22
+ - `web`
23
+ - `gateway`
24
+ - `daemon`
25
+ - `channels`
26
+ - `plugins`
27
+ - `skills`
28
+ - `health`
29
+
30
+ ## Examples
31
+
32
+ ```bash
33
+ Durar config file
34
+ Durar config --section model
35
+ Durar config --section gateway --section daemon
36
+ Durar config schema
37
+ Durar config get browser.executablePath
38
+ Durar config set browser.executablePath "/usr/bin/google-chrome"
39
+ Durar config set agents.defaults.heartbeat.every "2h"
40
+ Durar config set agents.list[0].tools.exec.node "node-id-or-name"
41
+ Durar config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
42
+ Durar config set secrets.providers.vaultfile --provider-source file --provider-path /etc/Durar/secrets.json --provider-mode json
43
+ Durar config unset plugins.entries.brave.config.webSearch.apiKey
44
+ Durar config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-run
45
+ Durar config validate
46
+ Durar config validate --json
47
+ ```
48
+
49
+ ### `config schema`
50
+
51
+ Print the generated JSON schema for `Durar.json` to stdout as JSON.
52
+
53
+ What it includes:
54
+
55
+ - The current root config schema, plus a root `$schema` string field for editor tooling
56
+ - Field `title` and `description` docs metadata used by the Control UI
57
+ - Nested object, wildcard (`*`), and array-item (`[]`) nodes inherit the same `title` / `description` metadata when matching field documentation exists
58
+ - `anyOf` / `oneOf` / `allOf` branches inherit the same docs metadata too when matching field documentation exists
59
+ - Best-effort live plugin + channel schema metadata when runtime manifests can be loaded
60
+ - A clean fallback schema even when the current config is invalid
61
+
62
+ Related runtime RPC:
63
+
64
+ - `config.schema.lookup` returns one normalized config path with a shallow
65
+ schema node (`title`, `description`, `type`, `enum`, `const`, common bounds),
66
+ matched UI hint metadata, and immediate child summaries. Use it for
67
+ path-scoped drill-down in Control UI or custom clients.
68
+
69
+ ```bash
70
+ Durar config schema
71
+ ```
72
+
73
+ Pipe it into a file when you want to inspect or validate it with other tools:
74
+
75
+ ```bash
76
+ Durar config schema > Durar.schema.json
77
+ ```
78
+
79
+ ### Paths
80
+
81
+ Paths use dot or bracket notation:
82
+
83
+ ```bash
84
+ Durar config get agents.defaults.workspace
85
+ Durar config get agents.list[0].id
86
+ ```
87
+
88
+ Use the agent list index to target a specific agent:
89
+
90
+ ```bash
91
+ Durar config get agents.list
92
+ Durar config set agents.list[1].tools.exec.node "node-id-or-name"
93
+ ```
94
+
95
+ ## Values
96
+
97
+ Values are parsed as JSON5 when possible; otherwise they are treated as strings.
98
+ Use `--strict-json` to require JSON5 parsing. `--json` remains supported as a legacy alias.
99
+
100
+ ```bash
101
+ Durar config set agents.defaults.heartbeat.every "0m"
102
+ Durar config set gateway.port 19001 --strict-json
103
+ Durar config set channels.whatsapp.groups '["*"]' --strict-json
104
+ ```
105
+
106
+ `config get <path> --json` prints the raw value as JSON instead of terminal-formatted text.
107
+
108
+ ## `config set` modes
109
+
110
+ `Durar config set` supports four assignment styles:
111
+
112
+ 1. Value mode: `Durar config set <path> <value>`
113
+ 2. SecretRef builder mode:
114
+
115
+ ```bash
116
+ Durar config set channels.discord.token \
117
+ --ref-provider default \
118
+ --ref-source env \
119
+ --ref-id DISCORD_BOT_TOKEN
120
+ ```
121
+
122
+ 3. Provider builder mode (`secrets.providers.<alias>` path only):
123
+
124
+ ```bash
125
+ Durar config set secrets.providers.vault \
126
+ --provider-source exec \
127
+ --provider-command /usr/local/bin/Durar-vault \
128
+ --provider-arg read \
129
+ --provider-arg openai/api-key \
130
+ --provider-timeout-ms 5000
131
+ ```
132
+
133
+ 4. Batch mode (`--batch-json` or `--batch-file`):
134
+
135
+ ```bash
136
+ Durar config set --batch-json '[
137
+ {
138
+ "path": "secrets.providers.default",
139
+ "provider": { "source": "env" }
140
+ },
141
+ {
142
+ "path": "channels.discord.token",
143
+ "ref": { "source": "env", "provider": "default", "id": "DISCORD_BOT_TOKEN" }
144
+ }
145
+ ]'
146
+ ```
147
+
148
+ ```bash
149
+ Durar config set --batch-file ./config-set.batch.json --dry-run
150
+ ```
151
+
152
+ Policy note:
153
+
154
+ - SecretRef assignments are rejected on unsupported runtime-mutable surfaces (for example `hooks.token`, `commands.ownerDisplaySecret`, Discord thread-binding webhook tokens, and WhatsApp creds JSON). See [SecretRef Credential Surface](/reference/secretref-credential-surface).
155
+
156
+ Batch parsing always uses the batch payload (`--batch-json`/`--batch-file`) as the source of truth.
157
+ `--strict-json` / `--json` do not change batch parsing behavior.
158
+
159
+ JSON path/value mode remains supported for both SecretRefs and providers:
160
+
161
+ ```bash
162
+ Durar config set channels.discord.token \
163
+ '{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}' \
164
+ --strict-json
165
+
166
+ Durar config set secrets.providers.vaultfile \
167
+ '{"source":"file","path":"/etc/Durar/secrets.json","mode":"json"}' \
168
+ --strict-json
169
+ ```
170
+
171
+ ## Provider Builder Flags
172
+
173
+ Provider builder targets must use `secrets.providers.<alias>` as the path.
174
+
175
+ Common flags:
176
+
177
+ - `--provider-source <env|file|exec>`
178
+ - `--provider-timeout-ms <ms>` (`file`, `exec`)
179
+
180
+ Env provider (`--provider-source env`):
181
+
182
+ - `--provider-allowlist <ENV_VAR>` (repeatable)
183
+
184
+ File provider (`--provider-source file`):
185
+
186
+ - `--provider-path <path>` (required)
187
+ - `--provider-mode <singleValue|json>`
188
+ - `--provider-max-bytes <bytes>`
189
+
190
+ Exec provider (`--provider-source exec`):
191
+
192
+ - `--provider-command <path>` (required)
193
+ - `--provider-arg <arg>` (repeatable)
194
+ - `--provider-no-output-timeout-ms <ms>`
195
+ - `--provider-max-output-bytes <bytes>`
196
+ - `--provider-json-only`
197
+ - `--provider-env <KEY=VALUE>` (repeatable)
198
+ - `--provider-pass-env <ENV_VAR>` (repeatable)
199
+ - `--provider-trusted-dir <path>` (repeatable)
200
+ - `--provider-allow-insecure-path`
201
+ - `--provider-allow-symlink-command`
202
+
203
+ Hardened exec provider example:
204
+
205
+ ```bash
206
+ Durar config set secrets.providers.vault \
207
+ --provider-source exec \
208
+ --provider-command /usr/local/bin/Durar-vault \
209
+ --provider-arg read \
210
+ --provider-arg openai/api-key \
211
+ --provider-json-only \
212
+ --provider-pass-env VAULT_TOKEN \
213
+ --provider-trusted-dir /usr/local/bin \
214
+ --provider-timeout-ms 5000
215
+ ```
216
+
217
+ ## Dry run
218
+
219
+ Use `--dry-run` to validate changes without writing `Durar.json`.
220
+
221
+ ```bash
222
+ Durar config set channels.discord.token \
223
+ --ref-provider default \
224
+ --ref-source env \
225
+ --ref-id DISCORD_BOT_TOKEN \
226
+ --dry-run
227
+
228
+ Durar config set channels.discord.token \
229
+ --ref-provider default \
230
+ --ref-source env \
231
+ --ref-id DISCORD_BOT_TOKEN \
232
+ --dry-run \
233
+ --json
234
+
235
+ Durar config set channels.discord.token \
236
+ --ref-provider vault \
237
+ --ref-source exec \
238
+ --ref-id discord/token \
239
+ --dry-run \
240
+ --allow-exec
241
+ ```
242
+
243
+ Dry-run behavior:
244
+
245
+ - Builder mode: runs SecretRef resolvability checks for changed refs/providers.
246
+ - JSON mode (`--strict-json`, `--json`, or batch mode): runs schema validation plus SecretRef resolvability checks.
247
+ - Policy validation also runs for known unsupported SecretRef target surfaces.
248
+ - Policy checks evaluate the full post-change config, so parent-object writes (for example setting `hooks` as an object) cannot bypass unsupported-surface validation.
249
+ - Exec SecretRef checks are skipped by default during dry-run to avoid command side effects.
250
+ - Use `--allow-exec` with `--dry-run` to opt in to exec SecretRef checks (this may execute provider commands).
251
+ - `--allow-exec` is dry-run only and errors if used without `--dry-run`.
252
+
253
+ `--dry-run --json` prints a machine-readable report:
254
+
255
+ - `ok`: whether dry-run passed
256
+ - `operations`: number of assignments evaluated
257
+ - `checks`: whether schema/resolvability checks ran
258
+ - `checks.resolvabilityComplete`: whether resolvability checks ran to completion (false when exec refs are skipped)
259
+ - `refsChecked`: number of refs actually resolved during dry-run
260
+ - `skippedExecRefs`: number of exec refs skipped because `--allow-exec` was not set
261
+ - `errors`: structured schema/resolvability failures when `ok=false`
262
+
263
+ ### JSON Output Shape
264
+
265
+ ```json5
266
+ {
267
+ ok: boolean,
268
+ operations: number,
269
+ configPath: string,
270
+ inputModes: ["value" | "json" | "builder", ...],
271
+ checks: {
272
+ schema: boolean,
273
+ resolvability: boolean,
274
+ resolvabilityComplete: boolean,
275
+ },
276
+ refsChecked: number,
277
+ skippedExecRefs: number,
278
+ errors?: [
279
+ {
280
+ kind: "schema" | "resolvability",
281
+ message: string,
282
+ ref?: string, // present for resolvability errors
283
+ },
284
+ ],
285
+ }
286
+ ```
287
+
288
+ Success example:
289
+
290
+ ```json
291
+ {
292
+ "ok": true,
293
+ "operations": 1,
294
+ "configPath": "~/.Durar/Durar.json",
295
+ "inputModes": ["builder"],
296
+ "checks": {
297
+ "schema": false,
298
+ "resolvability": true,
299
+ "resolvabilityComplete": true
300
+ },
301
+ "refsChecked": 1,
302
+ "skippedExecRefs": 0
303
+ }
304
+ ```
305
+
306
+ Failure example:
307
+
308
+ ```json
309
+ {
310
+ "ok": false,
311
+ "operations": 1,
312
+ "configPath": "~/.Durar/Durar.json",
313
+ "inputModes": ["builder"],
314
+ "checks": {
315
+ "schema": false,
316
+ "resolvability": true,
317
+ "resolvabilityComplete": true
318
+ },
319
+ "refsChecked": 1,
320
+ "skippedExecRefs": 0,
321
+ "errors": [
322
+ {
323
+ "kind": "resolvability",
324
+ "message": "Error: Environment variable \"MISSING_TEST_SECRET\" is not set.",
325
+ "ref": "env:default:MISSING_TEST_SECRET"
326
+ }
327
+ ]
328
+ }
329
+ ```
330
+
331
+ If dry-run fails:
332
+
333
+ - `config schema validation failed`: your post-change config shape is invalid; fix path/value or provider/ref object shape.
334
+ - `Config policy validation failed: unsupported SecretRef usage`: move that credential back to plaintext/string input and keep SecretRefs on supported surfaces only.
335
+ - `SecretRef assignment(s) could not be resolved`: referenced provider/ref currently cannot resolve (missing env var, invalid file pointer, exec provider failure, or provider/source mismatch).
336
+ - `Dry run note: skipped <n> exec SecretRef resolvability check(s)`: dry-run skipped exec refs; rerun with `--allow-exec` if you need exec resolvability validation.
337
+ - For batch mode, fix failing entries and rerun `--dry-run` before writing.
338
+
339
+ ## Subcommands
340
+
341
+ - `config file`: Print the active config file path (resolved from `Durar_CONFIG_PATH` or default location).
342
+
343
+ Restart the gateway after edits.
344
+
345
+ ## Validate
346
+
347
+ Validate the current config against the active schema without starting the
348
+ gateway.
349
+
350
+ ```bash
351
+ Durar config validate
352
+ Durar config validate --json
353
+ ```
@@ -0,0 +1,70 @@
1
+ ---
2
+ summary: "CLI reference for `Durar configure` (interactive configuration prompts)"
3
+ read_when:
4
+ - You want to tweak credentials, devices, or agent defaults interactively
5
+ title: "configure"
6
+ ---
7
+
8
+ # `Durar configure`
9
+
10
+ Interactive prompt to set up credentials, devices, and agent defaults.
11
+
12
+ Note: The **Model** section now includes a multi-select for the
13
+ `agents.defaults.models` allowlist (what shows up in `/model` and the model picker).
14
+
15
+ When configure starts from a provider auth choice, the default-model and
16
+ allowlist pickers prefer that provider automatically. For paired providers such
17
+ as Volcengine/BytePlus, the same preference also matches their coding-plan
18
+ variants (`volcengine-plan/*`, `byteplus-plan/*`). If the preferred-provider
19
+ filter would produce an empty list, configure falls back to the unfiltered
20
+ catalog instead of showing a blank picker.
21
+
22
+ Tip: `Durar config` without a subcommand opens the same wizard. Use
23
+ `Durar config get|set|unset` for non-interactive edits.
24
+
25
+ For web search, `Durar configure --section web` lets you choose a provider
26
+ and configure its credentials. Some providers also show provider-specific
27
+ follow-up prompts:
28
+
29
+ - **Grok** can offer optional `x_search` setup with the same `XAI_API_KEY` and
30
+ let you pick an `x_search` model.
31
+ - **Kimi** can ask for the Moonshot API region (`api.moonshot.ai` vs
32
+ `api.moonshot.cn`) and the default Kimi web-search model.
33
+
34
+ Related:
35
+
36
+ - Gateway configuration reference: [Configuration](/gateway/configuration)
37
+ - Config CLI: [Config](/cli/config)
38
+
39
+ ## Options
40
+
41
+ - `--section <section>`: repeatable section filter
42
+
43
+ Available sections:
44
+
45
+ - `workspace`
46
+ - `model`
47
+ - `web`
48
+ - `gateway`
49
+ - `daemon`
50
+ - `channels`
51
+ - `plugins`
52
+ - `skills`
53
+ - `health`
54
+
55
+ Notes:
56
+
57
+ - Choosing where the Gateway runs always updates `gateway.mode`. You can select "Continue" without other sections if that is all you need.
58
+ - Channel-oriented services (Slack/Discord/Matrix/Microsoft Teams) prompt for channel/room allowlists during setup. You can enter names or IDs; the wizard resolves names to IDs when possible.
59
+ - If you run the daemon install step, token auth requires a token, and `gateway.auth.token` is SecretRef-managed, configure validates the SecretRef but does not persist resolved plaintext token values into supervisor service environment metadata.
60
+ - If token auth requires a token and the configured token SecretRef is unresolved, configure blocks daemon install with actionable remediation guidance.
61
+ - If both `gateway.auth.token` and `gateway.auth.password` are configured and `gateway.auth.mode` is unset, configure blocks daemon install until mode is set explicitly.
62
+
63
+ ## Examples
64
+
65
+ ```bash
66
+ Durar configure
67
+ Durar configure --section web
68
+ Durar configure --section model --section channels
69
+ Durar configure --section gateway --section daemon
70
+ ```
@@ -0,0 +1,167 @@
1
+ ---
2
+ summary: "CLI reference for `Durar cron` (schedule and run background jobs)"
3
+ read_when:
4
+ - You want scheduled jobs and wakeups
5
+ - You’re debugging cron execution and logs
6
+ title: "cron"
7
+ ---
8
+
9
+ # `Durar cron`
10
+
11
+ Manage cron jobs for the Gateway scheduler.
12
+
13
+ Related:
14
+
15
+ - Cron jobs: [Cron jobs](/automation/cron-jobs)
16
+
17
+ Tip: run `Durar cron --help` for the full command surface.
18
+
19
+ Note: isolated `cron add` jobs default to `--announce` delivery. Use `--no-deliver` to keep
20
+ output internal. `--deliver` remains as a deprecated alias for `--announce`.
21
+
22
+ Note: cron-owned isolated runs expect a plain-text summary and the runner owns
23
+ the final send path. `--no-deliver` keeps the run internal; it does not hand
24
+ delivery back to the agent's message tool.
25
+
26
+ Note: one-shot (`--at`) jobs delete after success by default. Use `--keep-after-run` to keep them.
27
+
28
+ Note: `--session` supports `main`, `isolated`, `current`, and `session:<id>`.
29
+ Use `current` to bind to the active session at creation time, or `session:<id>` for
30
+ an explicit persistent session key.
31
+
32
+ Note: for one-shot CLI jobs, offset-less `--at` datetimes are treated as UTC unless you also pass
33
+ `--tz <iana>`, which interprets that local wall-clock time in the given timezone.
34
+
35
+ Note: recurring jobs now use exponential retry backoff after consecutive errors (30s → 1m → 5m → 15m → 60m), then return to normal schedule after the next successful run.
36
+
37
+ Note: `Durar cron run` now returns as soon as the manual run is queued for execution. Successful responses include `{ ok: true, enqueued: true, runId }`; use `Durar cron runs --id <job-id>` to follow the eventual outcome.
38
+
39
+ Note: `Durar cron run <job-id>` force-runs by default. Use `--due` to keep the
40
+ older "only run if due" behavior.
41
+
42
+ Note: isolated cron turns suppress stale acknowledgement-only replies. If the
43
+ first result is just an interim status update and no descendant subagent run is
44
+ responsible for the eventual answer, cron re-prompts once for the real result
45
+ before delivery.
46
+
47
+ Note: if an isolated cron run returns only the silent token (`NO_REPLY` /
48
+ `no_reply`), cron suppresses direct outbound delivery and the fallback queued
49
+ summary path as well, so nothing is posted back to chat.
50
+
51
+ Note: `cron add|edit --model ...` uses that selected allowed model for the job.
52
+ If the model is not allowed, cron warns and falls back to the job's agent/default
53
+ model selection instead. Configured fallback chains still apply, but a plain
54
+ model override with no explicit per-job fallback list no longer appends the
55
+ agent primary as a hidden extra retry target.
56
+
57
+ Note: isolated cron model precedence is Gmail-hook override first, then per-job
58
+ `--model`, then any stored cron-session model override, then the normal
59
+ agent/default selection.
60
+
61
+ Note: isolated cron fast mode follows the resolved live model selection. Model
62
+ config `params.fastMode` applies by default, but a stored session `fastMode`
63
+ override still wins over config.
64
+
65
+ Note: if an isolated run throws `LiveSessionModelSwitchError`, cron persists the
66
+ switched provider/model (and switched auth profile override when present) before
67
+ retrying. The outer retry loop is bounded to 2 switch retries after the initial
68
+ attempt, then aborts instead of looping forever.
69
+
70
+ Note: failure notifications use `delivery.failureDestination` first, then
71
+ global `cron.failureDestination`, and finally fall back to the job's primary
72
+ announce target when no explicit failure destination is configured.
73
+
74
+ Note: retention/pruning is controlled in config:
75
+
76
+ - `cron.sessionRetention` (default `24h`) prunes completed isolated run sessions.
77
+ - `cron.runLog.maxBytes` + `cron.runLog.keepLines` prune `~/.Durar/cron/runs/<jobId>.jsonl`.
78
+
79
+ Upgrade note: if you have older cron jobs from before the current delivery/store format, run
80
+ `Durar doctor --fix`. Doctor now normalizes legacy cron fields (`jobId`, `schedule.cron`,
81
+ top-level delivery fields including legacy `threadId`, payload `provider` delivery aliases) and migrates simple
82
+ `notify: true` webhook fallback jobs to explicit webhook delivery when `cron.webhook` is
83
+ configured.
84
+
85
+ ## Common edits
86
+
87
+ Update delivery settings without changing the message:
88
+
89
+ ```bash
90
+ Durar cron edit <job-id> --announce --channel telegram --to "123456789"
91
+ ```
92
+
93
+ Disable delivery for an isolated job:
94
+
95
+ ```bash
96
+ Durar cron edit <job-id> --no-deliver
97
+ ```
98
+
99
+ Enable lightweight bootstrap context for an isolated job:
100
+
101
+ ```bash
102
+ Durar cron edit <job-id> --light-context
103
+ ```
104
+
105
+ Announce to a specific channel:
106
+
107
+ ```bash
108
+ Durar cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
109
+ ```
110
+
111
+ Create an isolated job with lightweight bootstrap context:
112
+
113
+ ```bash
114
+ Durar cron add \
115
+ --name "Lightweight morning brief" \
116
+ --cron "0 7 * * *" \
117
+ --session isolated \
118
+ --message "Summarize overnight updates." \
119
+ --light-context \
120
+ --no-deliver
121
+ ```
122
+
123
+ `--light-context` applies to isolated agent-turn jobs only. For cron runs, lightweight mode keeps bootstrap context empty instead of injecting the full workspace bootstrap set.
124
+
125
+ Delivery ownership note:
126
+
127
+ - Cron-owned isolated jobs always route final user-visible delivery through the
128
+ cron runner (`announce`, `webhook`, or internal-only `none`).
129
+ - If the task mentions messaging some external recipient, the agent should
130
+ describe the intended destination in its result instead of trying to send it
131
+ directly.
132
+
133
+ ## Common admin commands
134
+
135
+ Manual run:
136
+
137
+ ```bash
138
+ Durar cron run <job-id>
139
+ Durar cron run <job-id> --due
140
+ Durar cron runs --id <job-id> --limit 50
141
+ ```
142
+
143
+ Agent/session retargeting:
144
+
145
+ ```bash
146
+ Durar cron edit <job-id> --agent ops
147
+ Durar cron edit <job-id> --clear-agent
148
+ Durar cron edit <job-id> --session current
149
+ Durar cron edit <job-id> --session "session:daily-brief"
150
+ ```
151
+
152
+ Delivery tweaks:
153
+
154
+ ```bash
155
+ Durar cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
156
+ Durar cron edit <job-id> --best-effort-deliver
157
+ Durar cron edit <job-id> --no-best-effort-deliver
158
+ Durar cron edit <job-id> --no-deliver
159
+ ```
160
+
161
+ Failure-delivery note:
162
+
163
+ - `delivery.failureDestination` is supported for isolated jobs.
164
+ - Main-session jobs may only use `delivery.failureDestination` when primary
165
+ delivery mode is `webhook`.
166
+ - If you do not set any failure destination and the job already announces to a
167
+ channel, failure notifications reuse that same announce target.
@@ -0,0 +1,57 @@
1
+ ---
2
+ summary: "CLI reference for `Durar daemon` (legacy alias for gateway service management)"
3
+ read_when:
4
+ - You still use `Durar daemon ...` in scripts
5
+ - You need service lifecycle commands (install/start/stop/restart/status)
6
+ title: "daemon"
7
+ ---
8
+
9
+ # `Durar daemon`
10
+
11
+ Legacy alias for Gateway service management commands.
12
+
13
+ `Durar daemon ...` maps to the same service control surface as `Durar gateway ...` service commands.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ Durar daemon status
19
+ Durar daemon install
20
+ Durar daemon start
21
+ Durar daemon stop
22
+ Durar daemon restart
23
+ Durar daemon uninstall
24
+ ```
25
+
26
+ ## Subcommands
27
+
28
+ - `status`: show service install state and probe Gateway health
29
+ - `install`: install service (`launchd`/`systemd`/`schtasks`)
30
+ - `uninstall`: remove service
31
+ - `start`: start service
32
+ - `stop`: stop service
33
+ - `restart`: restart service
34
+
35
+ ## Common options
36
+
37
+ - `status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json`
38
+ - `install`: `--port`, `--runtime <node|bun>`, `--token`, `--force`, `--json`
39
+ - lifecycle (`uninstall|start|stop|restart`): `--json`
40
+
41
+ Notes:
42
+
43
+ - `status` resolves configured auth SecretRefs for probe auth when possible.
44
+ - If a required auth SecretRef is unresolved in this command path, `daemon status --json` reports `rpc.authWarning` when probe connectivity/auth fails; pass `--token`/`--password` explicitly or resolve the secret source first.
45
+ - If the probe succeeds, unresolved auth-ref warnings are suppressed to avoid false positives.
46
+ - `status --deep` adds a best-effort system-level service scan. When it finds other gateway-like services, human output prints cleanup hints and warns that one gateway per machine is still the normal recommendation.
47
+ - On Linux systemd installs, `status` token-drift checks include both `Environment=` and `EnvironmentFile=` unit sources.
48
+ - Drift checks resolve `gateway.auth.token` SecretRefs using merged runtime env (service command env first, then process env fallback).
49
+ - If token auth is not effectively active (explicit `gateway.auth.mode` of `password`/`none`/`trusted-proxy`, or mode unset where password can win and no token candidate can win), token-drift checks skip config token resolution.
50
+ - When token auth requires a token and `gateway.auth.token` is SecretRef-managed, `install` validates that the SecretRef is resolvable but does not persist the resolved token into service environment metadata.
51
+ - If token auth requires a token and the configured token SecretRef is unresolved, install fails closed.
52
+ - If both `gateway.auth.token` and `gateway.auth.password` are configured and `gateway.auth.mode` is unset, install is blocked until mode is set explicitly.
53
+ - If you intentionally run multiple gateways on one host, isolate ports, config/state, and workspaces; see [/gateway#multiple-gateways-same-host](/gateway#multiple-gateways-same-host).
54
+
55
+ ## Prefer
56
+
57
+ Use [`Durar gateway`](/cli/gateway) for current docs and examples.
@@ -0,0 +1,22 @@
1
+ ---
2
+ summary: "CLI reference for `Durar dashboard` (open the Control UI)"
3
+ read_when:
4
+ - You want to open the Control UI with your current token
5
+ - You want to print the URL without launching a browser
6
+ title: "dashboard"
7
+ ---
8
+
9
+ # `Durar dashboard`
10
+
11
+ Open the Control UI using your current auth.
12
+
13
+ ```bash
14
+ Durar dashboard
15
+ Durar dashboard --no-open
16
+ ```
17
+
18
+ Notes:
19
+
20
+ - `dashboard` resolves configured `gateway.auth.token` SecretRefs when possible.
21
+ - For SecretRef-managed tokens (resolved or unresolved), `dashboard` prints/copies/opens a non-tokenized URL to avoid exposing external secrets in terminal output, clipboard history, or browser-launch arguments.
22
+ - If `gateway.auth.token` is SecretRef-managed but unresolved in this command path, the command prints a non-tokenized URL and explicit remediation guidance instead of embedding an invalid token placeholder.