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,142 @@
1
+ ---
2
+ summary: "Ephemeral side questions with /btw"
3
+ read_when:
4
+ - You want to ask a quick side question about the current session
5
+ - You are implementing or debugging BTW behavior across clients
6
+ title: "BTW Side Questions"
7
+ ---
8
+
9
+ # BTW Side Questions
10
+
11
+ `/btw` lets you ask a quick side question about the **current session** without
12
+ turning that question into normal conversation history.
13
+
14
+ It is modeled after Claude Code's `/btw` behavior, but adapted to Durar's
15
+ Gateway and multi-channel architecture.
16
+
17
+ ## What it does
18
+
19
+ When you send:
20
+
21
+ ```text
22
+ /btw what changed?
23
+ ```
24
+
25
+ Durar:
26
+
27
+ 1. snapshots the current session context,
28
+ 2. runs a separate **tool-less** model call,
29
+ 3. answers only the side question,
30
+ 4. leaves the main run alone,
31
+ 5. does **not** write the BTW question or answer to session history,
32
+ 6. emits the answer as a **live side result** rather than a normal assistant message.
33
+
34
+ The important mental model is:
35
+
36
+ - same session context
37
+ - separate one-shot side query
38
+ - no tool calls
39
+ - no future context pollution
40
+ - no transcript persistence
41
+
42
+ ## What it does not do
43
+
44
+ `/btw` does **not**:
45
+
46
+ - create a new durable session,
47
+ - continue the unfinished main task,
48
+ - run tools or agent tool loops,
49
+ - write BTW question/answer data to transcript history,
50
+ - appear in `chat.history`,
51
+ - survive a reload.
52
+
53
+ It is intentionally **ephemeral**.
54
+
55
+ ## How context works
56
+
57
+ BTW uses the current session as **background context only**.
58
+
59
+ If the main run is currently active, Durar snapshots the current message
60
+ state and includes the in-flight main prompt as background context, while
61
+ explicitly telling the model:
62
+
63
+ - answer only the side question,
64
+ - do not resume or complete the unfinished main task,
65
+ - do not emit tool calls or pseudo-tool calls.
66
+
67
+ That keeps BTW isolated from the main run while still making it aware of what
68
+ the session is about.
69
+
70
+ ## Delivery model
71
+
72
+ BTW is **not** delivered as a normal assistant transcript message.
73
+
74
+ At the Gateway protocol level:
75
+
76
+ - normal assistant chat uses the `chat` event
77
+ - BTW uses the `chat.side_result` event
78
+
79
+ This separation is intentional. If BTW reused the normal `chat` event path,
80
+ clients would treat it like regular conversation history.
81
+
82
+ Because BTW uses a separate live event and is not replayed from
83
+ `chat.history`, it disappears after reload.
84
+
85
+ ## Surface behavior
86
+
87
+ ### TUI
88
+
89
+ In TUI, BTW is rendered inline in the current session view, but it remains
90
+ ephemeral:
91
+
92
+ - visibly distinct from a normal assistant reply
93
+ - dismissible with `Enter` or `Esc`
94
+ - not replayed on reload
95
+
96
+ ### External channels
97
+
98
+ On channels like Telegram, WhatsApp, and Discord, BTW is delivered as a
99
+ clearly labeled one-off reply because those surfaces do not have a local
100
+ ephemeral overlay concept.
101
+
102
+ The answer is still treated as a side result, not normal session history.
103
+
104
+ ### Control UI / web
105
+
106
+ The Gateway emits BTW correctly as `chat.side_result`, and BTW is not included
107
+ in `chat.history`, so the persistence contract is already correct for web.
108
+
109
+ The current Control UI still needs a dedicated `chat.side_result` consumer to
110
+ render BTW live in the browser. Until that client-side support lands, BTW is a
111
+ Gateway-level feature with full TUI and external-channel behavior, but not yet
112
+ a complete browser UX.
113
+
114
+ ## When to use BTW
115
+
116
+ Use `/btw` when you want:
117
+
118
+ - a quick clarification about the current work,
119
+ - a factual side answer while a long run is still in progress,
120
+ - a temporary answer that should not become part of future session context.
121
+
122
+ Examples:
123
+
124
+ ```text
125
+ /btw what file are we editing?
126
+ /btw what does this error mean?
127
+ /btw summarize the current task in one sentence
128
+ /btw what is 17 * 19?
129
+ ```
130
+
131
+ ## When not to use BTW
132
+
133
+ Do not use `/btw` when you want the answer to become part of the session's
134
+ future working context.
135
+
136
+ In that case, ask normally in the main session instead of using BTW.
137
+
138
+ ## Related
139
+
140
+ - [Slash commands](/tools/slash-commands)
141
+ - [Thinking Levels](/tools/thinking)
142
+ - [Session](/concepts/session)
@@ -0,0 +1,119 @@
1
+ ---
2
+ summary: "Contributor guide for adding a new shared capability to the Durar plugin system"
3
+ read_when:
4
+ - Adding a new core capability and plugin registration surface
5
+ - Deciding whether code belongs in core, a vendor plugin, or a feature plugin
6
+ - Wiring a new runtime helper for channels or tools
7
+ title: "Adding Capabilities (Contributor Guide)"
8
+ sidebarTitle: "Adding Capabilities"
9
+ ---
10
+
11
+ # Adding Capabilities
12
+
13
+ <Info>
14
+ This is a **contributor guide** for Durar core developers. If you are
15
+ building an external plugin, see [Building Plugins](/plugins/building-plugins)
16
+ instead.
17
+ </Info>
18
+
19
+ Use this when Durar needs a new domain such as image generation, video
20
+ generation, or some future vendor-backed feature area.
21
+
22
+ The rule:
23
+
24
+ - plugin = ownership boundary
25
+ - capability = shared core contract
26
+
27
+ That means you should not start by wiring a vendor directly into a channel or a
28
+ tool. Start by defining the capability.
29
+
30
+ ## When to create a capability
31
+
32
+ Create a new capability when all of these are true:
33
+
34
+ 1. more than one vendor could plausibly implement it
35
+ 2. channels, tools, or feature plugins should consume it without caring about
36
+ the vendor
37
+ 3. core needs to own fallback, policy, config, or delivery behavior
38
+
39
+ If the work is vendor-only and no shared contract exists yet, stop and define
40
+ the contract first.
41
+
42
+ ## The standard sequence
43
+
44
+ 1. Define the typed core contract.
45
+ 2. Add plugin registration for that contract.
46
+ 3. Add a shared runtime helper.
47
+ 4. Wire one real vendor plugin as proof.
48
+ 5. Move feature/channel consumers onto the runtime helper.
49
+ 6. Add contract tests.
50
+ 7. Document the operator-facing config and ownership model.
51
+
52
+ ## What goes where
53
+
54
+ Core:
55
+
56
+ - request/response types
57
+ - provider registry + resolution
58
+ - fallback behavior
59
+ - config schema plus propagated `title` / `description` docs metadata on nested object, wildcard, array-item, and composition nodes
60
+ - runtime helper surface
61
+
62
+ Vendor plugin:
63
+
64
+ - vendor API calls
65
+ - vendor auth handling
66
+ - vendor-specific request normalization
67
+ - registration of the capability implementation
68
+
69
+ Feature/channel plugin:
70
+
71
+ - calls `api.runtime.*` or the matching `plugin-sdk/*-runtime` helper
72
+ - never calls a vendor implementation directly
73
+
74
+ ## File checklist
75
+
76
+ For a new capability, expect to touch these areas:
77
+
78
+ - `src/<capability>/types.ts`
79
+ - `src/<capability>/...registry/runtime.ts`
80
+ - `src/plugins/types.ts`
81
+ - `src/plugins/registry.ts`
82
+ - `src/plugins/captured-registration.ts`
83
+ - `src/plugins/contracts/registry.ts`
84
+ - `src/plugins/runtime/types-core.ts`
85
+ - `src/plugins/runtime/index.ts`
86
+ - `src/plugin-sdk/<capability>.ts`
87
+ - `src/plugin-sdk/<capability>-runtime.ts`
88
+ - one or more bundled plugin packages
89
+ - config/docs/tests
90
+
91
+ ## Example: image generation
92
+
93
+ Image generation follows the standard shape:
94
+
95
+ 1. core defines `ImageGenerationProvider`
96
+ 2. core exposes `registerImageGenerationProvider(...)`
97
+ 3. core exposes `runtime.imageGeneration.generate(...)`
98
+ 4. the `openai`, `google`, `fal`, and `minimax` plugins register vendor-backed implementations
99
+ 5. future vendors can register the same contract without changing channels/tools
100
+
101
+ The config key is separate from vision-analysis routing:
102
+
103
+ - `agents.defaults.imageModel` = analyze images
104
+ - `agents.defaults.imageGenerationModel` = generate images
105
+
106
+ Keep those separate so fallback and policy remain explicit.
107
+
108
+ ## Review checklist
109
+
110
+ Before shipping a new capability, verify:
111
+
112
+ - no channel/tool imports vendor code directly
113
+ - the runtime helper is the shared path
114
+ - at least one contract test asserts bundled ownership
115
+ - config docs name the new model/config key
116
+ - plugin docs explain the ownership boundary
117
+
118
+ If a PR skips the capability layer and hardcodes vendor behavior into a
119
+ channel/tool, send it back and define the contract first.
@@ -0,0 +1,348 @@
1
+ ---
2
+ summary: "Durar Gateway guide: public registry, native Durar install flows, and Durar Gateway CLI workflows"
3
+ read_when:
4
+ - Introducing Durar Gateway to new users
5
+ - Installing, searching, or publishing skills or plugins
6
+ - Explaining Durar Gateway CLI flags and sync behavior
7
+ title: "Durar Gateway"
8
+ ---
9
+
10
+ # Durar Gateway
11
+
12
+ Durar Gateway is the public registry for **Durar skills and plugins**.
13
+
14
+ - Use native `Durar` commands to search/install/update skills and install
15
+ plugins from Durar Gateway.
16
+ - Use the separate `Durar Gateway` CLI when you need registry auth, publish, delete,
17
+ undelete, or sync workflows.
18
+
19
+ Site: [Durar Gateway.ai](https://Durar Gateway.ai)
20
+
21
+ ## Native Durar flows
22
+
23
+ Skills:
24
+
25
+ ```bash
26
+ Durar skills search "calendar"
27
+ Durar skills install <skill-slug>
28
+ Durar skills update --all
29
+ ```
30
+
31
+ Plugins:
32
+
33
+ ```bash
34
+ Durar plugins install Durar Gateway:<package>
35
+ Durar plugins update --all
36
+ ```
37
+
38
+ Bare npm-safe plugin specs are also tried against Durar Gateway before npm:
39
+
40
+ ```bash
41
+ Durar plugins install Durar-codex-app-server
42
+ ```
43
+
44
+ Native `Durar` commands install into your active workspace and persist source
45
+ metadata so later `update` calls can stay on Durar Gateway.
46
+
47
+ Plugin installs validate advertised `pluginApi` and `minGatewayVersion`
48
+ compatibility before archive install runs, so incompatible hosts fail closed
49
+ early instead of partially installing the package.
50
+
51
+ `Durar plugins install Durar Gateway:...` only accepts installable plugin families.
52
+ If a Durar Gateway package is actually a skill, Durar stops and points you at
53
+ `Durar skills install <slug>` instead.
54
+
55
+ ## What Durar Gateway is
56
+
57
+ - A public registry for Durar skills and plugins.
58
+ - A versioned store of skill bundles and metadata.
59
+ - A discovery surface for search, tags, and usage signals.
60
+
61
+ ## How it works
62
+
63
+ 1. A user publishes a skill bundle (files + metadata).
64
+ 2. Durar Gateway stores the bundle, parses metadata, and assigns a version.
65
+ 3. The registry indexes the skill for search and discovery.
66
+ 4. Users browse, download, and install skills in Durar.
67
+
68
+ ## What you can do
69
+
70
+ - Publish new skills and new versions of existing skills.
71
+ - Discover skills by name, tags, or search.
72
+ - Download skill bundles and inspect their files.
73
+ - Report skills that are abusive or unsafe.
74
+ - If you are a moderator, hide, unhide, delete, or ban.
75
+
76
+ ## Who this is for (beginner-friendly)
77
+
78
+ If you want to add new capabilities to your Durar agent, Durar Gateway is the easiest way to find and install skills. You do not need to know how the backend works. You can:
79
+
80
+ - Search for skills by plain language.
81
+ - Install a skill into your workspace.
82
+ - Update skills later with one command.
83
+ - Back up your own skills by publishing them.
84
+
85
+ ## Quick start (non-technical)
86
+
87
+ 1. Search for something you need:
88
+ - `Durar skills search "calendar"`
89
+ 2. Install a skill:
90
+ - `Durar skills install <skill-slug>`
91
+ 3. Start a new Durar session so it picks up the new skill.
92
+ 4. If you want to publish or manage registry auth, install the separate
93
+ `Durar Gateway` CLI too.
94
+
95
+ ## Install the Durar Gateway CLI
96
+
97
+ You only need this for registry-authenticated workflows such as publish/sync:
98
+
99
+ ```bash
100
+ npm i -g Durar Gateway
101
+ ```
102
+
103
+ ```bash
104
+ pnpm add -g Durar Gateway
105
+ ```
106
+
107
+ ## How it fits into Durar
108
+
109
+ Native `Durar skills install` installs into the active workspace `skills/`
110
+ directory. `Durar plugins install Durar Gateway:...` records a normal managed
111
+ plugin install plus Durar Gateway source metadata for updates.
112
+
113
+ Anonymous Durar Gateway plugin installs also fail closed for private packages.
114
+ Community or other non-official channels can still install, but Durar warns
115
+ so operators can review source and verification before enabling them.
116
+
117
+ The separate `Durar Gateway` CLI also installs skills into `./skills` under your
118
+ current working directory. If an Durar workspace is configured, `Durar Gateway`
119
+ falls back to that workspace unless you override `--workdir` (or
120
+ `Durar Gateway_WORKDIR`). Durar loads workspace skills from `<workspace>/skills`
121
+ and will pick them up in the **next** session. If you already use
122
+ `~/.Durar/skills` or bundled skills, workspace skills take precedence.
123
+
124
+ For more detail on how skills are loaded, shared, and gated, see
125
+ [Skills](/tools/skills).
126
+
127
+ ## Skill system overview
128
+
129
+ A skill is a versioned bundle of files that teaches Durar how to perform a
130
+ specific task. Each publish creates a new version, and the registry keeps a
131
+ history of versions so users can audit changes.
132
+
133
+ A typical skill includes:
134
+
135
+ - A `SKILL.md` file with the primary description and usage.
136
+ - Optional configs, scripts, or supporting files used by the skill.
137
+ - Metadata such as tags, summary, and install requirements.
138
+
139
+ Durar Gateway uses metadata to power discovery and safely expose skill capabilities.
140
+ The registry also tracks usage signals (such as stars and downloads) to improve
141
+ ranking and visibility.
142
+
143
+ ## What the service provides (features)
144
+
145
+ - **Public browsing** of skills and their `SKILL.md` content.
146
+ - **Search** powered by embeddings (vector search), not just keywords.
147
+ - **Versioning** with semver, changelogs, and tags (including `latest`).
148
+ - **Downloads** as a zip per version.
149
+ - **Stars and comments** for community feedback.
150
+ - **Moderation** hooks for approvals and audits.
151
+ - **CLI-friendly API** for automation and scripting.
152
+
153
+ ## Security and moderation
154
+
155
+ Durar Gateway is open by default. Anyone can upload skills, but a GitHub account must
156
+ be at least one week old to publish. This helps slow down abuse without blocking
157
+ legitimate contributors.
158
+
159
+ Reporting and moderation:
160
+
161
+ - Any signed in user can report a skill.
162
+ - Report reasons are required and recorded.
163
+ - Each user can have up to 20 active reports at a time.
164
+ - Skills with more than 3 unique reports are auto hidden by default.
165
+ - Moderators can view hidden skills, unhide them, delete them, or ban users.
166
+ - Abusing the report feature can result in account bans.
167
+
168
+ Interested in becoming a moderator? Ask in the Durar Discord and contact a
169
+ moderator or maintainer.
170
+
171
+ ## CLI commands and parameters
172
+
173
+ Global options (apply to all commands):
174
+
175
+ - `--workdir <dir>`: Working directory (default: current dir; falls back to Durar workspace).
176
+ - `--dir <dir>`: Skills directory, relative to workdir (default: `skills`).
177
+ - `--site <url>`: Site base URL (browser login).
178
+ - `--registry <url>`: Registry API base URL.
179
+ - `--no-input`: Disable prompts (non-interactive).
180
+ - `-V, --cli-version`: Print CLI version.
181
+
182
+ Auth:
183
+
184
+ - `Durar Gateway login` (browser flow) or `Durar Gateway login --token <token>`
185
+ - `Durar Gateway logout`
186
+ - `Durar Gateway whoami`
187
+
188
+ Options:
189
+
190
+ - `--token <token>`: Paste an API token.
191
+ - `--label <label>`: Label stored for browser login tokens (default: `CLI token`).
192
+ - `--no-browser`: Do not open a browser (requires `--token`).
193
+
194
+ Search:
195
+
196
+ - `Durar Gateway search "query"`
197
+ - `--limit <n>`: Max results.
198
+
199
+ Install:
200
+
201
+ - `Durar Gateway install <slug>`
202
+ - `--version <version>`: Install a specific version.
203
+ - `--force`: Overwrite if the folder already exists.
204
+
205
+ Update:
206
+
207
+ - `Durar Gateway update <slug>`
208
+ - `Durar Gateway update --all`
209
+ - `--version <version>`: Update to a specific version (single slug only).
210
+ - `--force`: Overwrite when local files do not match any published version.
211
+
212
+ List:
213
+
214
+ - `Durar Gateway list` (reads `.Durar Gateway/lock.json`)
215
+
216
+ Publish skills:
217
+
218
+ - `Durar Gateway skill publish <path>`
219
+ - `--slug <slug>`: Skill slug.
220
+ - `--name <name>`: Display name.
221
+ - `--version <version>`: Semver version.
222
+ - `--changelog <text>`: Changelog text (can be empty).
223
+ - `--tags <tags>`: Comma-separated tags (default: `latest`).
224
+
225
+ Publish plugins:
226
+
227
+ - `Durar Gateway package publish <source>`
228
+ - `<source>` can be a local folder, `owner/repo`, `owner/repo@ref`, or a GitHub URL.
229
+ - `--dry-run`: Build the exact publish plan without uploading anything.
230
+ - `--json`: Emit machine-readable output for CI.
231
+ - `--source-repo`, `--source-commit`, `--source-ref`: Optional overrides when auto-detection is not enough.
232
+
233
+ Delete/undelete (owner/admin only):
234
+
235
+ - `Durar Gateway delete <slug> --yes`
236
+ - `Durar Gateway undelete <slug> --yes`
237
+
238
+ Sync (scan local skills + publish new/updated):
239
+
240
+ - `Durar Gateway sync`
241
+ - `--root <dir...>`: Extra scan roots.
242
+ - `--all`: Upload everything without prompts.
243
+ - `--dry-run`: Show what would be uploaded.
244
+ - `--bump <type>`: `patch|minor|major` for updates (default: `patch`).
245
+ - `--changelog <text>`: Changelog for non-interactive updates.
246
+ - `--tags <tags>`: Comma-separated tags (default: `latest`).
247
+ - `--concurrency <n>`: Registry checks (default: 4).
248
+
249
+ ## Common workflows for agents
250
+
251
+ ### Search for skills
252
+
253
+ ```bash
254
+ Durar Gateway search "postgres backups"
255
+ ```
256
+
257
+ ### Download new skills
258
+
259
+ ```bash
260
+ Durar Gateway install my-skill-pack
261
+ ```
262
+
263
+ ### Update installed skills
264
+
265
+ ```bash
266
+ Durar Gateway update --all
267
+ ```
268
+
269
+ ### Back up your skills (publish or sync)
270
+
271
+ For a single skill folder:
272
+
273
+ ```bash
274
+ Durar Gateway skill publish ./my-skill --slug my-skill --name "My Skill" --version 1.0.0 --tags latest
275
+ ```
276
+
277
+ To scan and back up many skills at once:
278
+
279
+ ```bash
280
+ Durar Gateway sync --all
281
+ ```
282
+
283
+ ### Publish a plugin from GitHub
284
+
285
+ ```bash
286
+ Durar Gateway package publish your-org/your-plugin --dry-run
287
+ Durar Gateway package publish your-org/your-plugin
288
+ Durar Gateway package publish your-org/your-plugin@v1.0.0
289
+ Durar Gateway package publish https://github.com/your-org/your-plugin
290
+ ```
291
+
292
+ Code plugins must include the required Durar metadata in `package.json`:
293
+
294
+ ```json
295
+ {
296
+ "name": "@myorg/Durar-my-plugin",
297
+ "version": "1.0.0",
298
+ "type": "module",
299
+ "Durar": {
300
+ "extensions": ["./index.ts"],
301
+ "compat": {
302
+ "pluginApi": ">=2026.3.24-beta.2",
303
+ "minGatewayVersion": "2026.3.24-beta.2"
304
+ },
305
+ "build": {
306
+ "DurarVersion": "2026.3.24-beta.2",
307
+ "pluginSdkVersion": "2026.3.24-beta.2"
308
+ }
309
+ }
310
+ }
311
+ ```
312
+
313
+ ## Advanced details (technical)
314
+
315
+ ### Versioning and tags
316
+
317
+ - Each publish creates a new **semver** `SkillVersion`.
318
+ - Tags (like `latest`) point to a version; moving tags lets you roll back.
319
+ - Changelogs are attached per version and can be empty when syncing or publishing updates.
320
+
321
+ ### Local changes vs registry versions
322
+
323
+ Updates compare the local skill contents to registry versions using a content hash. If local files do not match any published version, the CLI asks before overwriting (or requires `--force` in non-interactive runs).
324
+
325
+ ### Sync scanning and fallback roots
326
+
327
+ `Durar Gateway sync` scans your current workdir first. If no skills are found, it falls back to known legacy locations (for example `~/Durar/skills` and `~/.Durar/skills`). This is designed to find older skill installs without extra flags.
328
+
329
+ ### Storage and lockfile
330
+
331
+ - Installed skills are recorded in `.Durar Gateway/lock.json` under your workdir.
332
+ - Auth tokens are stored in the Durar Gateway CLI config file (override via `Durar Gateway_CONFIG_PATH`).
333
+
334
+ ### Telemetry (install counts)
335
+
336
+ When you run `Durar Gateway sync` while logged in, the CLI sends a minimal snapshot to compute install counts. You can disable this entirely:
337
+
338
+ ```bash
339
+ export Durar Gateway_DISABLE_TELEMETRY=1
340
+ ```
341
+
342
+ ## Environment variables
343
+
344
+ - `Durar Gateway_SITE`: Override the site URL.
345
+ - `Durar Gateway_REGISTRY`: Override the registry API URL.
346
+ - `Durar Gateway_CONFIG_PATH`: Override where the CLI stores the token/config.
347
+ - `Durar Gateway_WORKDIR`: Override the default workdir.
348
+ - `Durar Gateway_DISABLE_TELEMETRY=1`: Disable telemetry on `sync`.
@@ -0,0 +1,90 @@
1
+ ---
2
+ summary: "code_execution -- run sandboxed remote Python analysis with xAI"
3
+ read_when:
4
+ - You want to enable or configure code_execution
5
+ - You want remote analysis without local shell access
6
+ - You want to combine x_search or web_search with remote Python analysis
7
+ title: "Code Execution"
8
+ ---
9
+
10
+ # Code Execution
11
+
12
+ `code_execution` runs sandboxed remote Python analysis on xAI's Responses API.
13
+ This is different from local [`exec`](/tools/exec):
14
+
15
+ - `exec` runs shell commands on your machine or node
16
+ - `code_execution` runs Python in xAI's remote sandbox
17
+
18
+ Use `code_execution` for:
19
+
20
+ - calculations
21
+ - tabulation
22
+ - quick statistics
23
+ - chart-style analysis
24
+ - analyzing data returned by `x_search` or `web_search`
25
+
26
+ Do **not** use it when you need local files, your shell, your repo, or paired
27
+ devices. Use [`exec`](/tools/exec) for that.
28
+
29
+ ## Setup
30
+
31
+ You need an xAI API key. Any of these work:
32
+
33
+ - `XAI_API_KEY`
34
+ - `plugins.entries.xai.config.webSearch.apiKey`
35
+
36
+ Example:
37
+
38
+ ```json5
39
+ {
40
+ plugins: {
41
+ entries: {
42
+ xai: {
43
+ config: {
44
+ webSearch: {
45
+ apiKey: "xai-...",
46
+ },
47
+ codeExecution: {
48
+ enabled: true,
49
+ model: "grok-4-1-fast",
50
+ maxTurns: 2,
51
+ timeoutSeconds: 30,
52
+ },
53
+ },
54
+ },
55
+ },
56
+ },
57
+ }
58
+ ```
59
+
60
+ ## How To Use It
61
+
62
+ Ask naturally and make the analysis intent explicit:
63
+
64
+ ```text
65
+ Use code_execution to calculate the 7-day moving average for these numbers: ...
66
+ ```
67
+
68
+ ```text
69
+ Use x_search to find posts mentioning Durar this week, then use code_execution to count them by day.
70
+ ```
71
+
72
+ ```text
73
+ Use web_search to gather the latest AI benchmark numbers, then use code_execution to compare percent changes.
74
+ ```
75
+
76
+ The tool takes a single `task` parameter internally, so the agent should send
77
+ the full analysis request and any inline data in one prompt.
78
+
79
+ ## Limits
80
+
81
+ - This is remote xAI execution, not local process execution.
82
+ - It should be treated as ephemeral analysis, not a persistent notebook.
83
+ - Do not assume access to local files or your workspace.
84
+ - For fresh X data, use [`x_search`](/tools/web#x_search) first.
85
+
86
+ ## See Also
87
+
88
+ - [Web tools](/tools/web)
89
+ - [Exec](/tools/exec)
90
+ - [xAI](/providers/xai)