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,307 @@
1
+ ---
2
+ summary: "Durar Gateway CLI (`Durar gateway`) — run, query, and discover gateways"
3
+ read_when:
4
+ - Running the Gateway from the CLI (dev or servers)
5
+ - Debugging Gateway auth, bind modes, and connectivity
6
+ - Discovering gateways via Bonjour (local + wide-area DNS-SD)
7
+ title: "gateway"
8
+ ---
9
+
10
+ # Gateway CLI
11
+
12
+ The Gateway is Durar’s WebSocket server (channels, nodes, sessions, hooks).
13
+
14
+ Subcommands in this page live under `Durar gateway …`.
15
+
16
+ Related docs:
17
+
18
+ - [/gateway/bonjour](/gateway/bonjour)
19
+ - [/gateway/discovery](/gateway/discovery)
20
+ - [/gateway/configuration](/gateway/configuration)
21
+
22
+ ## Run the Gateway
23
+
24
+ Run a local Gateway process:
25
+
26
+ ```bash
27
+ Durar gateway
28
+ ```
29
+
30
+ Foreground alias:
31
+
32
+ ```bash
33
+ Durar gateway run
34
+ ```
35
+
36
+ Notes:
37
+
38
+ - By default, the Gateway refuses to start unless `gateway.mode=local` is set in `~/.Durar/Durar.json`. Use `--allow-unconfigured` for ad-hoc/dev runs.
39
+ - `Durar onboard --mode local` and `Durar setup` are expected to write `gateway.mode=local`. If the file exists but `gateway.mode` is missing, treat that as a broken or clobbered config and repair it instead of assuming local mode implicitly.
40
+ - If the file exists and `gateway.mode` is missing, the Gateway treats that as suspicious config damage and refuses to “guess local” for you.
41
+ - Binding beyond loopback without auth is blocked (safety guardrail).
42
+ - `SIGUSR1` triggers an in-process restart when authorized (`commands.restart` is enabled by default; set `commands.restart: false` to block manual restart, while gateway tool/config apply/update remain allowed).
43
+ - `SIGINT`/`SIGTERM` handlers stop the gateway process, but they don’t restore any custom terminal state. If you wrap the CLI with a TUI or raw-mode input, restore the terminal before exit.
44
+
45
+ ### Options
46
+
47
+ - `--port <port>`: WebSocket port (default comes from config/env; usually `18789`).
48
+ - `--bind <loopback|lan|tailnet|auto|custom>`: listener bind mode.
49
+ - `--auth <token|password>`: auth mode override.
50
+ - `--token <token>`: token override (also sets `Durar_GATEWAY_TOKEN` for the process).
51
+ - `--password <password>`: password override. Warning: inline passwords can be exposed in local process listings.
52
+ - `--password-file <path>`: read the gateway password from a file.
53
+ - `--tailscale <off|serve|funnel>`: expose the Gateway via Tailscale.
54
+ - `--tailscale-reset-on-exit`: reset Tailscale serve/funnel config on shutdown.
55
+ - `--allow-unconfigured`: allow gateway start without `gateway.mode=local` in config. This bypasses the startup guard for ad-hoc/dev bootstrap only; it does not write or repair the config file.
56
+ - `--dev`: create a dev config + workspace if missing (skips BOOTSTRAP.md).
57
+ - `--reset`: reset dev config + credentials + sessions + workspace (requires `--dev`).
58
+ - `--force`: kill any existing listener on the selected port before starting.
59
+ - `--verbose`: verbose logs.
60
+ - `--cli-backend-logs`: only show CLI backend logs in the console (and enable stdout/stderr).
61
+ - `--claude-cli-logs`: deprecated alias for `--cli-backend-logs`.
62
+ - `--ws-log <auto|full|compact>`: websocket log style (default `auto`).
63
+ - `--compact`: alias for `--ws-log compact`.
64
+ - `--raw-stream`: log raw model stream events to jsonl.
65
+ - `--raw-stream-path <path>`: raw stream jsonl path.
66
+
67
+ ## Query a running Gateway
68
+
69
+ All query commands use WebSocket RPC.
70
+
71
+ Output modes:
72
+
73
+ - Default: human-readable (colored in TTY).
74
+ - `--json`: machine-readable JSON (no styling/spinner).
75
+ - `--no-color` (or `NO_COLOR=1`): disable ANSI while keeping human layout.
76
+
77
+ Shared options (where supported):
78
+
79
+ - `--url <url>`: Gateway WebSocket URL.
80
+ - `--token <token>`: Gateway token.
81
+ - `--password <password>`: Gateway password.
82
+ - `--timeout <ms>`: timeout/budget (varies per command).
83
+ - `--expect-final`: wait for a “final” response (agent calls).
84
+
85
+ Note: when you set `--url`, the CLI does not fall back to config or environment credentials.
86
+ Pass `--token` or `--password` explicitly. Missing explicit credentials is an error.
87
+
88
+ ### `gateway health`
89
+
90
+ ```bash
91
+ Durar gateway health --url ws://127.0.0.1:18789
92
+ ```
93
+
94
+ ### `gateway usage-cost`
95
+
96
+ Fetch usage-cost summaries from session logs.
97
+
98
+ ```bash
99
+ Durar gateway usage-cost
100
+ Durar gateway usage-cost --days 7
101
+ Durar gateway usage-cost --json
102
+ ```
103
+
104
+ Options:
105
+
106
+ - `--days <days>`: number of days to include (default `30`).
107
+
108
+ ### `gateway status`
109
+
110
+ `gateway status` shows the Gateway service (launchd/systemd/schtasks) plus an optional RPC probe.
111
+
112
+ ```bash
113
+ Durar gateway status
114
+ Durar gateway status --json
115
+ Durar gateway status --require-rpc
116
+ ```
117
+
118
+ Options:
119
+
120
+ - `--url <url>`: add an explicit probe target. Configured remote + localhost are still probed.
121
+ - `--token <token>`: token auth for the probe.
122
+ - `--password <password>`: password auth for the probe.
123
+ - `--timeout <ms>`: probe timeout (default `10000`).
124
+ - `--no-probe`: skip the RPC probe (service-only view).
125
+ - `--deep`: scan system-level services too.
126
+ - `--require-rpc`: exit non-zero when the RPC probe fails. Cannot be combined with `--no-probe`.
127
+
128
+ Notes:
129
+
130
+ - `gateway status` stays available for diagnostics even when the local CLI config is missing or invalid.
131
+ - `gateway status` resolves configured auth SecretRefs for probe auth when possible.
132
+ - If a required auth SecretRef is unresolved in this command path, `gateway status --json` reports `rpc.authWarning` when probe connectivity/auth fails; pass `--token`/`--password` explicitly or resolve the secret source first.
133
+ - If the probe succeeds, unresolved auth-ref warnings are suppressed to avoid false positives.
134
+ - Use `--require-rpc` in scripts and automation when a listening service is not enough and you need the Gateway RPC itself to be healthy.
135
+ - `--deep` adds a best-effort scan for extra launchd/systemd/schtasks installs. When multiple gateway-like services are detected, human output prints cleanup hints and warns that most setups should run one gateway per machine.
136
+ - Human output includes the resolved file log path plus the CLI-vs-service config paths/validity snapshot to help diagnose profile or state-dir drift.
137
+ - On Linux systemd installs, service auth drift checks read both `Environment=` and `EnvironmentFile=` values from the unit (including `%h`, quoted paths, multiple files, and optional `-` files).
138
+ - Drift checks resolve `gateway.auth.token` SecretRefs using merged runtime env (service command env first, then process env fallback).
139
+ - If token auth is not effectively active (explicit `gateway.auth.mode` of `password`/`none`/`trusted-proxy`, or mode unset where password can win and no token candidate can win), token-drift checks skip config token resolution.
140
+
141
+ ### `gateway probe`
142
+
143
+ `gateway probe` is the “debug everything” command. It always probes:
144
+
145
+ - your configured remote gateway (if set), and
146
+ - localhost (loopback) **even if remote is configured**.
147
+
148
+ If you pass `--url`, that explicit target is added ahead of both. Human output labels the
149
+ targets as:
150
+
151
+ - `URL (explicit)`
152
+ - `Remote (configured)` or `Remote (configured, inactive)`
153
+ - `Local loopback`
154
+
155
+ If multiple gateways are reachable, it prints all of them. Multiple gateways are supported when you use isolated profiles/ports (e.g., a rescue bot), but most installs still run a single gateway.
156
+
157
+ ```bash
158
+ Durar gateway probe
159
+ Durar gateway probe --json
160
+ ```
161
+
162
+ Interpretation:
163
+
164
+ - `Reachable: yes` means at least one target accepted a WebSocket connect.
165
+ - `RPC: ok` means detail RPC calls (`health`/`status`/`system-presence`/`config.get`) also succeeded.
166
+ - `RPC: limited - missing scope: operator.read` means connect succeeded but detail RPC is scope-limited. This is reported as **degraded** reachability, not full failure.
167
+ - Exit code is non-zero only when no probed target is reachable.
168
+
169
+ JSON notes (`--json`):
170
+
171
+ - Top level:
172
+ - `ok`: at least one target is reachable.
173
+ - `degraded`: at least one target had scope-limited detail RPC.
174
+ - `primaryTargetId`: best target to treat as the active winner in this order: explicit URL, SSH tunnel, configured remote, then local loopback.
175
+ - `warnings[]`: best-effort warning records with `code`, `message`, and optional `targetIds`.
176
+ - `network`: local loopback/tailnet URL hints derived from current config and host networking.
177
+ - `discovery.timeoutMs` and `discovery.count`: the actual discovery budget/result count used for this probe pass.
178
+ - Per target (`targets[].connect`):
179
+ - `ok`: reachability after connect + degraded classification.
180
+ - `rpcOk`: full detail RPC success.
181
+ - `scopeLimited`: detail RPC failed due to missing operator scope.
182
+
183
+ Common warning codes:
184
+
185
+ - `ssh_tunnel_failed`: SSH tunnel setup failed; the command fell back to direct probes.
186
+ - `multiple_gateways`: more than one target was reachable; this is unusual unless you intentionally run isolated profiles, such as a rescue bot.
187
+ - `auth_secretref_unresolved`: a configured auth SecretRef could not be resolved for a failed target.
188
+ - `probe_scope_limited`: WebSocket connect succeeded, but detail RPC was limited by missing `operator.read`.
189
+
190
+ #### Remote over SSH (Mac app parity)
191
+
192
+ The macOS app “Remote over SSH” mode uses a local port-forward so the remote gateway (which may be bound to loopback only) becomes reachable at `ws://127.0.0.1:<port>`.
193
+
194
+ CLI equivalent:
195
+
196
+ ```bash
197
+ Durar gateway probe --ssh user@gateway-host
198
+ ```
199
+
200
+ Options:
201
+
202
+ - `--ssh <target>`: `user@host` or `user@host:port` (port defaults to `22`).
203
+ - `--ssh-identity <path>`: identity file.
204
+ - `--ssh-auto`: pick the first discovered gateway host as SSH target from the resolved
205
+ discovery endpoint (`local.` plus the configured wide-area domain, if any). TXT-only
206
+ hints are ignored.
207
+
208
+ Config (optional, used as defaults):
209
+
210
+ - `gateway.remote.sshTarget`
211
+ - `gateway.remote.sshIdentity`
212
+
213
+ ### `gateway call <method>`
214
+
215
+ Low-level RPC helper.
216
+
217
+ ```bash
218
+ Durar gateway call status
219
+ Durar gateway call logs.tail --params '{"sinceMs": 60000}'
220
+ ```
221
+
222
+ Options:
223
+
224
+ - `--params <json>`: JSON object string for params (default `{}`)
225
+ - `--url <url>`
226
+ - `--token <token>`
227
+ - `--password <password>`
228
+ - `--timeout <ms>`
229
+ - `--expect-final`
230
+ - `--json`
231
+
232
+ Notes:
233
+
234
+ - `--params` must be valid JSON.
235
+ - `--expect-final` is mainly for agent-style RPCs that stream intermediate events before a final payload.
236
+
237
+ ## Manage the Gateway service
238
+
239
+ ```bash
240
+ Durar gateway install
241
+ Durar gateway start
242
+ Durar gateway stop
243
+ Durar gateway restart
244
+ Durar gateway uninstall
245
+ ```
246
+
247
+ Command options:
248
+
249
+ - `gateway status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json`
250
+ - `gateway install`: `--port`, `--runtime <node|bun>`, `--token`, `--force`, `--json`
251
+ - `gateway uninstall|start|stop|restart`: `--json`
252
+
253
+ Notes:
254
+
255
+ - `gateway install` supports `--port`, `--runtime`, `--token`, `--force`, `--json`.
256
+ - When token auth requires a token and `gateway.auth.token` is SecretRef-managed, `gateway install` validates that the SecretRef is resolvable but does not persist the resolved token into service environment metadata.
257
+ - If token auth requires a token and the configured token SecretRef is unresolved, install fails closed instead of persisting fallback plaintext.
258
+ - For password auth on `gateway run`, prefer `Durar_GATEWAY_PASSWORD`, `--password-file`, or a SecretRef-backed `gateway.auth.password` over inline `--password`.
259
+ - In inferred auth mode, shell-only `Durar_GATEWAY_PASSWORD` does not relax install token requirements; use durable config (`gateway.auth.password` or config `env`) when installing a managed service.
260
+ - If both `gateway.auth.token` and `gateway.auth.password` are configured and `gateway.auth.mode` is unset, install is blocked until mode is set explicitly.
261
+ - Lifecycle commands accept `--json` for scripting.
262
+
263
+ ## Discover gateways (Bonjour)
264
+
265
+ `gateway discover` scans for Gateway beacons (`_Durar-gw._tcp`).
266
+
267
+ - Multicast DNS-SD: `local.`
268
+ - Unicast DNS-SD (Wide-Area Bonjour): choose a domain (example: `Durar.internal.`) and set up split DNS + a DNS server; see [/gateway/bonjour](/gateway/bonjour)
269
+
270
+ Only gateways with Bonjour discovery enabled (default) advertise the beacon.
271
+
272
+ Wide-Area discovery records include (TXT):
273
+
274
+ - `role` (gateway role hint)
275
+ - `transport` (transport hint, e.g. `gateway`)
276
+ - `gatewayPort` (WebSocket port, usually `18789`)
277
+ - `sshPort` (optional; clients default SSH targets to `22` when it is absent)
278
+ - `tailnetDns` (MagicDNS hostname, when available)
279
+ - `gatewayTls` / `gatewayTlsSha256` (TLS enabled + cert fingerprint)
280
+ - `cliPath` (remote-install hint written to the wide-area zone)
281
+
282
+ ### `gateway discover`
283
+
284
+ ```bash
285
+ Durar gateway discover
286
+ ```
287
+
288
+ Options:
289
+
290
+ - `--timeout <ms>`: per-command timeout (browse/resolve); default `2000`.
291
+ - `--json`: machine-readable output (also disables styling/spinner).
292
+
293
+ Examples:
294
+
295
+ ```bash
296
+ Durar gateway discover --timeout 4000
297
+ Durar gateway discover --json | jq '.beacons[].wsUrl'
298
+ ```
299
+
300
+ Notes:
301
+
302
+ - The CLI scans `local.` plus the configured wide-area domain when one is enabled.
303
+ - `wsUrl` in JSON output is derived from the resolved service endpoint, not from TXT-only
304
+ hints such as `lanHost` or `tailnetDns`.
305
+ - On `local.` mDNS, `sshPort` and `cliPath` are only broadcast when
306
+ `discovery.mdns.mode` is `full`. Wide-area DNS-SD still writes `cliPath`; `sshPort`
307
+ stays optional there too.
@@ -0,0 +1,36 @@
1
+ ---
2
+ summary: "CLI reference for `Durar health` (gateway health snapshot via RPC)"
3
+ read_when:
4
+ - You want to quickly check the running Gateway’s health
5
+ title: "health"
6
+ ---
7
+
8
+ # `Durar health`
9
+
10
+ Fetch health from the running Gateway.
11
+
12
+ Options:
13
+
14
+ - `--json`: machine-readable output
15
+ - `--timeout <ms>`: connection timeout in milliseconds (default `10000`)
16
+ - `--verbose`: verbose logging
17
+ - `--debug`: alias for `--verbose`
18
+
19
+ Examples:
20
+
21
+ ```bash
22
+ Durar health
23
+ Durar health --json
24
+ Durar health --timeout 2500
25
+ Durar health --verbose
26
+ Durar health --debug
27
+ ```
28
+
29
+ Notes:
30
+
31
+ - Default `Durar health` asks the running gateway for its health snapshot. When the
32
+ gateway already has a fresh cached snapshot, it can return that cached payload and
33
+ refresh in the background.
34
+ - `--verbose` forces a live probe, prints gateway connection details, and expands the
35
+ human-readable output across all configured accounts and agents.
36
+ - Output includes per-agent session stores when multiple agents are configured.
@@ -0,0 +1,337 @@
1
+ ---
2
+ summary: "CLI reference for `Durar hooks` (agent hooks)"
3
+ read_when:
4
+ - You want to manage agent hooks
5
+ - You want to inspect hook availability or enable workspace hooks
6
+ title: "hooks"
7
+ ---
8
+
9
+ # `Durar hooks`
10
+
11
+ Manage agent hooks (event-driven automations for commands like `/new`, `/reset`, and gateway startup).
12
+
13
+ Running `Durar hooks` with no subcommand is equivalent to `Durar hooks list`.
14
+
15
+ Related:
16
+
17
+ - Hooks: [Hooks](/automation/hooks)
18
+ - Plugin hooks: [Plugin hooks](/plugins/architecture#provider-runtime-hooks)
19
+
20
+ ## List All Hooks
21
+
22
+ ```bash
23
+ Durar hooks list
24
+ ```
25
+
26
+ List all discovered hooks from workspace, managed, extra, and bundled directories.
27
+
28
+ **Options:**
29
+
30
+ - `--eligible`: Show only eligible hooks (requirements met)
31
+ - `--json`: Output as JSON
32
+ - `-v, --verbose`: Show detailed information including missing requirements
33
+
34
+ **Example output:**
35
+
36
+ ```
37
+ Hooks (4/4 ready)
38
+
39
+ Ready:
40
+ 🚀 boot-md ✓ - Run BOOT.md on gateway startup
41
+ 📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap
42
+ 📝 command-logger ✓ - Log all command events to a centralized audit file
43
+ 💾 session-memory ✓ - Save session context to memory when /new or /reset command is issued
44
+ ```
45
+
46
+ **Example (verbose):**
47
+
48
+ ```bash
49
+ Durar hooks list --verbose
50
+ ```
51
+
52
+ Shows missing requirements for ineligible hooks.
53
+
54
+ **Example (JSON):**
55
+
56
+ ```bash
57
+ Durar hooks list --json
58
+ ```
59
+
60
+ Returns structured JSON for programmatic use.
61
+
62
+ ## Get Hook Information
63
+
64
+ ```bash
65
+ Durar hooks info <name>
66
+ ```
67
+
68
+ Show detailed information about a specific hook.
69
+
70
+ **Arguments:**
71
+
72
+ - `<name>`: Hook name or hook key (e.g., `session-memory`)
73
+
74
+ **Options:**
75
+
76
+ - `--json`: Output as JSON
77
+
78
+ **Example:**
79
+
80
+ ```bash
81
+ Durar hooks info session-memory
82
+ ```
83
+
84
+ **Output:**
85
+
86
+ ```
87
+ 💾 session-memory ✓ Ready
88
+
89
+ Save session context to memory when /new or /reset command is issued
90
+
91
+ Details:
92
+ Source: Durar-bundled
93
+ Path: /path/to/Durar/hooks/bundled/session-memory/HOOK.md
94
+ Handler: /path/to/Durar/hooks/bundled/session-memory/handler.ts
95
+ Homepage: https://docs.Durar.ai/automation/hooks#session-memory
96
+ Events: command:new, command:reset
97
+
98
+ Requirements:
99
+ Config: ✓ workspace.dir
100
+ ```
101
+
102
+ ## Check Hooks Eligibility
103
+
104
+ ```bash
105
+ Durar hooks check
106
+ ```
107
+
108
+ Show summary of hook eligibility status (how many are ready vs. not ready).
109
+
110
+ **Options:**
111
+
112
+ - `--json`: Output as JSON
113
+
114
+ **Example output:**
115
+
116
+ ```
117
+ Hooks Status
118
+
119
+ Total hooks: 4
120
+ Ready: 4
121
+ Not ready: 0
122
+ ```
123
+
124
+ ## Enable a Hook
125
+
126
+ ```bash
127
+ Durar hooks enable <name>
128
+ ```
129
+
130
+ Enable a specific hook by adding it to your config (`~/.Durar/Durar.json` by default).
131
+
132
+ **Note:** Workspace hooks are disabled by default until enabled here or in config. Hooks managed by plugins show `plugin:<id>` in `Durar hooks list` and can’t be enabled/disabled here. Enable/disable the plugin instead.
133
+
134
+ **Arguments:**
135
+
136
+ - `<name>`: Hook name (e.g., `session-memory`)
137
+
138
+ **Example:**
139
+
140
+ ```bash
141
+ Durar hooks enable session-memory
142
+ ```
143
+
144
+ **Output:**
145
+
146
+ ```
147
+ ✓ Enabled hook: 💾 session-memory
148
+ ```
149
+
150
+ **What it does:**
151
+
152
+ - Checks if hook exists and is eligible
153
+ - Updates `hooks.internal.entries.<name>.enabled = true` in your config
154
+ - Saves config to disk
155
+
156
+ If the hook came from `<workspace>/hooks/`, this opt-in step is required before
157
+ the Gateway will load it.
158
+
159
+ **After enabling:**
160
+
161
+ - Restart the gateway so hooks reload (menu bar app restart on macOS, or restart your gateway process in dev).
162
+
163
+ ## Disable a Hook
164
+
165
+ ```bash
166
+ Durar hooks disable <name>
167
+ ```
168
+
169
+ Disable a specific hook by updating your config.
170
+
171
+ **Arguments:**
172
+
173
+ - `<name>`: Hook name (e.g., `command-logger`)
174
+
175
+ **Example:**
176
+
177
+ ```bash
178
+ Durar hooks disable command-logger
179
+ ```
180
+
181
+ **Output:**
182
+
183
+ ```
184
+ ⏸ Disabled hook: 📝 command-logger
185
+ ```
186
+
187
+ **After disabling:**
188
+
189
+ - Restart the gateway so hooks reload
190
+
191
+ ## Notes
192
+
193
+ - `Durar hooks list --json`, `info --json`, and `check --json` write structured JSON directly to stdout.
194
+ - Plugin-managed hooks cannot be enabled or disabled here; enable or disable the owning plugin instead.
195
+
196
+ ## Install Hook Packs
197
+
198
+ ```bash
199
+ Durar plugins install <package> # Durar Gateway first, then npm
200
+ Durar plugins install <package> --pin # pin version
201
+ Durar plugins install <path> # local path
202
+ ```
203
+
204
+ Install hook packs through the unified plugins installer.
205
+
206
+ `Durar hooks install` still works as a compatibility alias, but it prints a
207
+ deprecation warning and forwards to `Durar plugins install`.
208
+
209
+ Npm specs are **registry-only** (package name + optional **exact version** or
210
+ **dist-tag**). Git/URL/file specs and semver ranges are rejected. Dependency
211
+ installs run with `--ignore-scripts` for safety.
212
+
213
+ Bare specs and `@latest` stay on the stable track. If npm resolves either of
214
+ those to a prerelease, Durar stops and asks you to opt in explicitly with a
215
+ prerelease tag such as `@beta`/`@rc` or an exact prerelease version.
216
+
217
+ **What it does:**
218
+
219
+ - Copies the hook pack into `~/.Durar/hooks/<id>`
220
+ - Enables the installed hooks in `hooks.internal.entries.*`
221
+ - Records the install under `hooks.internal.installs`
222
+
223
+ **Options:**
224
+
225
+ - `-l, --link`: Link a local directory instead of copying (adds it to `hooks.internal.load.extraDirs`)
226
+ - `--pin`: Record npm installs as exact resolved `name@version` in `hooks.internal.installs`
227
+
228
+ **Supported archives:** `.zip`, `.tgz`, `.tar.gz`, `.tar`
229
+
230
+ **Examples:**
231
+
232
+ ```bash
233
+ # Local directory
234
+ Durar plugins install ./my-hook-pack
235
+
236
+ # Local archive
237
+ Durar plugins install ./my-hook-pack.zip
238
+
239
+ # NPM package
240
+ Durar plugins install @Durar/my-hook-pack
241
+
242
+ # Link a local directory without copying
243
+ Durar plugins install -l ./my-hook-pack
244
+ ```
245
+
246
+ Linked hook packs are treated as managed hooks from an operator-configured
247
+ directory, not as workspace hooks.
248
+
249
+ ## Update Hook Packs
250
+
251
+ ```bash
252
+ Durar plugins update <id>
253
+ Durar plugins update --all
254
+ ```
255
+
256
+ Update tracked npm-based hook packs through the unified plugins updater.
257
+
258
+ `Durar hooks update` still works as a compatibility alias, but it prints a
259
+ deprecation warning and forwards to `Durar plugins update`.
260
+
261
+ **Options:**
262
+
263
+ - `--all`: Update all tracked hook packs
264
+ - `--dry-run`: Show what would change without writing
265
+
266
+ When a stored integrity hash exists and the fetched artifact hash changes,
267
+ Durar prints a warning and asks for confirmation before proceeding. Use
268
+ global `--yes` to bypass prompts in CI/non-interactive runs.
269
+
270
+ ## Bundled Hooks
271
+
272
+ ### session-memory
273
+
274
+ Saves session context to memory when you issue `/new` or `/reset`.
275
+
276
+ **Enable:**
277
+
278
+ ```bash
279
+ Durar hooks enable session-memory
280
+ ```
281
+
282
+ **Output:** `~/.Durar/workspace/memory/YYYY-MM-DD-slug.md`
283
+
284
+ **See:** [session-memory documentation](/automation/hooks#session-memory)
285
+
286
+ ### bootstrap-extra-files
287
+
288
+ Injects additional bootstrap files (for example monorepo-local `AGENTS.md` / `TOOLS.md`) during `agent:bootstrap`.
289
+
290
+ **Enable:**
291
+
292
+ ```bash
293
+ Durar hooks enable bootstrap-extra-files
294
+ ```
295
+
296
+ **See:** [bootstrap-extra-files documentation](/automation/hooks#bootstrap-extra-files)
297
+
298
+ ### command-logger
299
+
300
+ Logs all command events to a centralized audit file.
301
+
302
+ **Enable:**
303
+
304
+ ```bash
305
+ Durar hooks enable command-logger
306
+ ```
307
+
308
+ **Output:** `~/.Durar/logs/commands.log`
309
+
310
+ **View logs:**
311
+
312
+ ```bash
313
+ # Recent commands
314
+ tail -n 20 ~/.Durar/logs/commands.log
315
+
316
+ # Pretty-print
317
+ cat ~/.Durar/logs/commands.log | jq .
318
+
319
+ # Filter by action
320
+ grep '"action":"new"' ~/.Durar/logs/commands.log | jq .
321
+ ```
322
+
323
+ **See:** [command-logger documentation](/automation/hooks#command-logger)
324
+
325
+ ### boot-md
326
+
327
+ Runs `BOOT.md` when the gateway starts (after channels start).
328
+
329
+ **Events**: `gateway:startup`
330
+
331
+ **Enable**:
332
+
333
+ ```bash
334
+ Durar hooks enable boot-md
335
+ ```
336
+
337
+ **See:** [boot-md documentation](/automation/hooks#boot-md)