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,139 @@
1
+ ---
2
+ summary: "Generate and edit images using configured providers (OpenAI, Google Gemini, fal, MiniMax)"
3
+ read_when:
4
+ - Generating images via the agent
5
+ - Configuring image generation providers and models
6
+ - Understanding the image_generate tool parameters
7
+ title: "Image Generation"
8
+ ---
9
+
10
+ # Image Generation
11
+
12
+ The `image_generate` tool lets the agent create and edit images using your configured providers. Generated images are delivered automatically as media attachments in the agent's reply.
13
+
14
+ <Note>
15
+ The tool only appears when at least one image generation provider is available. If you don't see `image_generate` in your agent's tools, configure `agents.defaults.imageGenerationModel` or set up a provider API key.
16
+ </Note>
17
+
18
+ ## Quick start
19
+
20
+ 1. Set an API key for at least one provider (for example `OPENAI_API_KEY` or `GEMINI_API_KEY`).
21
+ 2. Optionally set your preferred model:
22
+
23
+ ```json5
24
+ {
25
+ agents: {
26
+ defaults: {
27
+ imageGenerationModel: "openai/gpt-image-1",
28
+ },
29
+ },
30
+ }
31
+ ```
32
+
33
+ 3. Ask the agent: _"Generate an image of a friendly lobster mascot."_
34
+
35
+ The agent calls `image_generate` automatically. No tool allow-listing needed — it's enabled by default when a provider is available.
36
+
37
+ ## Supported providers
38
+
39
+ | Provider | Default model | Edit support | API key |
40
+ | -------- | -------------------------------- | ----------------------- | ----------------------------------------------------- |
41
+ | OpenAI | `gpt-image-1` | Yes (up to 5 images) | `OPENAI_API_KEY` |
42
+ | Google | `gemini-3.1-flash-image-preview` | Yes | `GEMINI_API_KEY` or `GOOGLE_API_KEY` |
43
+ | fal | `fal-ai/flux/dev` | Yes | `FAL_KEY` |
44
+ | MiniMax | `image-01` | Yes (subject reference) | `MINIMAX_API_KEY` or MiniMax OAuth (`minimax-portal`) |
45
+
46
+ Use `action: "list"` to inspect available providers and models at runtime:
47
+
48
+ ```
49
+ /tool image_generate action=list
50
+ ```
51
+
52
+ ## Tool parameters
53
+
54
+ | Parameter | Type | Description |
55
+ | ------------- | -------- | ------------------------------------------------------------------------------------- |
56
+ | `prompt` | string | Image generation prompt (required for `action: "generate"`) |
57
+ | `action` | string | `"generate"` (default) or `"list"` to inspect providers |
58
+ | `model` | string | Provider/model override, e.g. `openai/gpt-image-1` |
59
+ | `image` | string | Single reference image path or URL for edit mode |
60
+ | `images` | string[] | Multiple reference images for edit mode (up to 5) |
61
+ | `size` | string | Size hint: `1024x1024`, `1536x1024`, `1024x1536`, `1024x1792`, `1792x1024` |
62
+ | `aspectRatio` | string | Aspect ratio: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
63
+ | `resolution` | string | Resolution hint: `1K`, `2K`, or `4K` |
64
+ | `count` | number | Number of images to generate (1–4) |
65
+ | `filename` | string | Output filename hint |
66
+
67
+ Not all providers support all parameters. The tool passes what each provider supports and ignores the rest.
68
+
69
+ ## Configuration
70
+
71
+ ### Model selection
72
+
73
+ ```json5
74
+ {
75
+ agents: {
76
+ defaults: {
77
+ // String form: primary model only
78
+ imageGenerationModel: "google/gemini-3.1-flash-image-preview",
79
+
80
+ // Object form: primary + ordered fallbacks
81
+ imageGenerationModel: {
82
+ primary: "openai/gpt-image-1",
83
+ fallbacks: ["google/gemini-3.1-flash-image-preview", "fal/fal-ai/flux/dev"],
84
+ },
85
+ },
86
+ },
87
+ }
88
+ ```
89
+
90
+ ### Provider selection order
91
+
92
+ When generating an image, Durar tries providers in this order:
93
+
94
+ 1. **`model` parameter** from the tool call (if the agent specifies one)
95
+ 2. **`imageGenerationModel.primary`** from config
96
+ 3. **`imageGenerationModel.fallbacks`** in order
97
+ 4. **Auto-detection** — uses auth-backed provider defaults only:
98
+ - current default provider first
99
+ - remaining registered image-generation providers in provider-id order
100
+
101
+ If a provider fails (auth error, rate limit, etc.), the next candidate is tried automatically. If all fail, the error includes details from each attempt.
102
+
103
+ Notes:
104
+
105
+ - Auto-detection is auth-aware. A provider default only enters the candidate list
106
+ when Durar can actually authenticate that provider.
107
+ - Use `action: "list"` to inspect the currently registered providers, their
108
+ default models, and auth env-var hints.
109
+
110
+ ### Image editing
111
+
112
+ OpenAI, Google, fal, and MiniMax support editing reference images. Pass a reference image path or URL:
113
+
114
+ ```
115
+ "Generate a watercolor version of this photo" + image: "/path/to/photo.jpg"
116
+ ```
117
+
118
+ OpenAI and Google support up to 5 reference images via the `images` parameter. fal and MiniMax support 1.
119
+
120
+ MiniMax image generation is available through both bundled MiniMax auth paths:
121
+
122
+ - `minimax/image-01` for API-key setups
123
+ - `minimax-portal/image-01` for OAuth setups
124
+
125
+ ## Provider capabilities
126
+
127
+ | Capability | OpenAI | Google | fal | MiniMax |
128
+ | --------------------- | -------------------- | -------------------- | ------------------- | -------------------------- |
129
+ | Generate | Yes (up to 4) | Yes (up to 4) | Yes (up to 4) | Yes (up to 9) |
130
+ | Edit/reference | Yes (up to 5 images) | Yes (up to 5 images) | Yes (1 image) | Yes (1 image, subject ref) |
131
+ | Size control | Yes | Yes | Yes | No |
132
+ | Aspect ratio | No | Yes | Yes (generate only) | Yes |
133
+ | Resolution (1K/2K/4K) | No | Yes | Yes | No |
134
+
135
+ ## Related
136
+
137
+ - [Tools Overview](/tools) — all available agent tools
138
+ - [Configuration Reference](/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` config
139
+ - [Models](/concepts/models) — model configuration and failover
@@ -0,0 +1,174 @@
1
+ ---
2
+ summary: "Durar tools and plugins overview: what the agent can do and how to extend it"
3
+ read_when:
4
+ - You want to understand what tools Durar provides
5
+ - You need to configure, allow, or deny tools
6
+ - You are deciding between built-in tools, skills, and plugins
7
+ title: "Tools and Plugins"
8
+ ---
9
+
10
+ # Tools and Plugins
11
+
12
+ Everything the agent does beyond generating text happens through **tools**.
13
+ Tools are how the agent reads files, runs commands, browses the web, sends
14
+ messages, and interacts with devices.
15
+
16
+ ## Tools, skills, and plugins
17
+
18
+ Durar has three layers that work together:
19
+
20
+ <Steps>
21
+ <Step title="Tools are what the agent calls">
22
+ A tool is a typed function the agent can invoke (e.g. `exec`, `browser`,
23
+ `web_search`, `message`). Durar ships a set of **built-in tools** and
24
+ plugins can register additional ones.
25
+
26
+ The agent sees tools as structured function definitions sent to the model API.
27
+
28
+ </Step>
29
+
30
+ <Step title="Skills teach the agent when and how">
31
+ A skill is a markdown file (`SKILL.md`) injected into the system prompt.
32
+ Skills give the agent context, constraints, and step-by-step guidance for
33
+ using tools effectively. Skills live in your workspace, in shared folders,
34
+ or ship inside plugins.
35
+
36
+ [Skills reference](/tools/skills) | [Creating skills](/tools/creating-skills)
37
+
38
+ </Step>
39
+
40
+ <Step title="Plugins package everything together">
41
+ A plugin is a package that can register any combination of capabilities:
42
+ channels, model providers, tools, skills, speech, realtime transcription,
43
+ realtime voice, media understanding, image generation, video generation,
44
+ web fetch, web search, and more. Some plugins are **core** (shipped with
45
+ Durar), others are **external** (published on npm by the community).
46
+
47
+ [Install and configure plugins](/tools/plugin) | [Build your own](/plugins/building-plugins)
48
+
49
+ </Step>
50
+ </Steps>
51
+
52
+ ## Built-in tools
53
+
54
+ These tools ship with Durar and are available without installing any plugins:
55
+
56
+ | Tool | What it does | Page |
57
+ | ------------------------------------------ | --------------------------------------------------------------------- | --------------------------------------- |
58
+ | `exec` / `process` | Run shell commands, manage background processes | [Exec](/tools/exec) |
59
+ | `code_execution` | Run sandboxed remote Python analysis | [Code Execution](/tools/code-execution) |
60
+ | `browser` | Control a Chromium browser (navigate, click, screenshot) | [Browser](/tools/browser) |
61
+ | `web_search` / `x_search` / `web_fetch` | Search the web, search X posts, fetch page content | [Web](/tools/web) |
62
+ | `read` / `write` / `edit` | File I/O in the workspace | |
63
+ | `apply_patch` | Multi-hunk file patches | [Apply Patch](/tools/apply-patch) |
64
+ | `message` | Send messages across all channels | [Agent Send](/tools/agent-send) |
65
+ | `canvas` | Drive node Canvas (present, eval, snapshot) | |
66
+ | `nodes` | Discover and target paired devices | |
67
+ | `cron` / `gateway` | Manage scheduled jobs; inspect, patch, restart, or update the gateway | |
68
+ | `image` / `image_generate` | Analyze or generate images | |
69
+ | `tts` | One-shot text-to-speech conversion | [TTS](/tools/tts) |
70
+ | `sessions_*` / `subagents` / `agents_list` | Session management, status, and sub-agent orchestration | [Sub-agents](/tools/subagents) |
71
+ | `session_status` | Lightweight `/status`-style readback and session model override | [Session Tools](/concepts/session-tool) |
72
+
73
+ For image work, use `image` for analysis and `image_generate` for generation or editing. If you target `openai/*`, `google/*`, `fal/*`, or another non-default image provider, configure that provider's auth/API key first.
74
+
75
+ `session_status` is the lightweight status/readback tool in the sessions group.
76
+ It answers `/status`-style questions about the current session and can
77
+ optionally set a per-session model override; `model=default` clears that
78
+ override. Like `/status`, it can backfill sparse token/cache counters and the
79
+ active runtime model label from the latest transcript usage entry.
80
+
81
+ `gateway` is the owner-only runtime tool for gateway operations:
82
+
83
+ - `config.schema.lookup` for one path-scoped config subtree before edits
84
+ - `config.get` for the current config snapshot + hash
85
+ - `config.patch` for partial config updates with restart
86
+ - `config.apply` only for full-config replacement
87
+ - `update.run` for explicit self-update + restart
88
+
89
+ For partial changes, prefer `config.schema.lookup` then `config.patch`. Use
90
+ `config.apply` only when you intentionally replace the entire config.
91
+ The tool also refuses to change `tools.exec.ask` or `tools.exec.security`;
92
+ legacy `tools.bash.*` aliases normalize to the same protected exec paths.
93
+
94
+ ### Plugin-provided tools
95
+
96
+ Plugins can register additional tools. Some examples:
97
+
98
+ - [Lobster](/tools/lobster) — typed workflow runtime with resumable approvals
99
+ - [LLM Task](/tools/llm-task) — JSON-only LLM step for structured output
100
+ - [Diffs](/tools/diffs) — diff viewer and renderer
101
+ - [OpenProse](/prose) — markdown-first workflow orchestration
102
+
103
+ ## Tool configuration
104
+
105
+ ### Allow and deny lists
106
+
107
+ Control which tools the agent can call via `tools.allow` / `tools.deny` in
108
+ config. Deny always wins over allow.
109
+
110
+ ```json5
111
+ {
112
+ tools: {
113
+ allow: ["group:fs", "browser", "web_search"],
114
+ deny: ["exec"],
115
+ },
116
+ }
117
+ ```
118
+
119
+ ### Tool profiles
120
+
121
+ `tools.profile` sets a base allowlist before `allow`/`deny` is applied.
122
+ Per-agent override: `agents.list[].tools.profile`.
123
+
124
+ | Profile | What it includes |
125
+ | ----------- | ------------------------------------------------------------------------------------------------------------- |
126
+ | `full` | No restriction (same as unset) |
127
+ | `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate` |
128
+ | `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
129
+ | `minimal` | `session_status` only |
130
+
131
+ ### Tool groups
132
+
133
+ Use `group:*` shorthands in allow/deny lists:
134
+
135
+ | Group | Tools |
136
+ | ------------------ | --------------------------------------------------------------------------------------------------------- |
137
+ | `group:runtime` | exec, process, code_execution (`bash` is accepted as an alias for `exec`) |
138
+ | `group:fs` | read, write, edit, apply_patch |
139
+ | `group:sessions` | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
140
+ | `group:memory` | memory_search, memory_get |
141
+ | `group:web` | web_search, x_search, web_fetch |
142
+ | `group:ui` | browser, canvas |
143
+ | `group:automation` | cron, gateway |
144
+ | `group:messaging` | message |
145
+ | `group:nodes` | nodes |
146
+ | `group:agents` | agents_list |
147
+ | `group:media` | image, image_generate, tts |
148
+ | `group:Durar` | All built-in Durar tools (excludes plugin tools) |
149
+
150
+ `sessions_history` returns a bounded, safety-filtered recall view. It strips
151
+ thinking tags, `<relevant-memories>` scaffolding, plain-text tool-call XML
152
+ payloads (including `<tool_call>...</tool_call>`,
153
+ `<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
154
+ `<function_calls>...</function_calls>`, and truncated tool-call blocks),
155
+ downgraded tool-call scaffolding, leaked ASCII/full-width model control
156
+ tokens, and malformed MiniMax tool-call XML from assistant text, then applies
157
+ redaction/truncation and possible oversized-row placeholders instead of acting
158
+ as a raw transcript dump.
159
+
160
+ ### Provider-specific restrictions
161
+
162
+ Use `tools.byProvider` to restrict tools for specific providers without
163
+ changing global defaults:
164
+
165
+ ```json5
166
+ {
167
+ tools: {
168
+ profile: "coding",
169
+ byProvider: {
170
+ "google-antigravity": { profile: "minimal" },
171
+ },
172
+ },
173
+ }
174
+ ```
@@ -0,0 +1,98 @@
1
+ ---
2
+ summary: "Kimi web search via Moonshot web search"
3
+ read_when:
4
+ - You want to use Kimi for web_search
5
+ - You need a KIMI_API_KEY or MOONSHOT_API_KEY
6
+ title: "Kimi Search"
7
+ ---
8
+
9
+ # Kimi Search
10
+
11
+ Durar supports Kimi as a `web_search` provider, using Moonshot web search
12
+ to produce AI-synthesized answers with citations.
13
+
14
+ ## Get an API key
15
+
16
+ <Steps>
17
+ <Step title="Create a key">
18
+ Get an API key from [Moonshot AI](https://platform.moonshot.cn/).
19
+ </Step>
20
+ <Step title="Store the key">
21
+ Set `KIMI_API_KEY` or `MOONSHOT_API_KEY` in the Gateway environment, or
22
+ configure via:
23
+
24
+ ```bash
25
+ Durar configure --section web
26
+ ```
27
+
28
+ </Step>
29
+ </Steps>
30
+
31
+ When you choose **Kimi** during `Durar onboard` or
32
+ `Durar configure --section web`, Durar can also ask for:
33
+
34
+ - the Moonshot API region:
35
+ - `https://api.moonshot.ai/v1`
36
+ - `https://api.moonshot.cn/v1`
37
+ - the default Kimi web-search model (defaults to `kimi-k2.5`)
38
+
39
+ ## Config
40
+
41
+ ```json5
42
+ {
43
+ plugins: {
44
+ entries: {
45
+ moonshot: {
46
+ config: {
47
+ webSearch: {
48
+ apiKey: "sk-...", // optional if KIMI_API_KEY or MOONSHOT_API_KEY is set
49
+ baseUrl: "https://api.moonshot.ai/v1",
50
+ model: "kimi-k2.5",
51
+ },
52
+ },
53
+ },
54
+ },
55
+ },
56
+ tools: {
57
+ web: {
58
+ search: {
59
+ provider: "kimi",
60
+ },
61
+ },
62
+ },
63
+ }
64
+ ```
65
+
66
+ If you use the China API host for chat (`models.providers.moonshot.baseUrl`:
67
+ `https://api.moonshot.cn/v1`), Durar reuses that same host for Kimi
68
+ `web_search` when `tools.web.search.kimi.baseUrl` is omitted, so keys from
69
+ [platform.moonshot.cn](https://platform.moonshot.cn/) do not hit the
70
+ international endpoint by mistake (which often returns HTTP 401). Override
71
+ with `tools.web.search.kimi.baseUrl` when you need a different search base URL.
72
+
73
+ **Environment alternative:** set `KIMI_API_KEY` or `MOONSHOT_API_KEY` in the
74
+ Gateway environment. For a gateway install, put it in `~/.Durar/.env`.
75
+
76
+ If you omit `baseUrl`, Durar defaults to `https://api.moonshot.ai/v1`.
77
+ If you omit `model`, Durar defaults to `kimi-k2.5`.
78
+
79
+ ## How it works
80
+
81
+ Kimi uses Moonshot web search to synthesize answers with inline citations,
82
+ similar to Gemini and Grok's grounded response approach.
83
+
84
+ ## Supported parameters
85
+
86
+ Kimi search supports `query`.
87
+
88
+ `count` is accepted for shared `web_search` compatibility, but Kimi still
89
+ returns one synthesized answer with citations rather than an N-result list.
90
+
91
+ Provider-specific filters are not currently supported.
92
+
93
+ ## Related
94
+
95
+ - [Web Search overview](/tools/web) -- all providers and auto-detection
96
+ - [Moonshot AI](/providers/moonshot) -- Moonshot model + Kimi Coding provider docs
97
+ - [Gemini Search](/tools/gemini-search) -- AI-synthesized answers via Google grounding
98
+ - [Grok Search](/tools/grok-search) -- AI-synthesized answers via xAI grounding
@@ -0,0 +1,119 @@
1
+ ---
2
+ summary: "JSON-only LLM tasks for workflows (optional plugin tool)"
3
+ read_when:
4
+ - You want a JSON-only LLM step inside workflows
5
+ - You need schema-validated LLM output for automation
6
+ title: "LLM Task"
7
+ ---
8
+
9
+ # LLM Task
10
+
11
+ `llm-task` is an **optional plugin tool** that runs a JSON-only LLM task and
12
+ returns structured output (optionally validated against JSON Schema).
13
+
14
+ This is ideal for workflow engines like Lobster: you can add a single LLM step
15
+ without writing custom Durar code for each workflow.
16
+
17
+ ## Enable the plugin
18
+
19
+ 1. Enable the plugin:
20
+
21
+ ```json
22
+ {
23
+ "plugins": {
24
+ "entries": {
25
+ "llm-task": { "enabled": true }
26
+ }
27
+ }
28
+ }
29
+ ```
30
+
31
+ 2. Allowlist the tool (it is registered with `optional: true`):
32
+
33
+ ```json
34
+ {
35
+ "agents": {
36
+ "list": [
37
+ {
38
+ "id": "main",
39
+ "tools": { "allow": ["llm-task"] }
40
+ }
41
+ ]
42
+ }
43
+ }
44
+ ```
45
+
46
+ ## Config (optional)
47
+
48
+ ```json
49
+ {
50
+ "plugins": {
51
+ "entries": {
52
+ "llm-task": {
53
+ "enabled": true,
54
+ "config": {
55
+ "defaultProvider": "openai-codex",
56
+ "defaultModel": "gpt-5.4",
57
+ "defaultAuthProfileId": "main",
58
+ "allowedModels": ["openai-codex/gpt-5.4"],
59
+ "maxTokens": 800,
60
+ "timeoutMs": 30000
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ `allowedModels` is an allowlist of `provider/model` strings. If set, any request
69
+ outside the list is rejected.
70
+
71
+ ## Tool parameters
72
+
73
+ - `prompt` (string, required)
74
+ - `input` (any, optional)
75
+ - `schema` (object, optional JSON Schema)
76
+ - `provider` (string, optional)
77
+ - `model` (string, optional)
78
+ - `thinking` (string, optional)
79
+ - `authProfileId` (string, optional)
80
+ - `temperature` (number, optional)
81
+ - `maxTokens` (number, optional)
82
+ - `timeoutMs` (number, optional)
83
+
84
+ `thinking` accepts the standard Durar reasoning presets, such as `low` or `medium`.
85
+
86
+ ## Output
87
+
88
+ Returns `details.json` containing the parsed JSON (and validates against
89
+ `schema` when provided).
90
+
91
+ ## Example: Lobster workflow step
92
+
93
+ ```lobster
94
+ Durar.invoke --tool llm-task --action json --args-json '{
95
+ "prompt": "Given the input email, return intent and draft.",
96
+ "thinking": "low",
97
+ "input": {
98
+ "subject": "Hello",
99
+ "body": "Can you help?"
100
+ },
101
+ "schema": {
102
+ "type": "object",
103
+ "properties": {
104
+ "intent": { "type": "string" },
105
+ "draft": { "type": "string" }
106
+ },
107
+ "required": ["intent", "draft"],
108
+ "additionalProperties": false
109
+ }
110
+ }'
111
+ ```
112
+
113
+ ## Safety notes
114
+
115
+ - The tool is **JSON-only** and instructs the model to output only JSON (no
116
+ code fences, no commentary).
117
+ - No tools are exposed to the model for this run.
118
+ - Treat output as untrusted unless you validate with `schema`.
119
+ - Put approvals before any side-effecting step (send, post, exec).