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,82 @@
1
+ ---
2
+ summary: "Task Flow flow orchestration layer above background tasks"
3
+ read_when:
4
+ - You want to understand how Task Flow relates to background tasks
5
+ - You encounter Task Flow or Durar tasks flow in release notes or docs
6
+ - You want to inspect or manage durable flow state
7
+ title: "Task Flow"
8
+ ---
9
+
10
+ # Task Flow
11
+
12
+ Task Flow is the flow orchestration substrate that sits above [background tasks](/automation/tasks). It manages durable multi-step flows with their own state, revision tracking, and sync semantics while individual tasks remain the unit of detached work.
13
+
14
+ ## When to use Task Flow
15
+
16
+ Use Task Flow when work spans multiple sequential or branching steps and you need durable progress tracking across gateway restarts. For single background operations, a plain [task](/automation/tasks) is sufficient.
17
+
18
+ | Scenario | Use |
19
+ | ------------------------------------- | -------------------- |
20
+ | Single background job | Plain task |
21
+ | Multi-step pipeline (A then B then C) | Task Flow (managed) |
22
+ | Observe externally created tasks | Task Flow (mirrored) |
23
+ | One-shot reminder | Cron job |
24
+
25
+ ## Sync modes
26
+
27
+ ### Managed mode
28
+
29
+ Task Flow owns the lifecycle end-to-end. It creates tasks as flow steps, drives them to completion, and advances the flow state automatically.
30
+
31
+ Example: a weekly report flow that (1) gathers data, (2) generates the report, and (3) delivers it. Task Flow creates each step as a background task, waits for completion, then moves to the next step.
32
+
33
+ ```
34
+ Flow: weekly-report
35
+ Step 1: gather-data → task created → succeeded
36
+ Step 2: generate-report → task created → succeeded
37
+ Step 3: deliver → task created → running
38
+ ```
39
+
40
+ ### Mirrored mode
41
+
42
+ Task Flow observes externally created tasks and keeps flow state in sync without taking ownership of task creation. This is useful when tasks originate from cron jobs, CLI commands, or other sources and you want a unified view of their progress as a flow.
43
+
44
+ Example: three independent cron jobs that together form a "morning ops" routine. A mirrored flow tracks their collective progress without controlling when or how they run.
45
+
46
+ ## Durable state and revision tracking
47
+
48
+ Each flow persists its own state and tracks revisions so progress survives gateway restarts. Revision tracking enables conflict detection when multiple sources attempt to advance the same flow concurrently.
49
+
50
+ ## Cancel behavior
51
+
52
+ `Durar tasks flow cancel` sets a sticky cancel intent on the flow. Active tasks within the flow are cancelled, and no new steps are started. The cancel intent persists across restarts, so a cancelled flow stays cancelled even if the gateway restarts before all child tasks have terminated.
53
+
54
+ ## CLI commands
55
+
56
+ ```bash
57
+ # List active and recent flows
58
+ Durar tasks flow list
59
+
60
+ # Show details for a specific flow
61
+ Durar tasks flow show <lookup>
62
+
63
+ # Cancel a running flow and its active tasks
64
+ Durar tasks flow cancel <lookup>
65
+ ```
66
+
67
+ | Command | Description |
68
+ | --------------------------------- | --------------------------------------------- |
69
+ | `Durar tasks flow list` | Shows tracked flows with status and sync mode |
70
+ | `Durar tasks flow show <id>` | Inspect one flow by flow id or lookup key |
71
+ | `Durar tasks flow cancel <id>` | Cancel a running flow and its active tasks |
72
+
73
+ ## How flows relate to tasks
74
+
75
+ Flows coordinate tasks, not replace them. A single flow may drive multiple background tasks over its lifetime. Use `Durar tasks` to inspect individual task records and `Durar tasks flow` to inspect the orchestrating flow.
76
+
77
+ ## Related
78
+
79
+ - [Background Tasks](/automation/tasks) — the detached work ledger that flows coordinate
80
+ - [CLI: tasks](/cli/index#tasks) — CLI command reference for `Durar tasks flow`
81
+ - [Automation Overview](/automation) — all automation mechanisms at a glance
82
+ - [Cron Jobs](/automation/cron-jobs) — scheduled jobs that may feed into flows
@@ -0,0 +1,323 @@
1
+ ---
2
+ summary: "Background task tracking for ACP runs, subagents, isolated cron jobs, and CLI operations"
3
+ read_when:
4
+ - Inspecting background work in progress or recently completed
5
+ - Debugging delivery failures for detached agent runs
6
+ - Understanding how background runs relate to sessions, cron, and heartbeat
7
+ title: "Background Tasks"
8
+ ---
9
+
10
+ # Background Tasks
11
+
12
+ > **Looking for scheduling?** See [Automation & Tasks](/automation) for choosing the right mechanism. This page covers **tracking** background work, not scheduling it.
13
+
14
+ Background tasks track work that runs **outside your main conversation session**:
15
+ ACP runs, subagent spawns, isolated cron job executions, and CLI-initiated operations.
16
+
17
+ Tasks do **not** replace sessions, cron jobs, or heartbeats — they are the **activity ledger** that records what detached work happened, when, and whether it succeeded.
18
+
19
+ <Note>
20
+ Not every agent run creates a task. Heartbeat turns and normal interactive chat do not. All cron executions, ACP spawns, subagent spawns, and CLI agent commands do.
21
+ </Note>
22
+
23
+ ## TL;DR
24
+
25
+ - Tasks are **records**, not schedulers — cron and heartbeat decide _when_ work runs, tasks track _what happened_.
26
+ - ACP, subagents, all cron jobs, and CLI operations create tasks. Heartbeat turns do not.
27
+ - Each task moves through `queued → running → terminal` (succeeded, failed, timed_out, cancelled, or lost).
28
+ - Cron tasks stay live while the cron runtime still owns the job; chat-backed CLI tasks stay live only while their owning run context is still active.
29
+ - Completion is push-driven: detached work can notify directly or wake the
30
+ requester session/heartbeat when it finishes, so status polling loops are
31
+ usually the wrong shape.
32
+ - Isolated cron runs and subagent completions best-effort clean up tracked browser tabs/processes for their child session before final cleanup bookkeeping.
33
+ - Isolated cron delivery suppresses stale interim parent replies while
34
+ descendant subagent work is still draining, and it prefers final descendant
35
+ output when that arrives before delivery.
36
+ - Completion notifications are delivered directly to a channel or queued for the next heartbeat.
37
+ - `Durar tasks list` shows all tasks; `Durar tasks audit` surfaces issues.
38
+ - Terminal records are kept for 7 days, then automatically pruned.
39
+
40
+ ## Quick start
41
+
42
+ ```bash
43
+ # List all tasks (newest first)
44
+ Durar tasks list
45
+
46
+ # Filter by runtime or status
47
+ Durar tasks list --runtime acp
48
+ Durar tasks list --status running
49
+
50
+ # Show details for a specific task (by ID, run ID, or session key)
51
+ Durar tasks show <lookup>
52
+
53
+ # Cancel a running task (kills the child session)
54
+ Durar tasks cancel <lookup>
55
+
56
+ # Change notification policy for a task
57
+ Durar tasks notify <lookup> state_changes
58
+
59
+ # Run a health audit
60
+ Durar tasks audit
61
+
62
+ # Preview or apply maintenance
63
+ Durar tasks maintenance
64
+ Durar tasks maintenance --apply
65
+
66
+ # Inspect TaskFlow state
67
+ Durar tasks flow list
68
+ Durar tasks flow show <lookup>
69
+ Durar tasks flow cancel <lookup>
70
+ ```
71
+
72
+ ## What creates a task
73
+
74
+ | Source | Runtime type | When a task record is created | Default notify policy |
75
+ | ---------------------- | ------------ | ------------------------------------------------------ | --------------------- |
76
+ | ACP background runs | `acp` | Spawning a child ACP session | `done_only` |
77
+ | Subagent orchestration | `subagent` | Spawning a subagent via `sessions_spawn` | `done_only` |
78
+ | Cron jobs (all types) | `cron` | Every cron execution (main-session and isolated) | `silent` |
79
+ | CLI operations | `cli` | `Durar agent` commands that run through the gateway | `silent` |
80
+
81
+ Main-session cron tasks use `silent` notify policy by default — they create records for tracking but do not generate notifications. Isolated cron tasks also default to `silent` but are more visible because they run in their own session.
82
+
83
+ **What does not create tasks:**
84
+
85
+ - Heartbeat turns — main-session; see [Heartbeat](/gateway/heartbeat)
86
+ - Normal interactive chat turns
87
+ - Direct `/command` responses
88
+
89
+ ## Task lifecycle
90
+
91
+ ```mermaid
92
+ stateDiagram-v2
93
+ [*] --> queued
94
+ queued --> running : agent starts
95
+ running --> succeeded : completes ok
96
+ running --> failed : error
97
+ running --> timed_out : timeout exceeded
98
+ running --> cancelled : operator cancels
99
+ queued --> lost : session gone > 5 min
100
+ running --> lost : session gone > 5 min
101
+ ```
102
+
103
+ | Status | What it means |
104
+ | ----------- | -------------------------------------------------------------------------- |
105
+ | `queued` | Created, waiting for the agent to start |
106
+ | `running` | Agent turn is actively executing |
107
+ | `succeeded` | Completed successfully |
108
+ | `failed` | Completed with an error |
109
+ | `timed_out` | Exceeded the configured timeout |
110
+ | `cancelled` | Stopped by the operator via `Durar tasks cancel` |
111
+ | `lost` | The runtime lost authoritative backing state after a 5-minute grace period |
112
+
113
+ Transitions happen automatically — when the associated agent run ends, the task status updates to match.
114
+
115
+ `lost` is runtime-aware:
116
+
117
+ - ACP tasks: backing ACP child session metadata disappeared.
118
+ - Subagent tasks: backing child session disappeared from the target agent store.
119
+ - Cron tasks: the cron runtime no longer tracks the job as active.
120
+ - CLI tasks: isolated child-session tasks use the child session; chat-backed CLI tasks use the live run context instead, so lingering channel/group/direct session rows do not keep them alive.
121
+
122
+ ## Delivery and notifications
123
+
124
+ When a task reaches a terminal state, Durar notifies you. There are two delivery paths:
125
+
126
+ **Direct delivery** — if the task has a channel target (the `requesterOrigin`), the completion message goes straight to that channel (Telegram, Discord, Slack, etc.). For subagent completions, Durar also preserves bound thread/topic routing when available and can fill a missing `to` / account from the requester session's stored route (`lastChannel` / `lastTo` / `lastAccountId`) before giving up on direct delivery.
127
+
128
+ **Session-queued delivery** — if direct delivery fails or no origin is set, the update is queued as a system event in the requester's session and surfaces on the next heartbeat.
129
+
130
+ <Tip>
131
+ Task completion triggers an immediate heartbeat wake so you see the result quickly — you do not have to wait for the next scheduled heartbeat tick.
132
+ </Tip>
133
+
134
+ That means the usual workflow is push-based: start detached work once, then let
135
+ the runtime wake or notify you on completion. Poll task state only when you
136
+ need debugging, intervention, or an explicit audit.
137
+
138
+ ### Notification policies
139
+
140
+ Control how much you hear about each task:
141
+
142
+ | Policy | What is delivered |
143
+ | --------------------- | ----------------------------------------------------------------------- |
144
+ | `done_only` (default) | Only terminal state (succeeded, failed, etc.) — **this is the default** |
145
+ | `state_changes` | Every state transition and progress update |
146
+ | `silent` | Nothing at all |
147
+
148
+ Change the policy while a task is running:
149
+
150
+ ```bash
151
+ Durar tasks notify <lookup> state_changes
152
+ ```
153
+
154
+ ## CLI reference
155
+
156
+ ### `tasks list`
157
+
158
+ ```bash
159
+ Durar tasks list [--runtime <acp|subagent|cron|cli>] [--status <status>] [--json]
160
+ ```
161
+
162
+ Output columns: Task ID, Kind, Status, Delivery, Run ID, Child Session, Summary.
163
+
164
+ ### `tasks show`
165
+
166
+ ```bash
167
+ Durar tasks show <lookup>
168
+ ```
169
+
170
+ The lookup token accepts a task ID, run ID, or session key. Shows the full record including timing, delivery state, error, and terminal summary.
171
+
172
+ ### `tasks cancel`
173
+
174
+ ```bash
175
+ Durar tasks cancel <lookup>
176
+ ```
177
+
178
+ For ACP and subagent tasks, this kills the child session. Status transitions to `cancelled` and a delivery notification is sent.
179
+
180
+ ### `tasks notify`
181
+
182
+ ```bash
183
+ Durar tasks notify <lookup> <done_only|state_changes|silent>
184
+ ```
185
+
186
+ ### `tasks audit`
187
+
188
+ ```bash
189
+ Durar tasks audit [--json]
190
+ ```
191
+
192
+ Surfaces operational issues. Findings also appear in `Durar status` when issues are detected.
193
+
194
+ | Finding | Severity | Trigger |
195
+ | ------------------------- | -------- | ----------------------------------------------------- |
196
+ | `stale_queued` | warn | Queued for more than 10 minutes |
197
+ | `stale_running` | error | Running for more than 30 minutes |
198
+ | `lost` | error | Runtime-backed task ownership disappeared |
199
+ | `delivery_failed` | warn | Delivery failed and notify policy is not `silent` |
200
+ | `missing_cleanup` | warn | Terminal task with no cleanup timestamp |
201
+ | `inconsistent_timestamps` | warn | Timeline violation (for example ended before started) |
202
+
203
+ ### `tasks maintenance`
204
+
205
+ ```bash
206
+ Durar tasks maintenance [--json]
207
+ Durar tasks maintenance --apply [--json]
208
+ ```
209
+
210
+ Use this to preview or apply reconciliation, cleanup stamping, and pruning for
211
+ tasks and Task Flow state.
212
+
213
+ Reconciliation is runtime-aware:
214
+
215
+ - ACP/subagent tasks check their backing child session.
216
+ - Cron tasks check whether the cron runtime still owns the job.
217
+ - Chat-backed CLI tasks check the owning live run context, not just the chat session row.
218
+
219
+ Completion cleanup is also runtime-aware:
220
+
221
+ - Subagent completion best-effort closes tracked browser tabs/processes for the child session before announce cleanup continues.
222
+ - Isolated cron completion best-effort closes tracked browser tabs/processes for the cron session before the run fully tears down.
223
+ - Isolated cron delivery waits out descendant subagent follow-up when needed and
224
+ suppresses stale parent acknowledgement text instead of announcing it.
225
+ - Subagent completion delivery prefers the latest visible assistant text; if that is empty it falls back to sanitized latest tool/toolResult text, and timeout-only tool-call runs can collapse to a short partial-progress summary.
226
+ - Cleanup failures do not mask the real task outcome.
227
+
228
+ ### `tasks flow list|show|cancel`
229
+
230
+ ```bash
231
+ Durar tasks flow list [--status <status>] [--json]
232
+ Durar tasks flow show <lookup> [--json]
233
+ Durar tasks flow cancel <lookup>
234
+ ```
235
+
236
+ Use these when the orchestrating Task Flow is the thing you care about rather
237
+ than one individual background task record.
238
+
239
+ ## Chat task board (`/tasks`)
240
+
241
+ Use `/tasks` in any chat session to see background tasks linked to that session. The board shows
242
+ active and recently completed tasks with runtime, status, timing, and progress or error detail.
243
+
244
+ When the current session has no visible linked tasks, `/tasks` falls back to agent-local task counts
245
+ so you still get an overview without leaking other-session details.
246
+
247
+ For the full operator ledger, use the CLI: `Durar tasks list`.
248
+
249
+ ## Status integration (task pressure)
250
+
251
+ `Durar status` includes an at-a-glance task summary:
252
+
253
+ ```
254
+ Tasks: 3 queued · 2 running · 1 issues
255
+ ```
256
+
257
+ The summary reports:
258
+
259
+ - **active** — count of `queued` + `running`
260
+ - **failures** — count of `failed` + `timed_out` + `lost`
261
+ - **byRuntime** — breakdown by `acp`, `subagent`, `cron`, `cli`
262
+
263
+ Both `/status` and the `session_status` tool use a cleanup-aware task snapshot: active tasks are
264
+ preferred, stale completed rows are hidden, and recent failures only surface when no active work
265
+ remains. This keeps the status card focused on what matters right now.
266
+
267
+ ## Storage and maintenance
268
+
269
+ ### Where tasks live
270
+
271
+ Task records persist in SQLite at:
272
+
273
+ ```
274
+ $Durar_STATE_DIR/tasks/runs.sqlite
275
+ ```
276
+
277
+ The registry loads into memory at gateway start and syncs writes to SQLite for durability across restarts.
278
+
279
+ ### Automatic maintenance
280
+
281
+ A sweeper runs every **60 seconds** and handles three things:
282
+
283
+ 1. **Reconciliation** — checks whether active tasks still have authoritative runtime backing. ACP/subagent tasks use child-session state, cron tasks use active-job ownership, and chat-backed CLI tasks use the owning run context. If that backing state is gone for more than 5 minutes, the task is marked `lost`.
284
+ 2. **Cleanup stamping** — sets a `cleanupAfter` timestamp on terminal tasks (endedAt + 7 days).
285
+ 3. **Pruning** — deletes records past their `cleanupAfter` date.
286
+
287
+ **Retention**: terminal task records are kept for **7 days**, then automatically pruned. No configuration needed.
288
+
289
+ ## How tasks relate to other systems
290
+
291
+ ### Tasks and Task Flow
292
+
293
+ [Task Flow](/automation/taskflow) is the flow orchestration layer above background tasks. A single flow may coordinate multiple tasks over its lifetime using managed or mirrored sync modes. Use `Durar tasks` to inspect individual task records and `Durar tasks flow` to inspect the orchestrating flow.
294
+
295
+ See [Task Flow](/automation/taskflow) for details.
296
+
297
+ ### Tasks and cron
298
+
299
+ A cron job **definition** lives in `~/.Durar/cron/jobs.json`. **Every** cron execution creates a task record — both main-session and isolated. Main-session cron tasks default to `silent` notify policy so they track without generating notifications.
300
+
301
+ See [Cron Jobs](/automation/cron-jobs).
302
+
303
+ ### Tasks and heartbeat
304
+
305
+ Heartbeat runs are main-session turns — they do not create task records. When a task completes, it can trigger a heartbeat wake so you see the result promptly.
306
+
307
+ See [Heartbeat](/gateway/heartbeat).
308
+
309
+ ### Tasks and sessions
310
+
311
+ A task may reference a `childSessionKey` (where work runs) and a `requesterSessionKey` (who started it). Sessions are conversation context; tasks are activity tracking on top of that.
312
+
313
+ ### Tasks and agent runs
314
+
315
+ A task's `runId` links to the agent run doing the work. Agent lifecycle events (start, end, error) automatically update the task status — you do not need to manage the lifecycle manually.
316
+
317
+ ## Related
318
+
319
+ - [Automation & Tasks](/automation) — all automation mechanisms at a glance
320
+ - [Task Flow](/automation/taskflow) — flow orchestration above tasks
321
+ - [Scheduled Tasks](/automation/cron-jobs) — scheduling background work
322
+ - [Heartbeat](/gateway/heartbeat) — periodic main-session turns
323
+ - [CLI: Tasks](/cli/index#tasks) — CLI command reference
@@ -0,0 +1,8 @@
1
+ ---
2
+ summary: "Redirect to /automation/cron-jobs"
3
+ title: "Automation Troubleshooting"
4
+ ---
5
+
6
+ # Automation Troubleshooting
7
+
8
+ This page moved to [Scheduled Tasks](/automation/cron-jobs#troubleshooting). See [Scheduled Tasks](/automation/cron-jobs#troubleshooting) for troubleshooting documentation.
@@ -0,0 +1,8 @@
1
+ ---
2
+ summary: "Redirect to /automation/cron-jobs"
3
+ title: "Webhooks"
4
+ ---
5
+
6
+ # Webhooks
7
+
8
+ This page moved to [Scheduled Tasks](/automation/cron-jobs#webhooks). See [Scheduled Tasks](/automation/cron-jobs#webhooks) for webhook documentation.
@@ -0,0 +1,103 @@
1
+ ---
2
+ summary: "Brave Search API setup for web_search"
3
+ read_when:
4
+ - You want to use Brave Search for web_search
5
+ - You need a BRAVE_API_KEY or plan details
6
+ title: "Brave Search (legacy path)"
7
+ ---
8
+
9
+ # Brave Search API
10
+
11
+ Durar supports Brave Search API as a `web_search` provider.
12
+
13
+ ## Get an API key
14
+
15
+ 1. Create a Brave Search API account at [https://brave.com/search/api/](https://brave.com/search/api/)
16
+ 2. In the dashboard, choose the **Search** plan and generate an API key.
17
+ 3. Store the key in config or set `BRAVE_API_KEY` in the Gateway environment.
18
+
19
+ ## Config example
20
+
21
+ ```json5
22
+ {
23
+ plugins: {
24
+ entries: {
25
+ brave: {
26
+ config: {
27
+ webSearch: {
28
+ apiKey: "BRAVE_API_KEY_HERE",
29
+ mode: "web", // or "llm-context"
30
+ },
31
+ },
32
+ },
33
+ },
34
+ },
35
+ tools: {
36
+ web: {
37
+ search: {
38
+ provider: "brave",
39
+ maxResults: 5,
40
+ timeoutSeconds: 30,
41
+ },
42
+ },
43
+ },
44
+ }
45
+ ```
46
+
47
+ Provider-specific Brave search settings now live under `plugins.entries.brave.config.webSearch.*`.
48
+ Legacy `tools.web.search.apiKey` still loads through the compatibility shim, but it is no longer the canonical config path.
49
+
50
+ `webSearch.mode` controls the Brave transport:
51
+
52
+ - `web` (default): normal Brave web search with titles, URLs, and snippets
53
+ - `llm-context`: Brave LLM Context API with pre-extracted text chunks and sources for grounding
54
+
55
+ ## Tool parameters
56
+
57
+ | Parameter | Description |
58
+ | ------------- | ------------------------------------------------------------------- |
59
+ | `query` | Search query (required) |
60
+ | `count` | Number of results to return (1-10, default: 5) |
61
+ | `country` | 2-letter ISO country code (e.g., "US", "DE") |
62
+ | `language` | ISO 639-1 language code for search results (e.g., "en", "de", "fr") |
63
+ | `search_lang` | Brave search-language code (e.g., `en`, `en-gb`, `zh-hans`) |
64
+ | `ui_lang` | ISO language code for UI elements |
65
+ | `freshness` | Time filter: `day` (24h), `week`, `month`, or `year` |
66
+ | `date_after` | Only results published after this date (YYYY-MM-DD) |
67
+ | `date_before` | Only results published before this date (YYYY-MM-DD) |
68
+
69
+ **Examples:**
70
+
71
+ ```javascript
72
+ // Country and language-specific search
73
+ await web_search({
74
+ query: "renewable energy",
75
+ country: "DE",
76
+ language: "de",
77
+ });
78
+
79
+ // Recent results (past week)
80
+ await web_search({
81
+ query: "AI news",
82
+ freshness: "week",
83
+ });
84
+
85
+ // Date range search
86
+ await web_search({
87
+ query: "AI developments",
88
+ date_after: "2024-01-01",
89
+ date_before: "2024-06-30",
90
+ });
91
+ ```
92
+
93
+ ## Notes
94
+
95
+ - Durar uses the Brave **Search** plan. If you have a legacy subscription (e.g. the original Free plan with 2,000 queries/month), it remains valid but does not include newer features like LLM Context or higher rate limits.
96
+ - Each Brave plan includes **\$5/month in free credit** (renewing). The Search plan costs \$5 per 1,000 requests, so the credit covers 1,000 queries/month. Set your usage limit in the Brave dashboard to avoid unexpected charges. See the [Brave API portal](https://brave.com/search/api/) for current plans.
97
+ - The Search plan includes the LLM Context endpoint and AI inference rights. Storing results to train or tune models requires a plan with explicit storage rights. See the Brave [Terms of Service](https://api-dashboard.search.brave.com/terms-of-service).
98
+ - `llm-context` mode returns grounded source entries instead of the normal web-search snippet shape.
99
+ - `llm-context` mode does not support `ui_lang`, `freshness`, `date_after`, or `date_before`.
100
+ - `ui_lang` must include a region subtag like `en-US`.
101
+ - Results are cached for 15 minutes by default (configurable via `cacheTtlMinutes`).
102
+
103
+ See [Web tools](/tools/web) for the full web_search configuration.