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,197 @@
1
+ ---
2
+ title: Sandbox CLI
3
+ summary: "Manage sandbox runtimes and inspect effective sandbox policy"
4
+ read_when: "You are managing sandbox runtimes or debugging sandbox/tool-policy behavior."
5
+ status: active
6
+ ---
7
+
8
+ # Sandbox CLI
9
+
10
+ Manage sandbox runtimes for isolated agent execution.
11
+
12
+ ## Overview
13
+
14
+ Durar can run agents in isolated sandbox runtimes for security. The `sandbox` commands help you inspect and recreate those runtimes after updates or configuration changes.
15
+
16
+ Today that usually means:
17
+
18
+ - Docker sandbox containers
19
+ - SSH sandbox runtimes when `agents.defaults.sandbox.backend = "ssh"`
20
+ - OpenShell sandbox runtimes when `agents.defaults.sandbox.backend = "openshell"`
21
+
22
+ For `ssh` and OpenShell `remote`, recreate matters more than with Docker:
23
+
24
+ - the remote workspace is canonical after the initial seed
25
+ - `Durar sandbox recreate` deletes that canonical remote workspace for the selected scope
26
+ - next use seeds it again from the current local workspace
27
+
28
+ ## Commands
29
+
30
+ ### `Durar sandbox explain`
31
+
32
+ Inspect the **effective** sandbox mode/scope/workspace access, sandbox tool policy, and elevated gates (with fix-it config key paths).
33
+
34
+ ```bash
35
+ Durar sandbox explain
36
+ Durar sandbox explain --session agent:main:main
37
+ Durar sandbox explain --agent work
38
+ Durar sandbox explain --json
39
+ ```
40
+
41
+ ### `Durar sandbox list`
42
+
43
+ List all sandbox runtimes with their status and configuration.
44
+
45
+ ```bash
46
+ Durar sandbox list
47
+ Durar sandbox list --browser # List only browser containers
48
+ Durar sandbox list --json # JSON output
49
+ ```
50
+
51
+ **Output includes:**
52
+
53
+ - Runtime name and status
54
+ - Backend (`docker`, `openshell`, etc.)
55
+ - Config label and whether it matches current config
56
+ - Age (time since creation)
57
+ - Idle time (time since last use)
58
+ - Associated session/agent
59
+
60
+ ### `Durar sandbox recreate`
61
+
62
+ Remove sandbox runtimes to force recreation with updated config.
63
+
64
+ ```bash
65
+ Durar sandbox recreate --all # Recreate all containers
66
+ Durar sandbox recreate --session main # Specific session
67
+ Durar sandbox recreate --agent mybot # Specific agent
68
+ Durar sandbox recreate --browser # Only browser containers
69
+ Durar sandbox recreate --all --force # Skip confirmation
70
+ ```
71
+
72
+ **Options:**
73
+
74
+ - `--all`: Recreate all sandbox containers
75
+ - `--session <key>`: Recreate container for specific session
76
+ - `--agent <id>`: Recreate containers for specific agent
77
+ - `--browser`: Only recreate browser containers
78
+ - `--force`: Skip confirmation prompt
79
+
80
+ **Important:** Runtimes are automatically recreated when the agent is next used.
81
+
82
+ ## Use Cases
83
+
84
+ ### After updating a Docker image
85
+
86
+ ```bash
87
+ # Pull new image
88
+ docker pull Durar-sandbox:latest
89
+ docker tag Durar-sandbox:latest Durar-sandbox:bookworm-slim
90
+
91
+ # Update config to use new image
92
+ # Edit config: agents.defaults.sandbox.docker.image (or agents.list[].sandbox.docker.image)
93
+
94
+ # Recreate containers
95
+ Durar sandbox recreate --all
96
+ ```
97
+
98
+ ### After changing sandbox configuration
99
+
100
+ ```bash
101
+ # Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*)
102
+
103
+ # Recreate to apply new config
104
+ Durar sandbox recreate --all
105
+ ```
106
+
107
+ ### After changing SSH target or SSH auth material
108
+
109
+ ```bash
110
+ # Edit config:
111
+ # - agents.defaults.sandbox.backend
112
+ # - agents.defaults.sandbox.ssh.target
113
+ # - agents.defaults.sandbox.ssh.workspaceRoot
114
+ # - agents.defaults.sandbox.ssh.identityFile / certificateFile / knownHostsFile
115
+ # - agents.defaults.sandbox.ssh.identityData / certificateData / knownHostsData
116
+
117
+ Durar sandbox recreate --all
118
+ ```
119
+
120
+ For the core `ssh` backend, recreate deletes the per-scope remote workspace root
121
+ on the SSH target. The next run seeds it again from the local workspace.
122
+
123
+ ### After changing OpenShell source, policy, or mode
124
+
125
+ ```bash
126
+ # Edit config:
127
+ # - agents.defaults.sandbox.backend
128
+ # - plugins.entries.openshell.config.from
129
+ # - plugins.entries.openshell.config.mode
130
+ # - plugins.entries.openshell.config.policy
131
+
132
+ Durar sandbox recreate --all
133
+ ```
134
+
135
+ For OpenShell `remote` mode, recreate deletes the canonical remote workspace
136
+ for that scope. The next run seeds it again from the local workspace.
137
+
138
+ ### After changing setupCommand
139
+
140
+ ```bash
141
+ Durar sandbox recreate --all
142
+ # or just one agent:
143
+ Durar sandbox recreate --agent family
144
+ ```
145
+
146
+ ### For a specific agent only
147
+
148
+ ```bash
149
+ # Update only one agent's containers
150
+ Durar sandbox recreate --agent alfred
151
+ ```
152
+
153
+ ## Why is this needed?
154
+
155
+ **Problem:** When you update sandbox configuration:
156
+
157
+ - Existing runtimes continue running with old settings
158
+ - Runtimes are only pruned after 24h of inactivity
159
+ - Regularly-used agents keep old runtimes alive indefinitely
160
+
161
+ **Solution:** Use `Durar sandbox recreate` to force removal of old runtimes. They'll be recreated automatically with current settings when next needed.
162
+
163
+ Tip: prefer `Durar sandbox recreate` over manual backend-specific cleanup.
164
+ It uses the Gateway’s runtime registry and avoids mismatches when scope/session keys change.
165
+
166
+ ## Configuration
167
+
168
+ Sandbox settings live in `~/.Durar/Durar.json` under `agents.defaults.sandbox` (per-agent overrides go in `agents.list[].sandbox`):
169
+
170
+ ```jsonc
171
+ {
172
+ "agents": {
173
+ "defaults": {
174
+ "sandbox": {
175
+ "mode": "all", // off, non-main, all
176
+ "backend": "docker", // docker, ssh, openshell
177
+ "scope": "agent", // session, agent, shared
178
+ "docker": {
179
+ "image": "Durar-sandbox:bookworm-slim",
180
+ "containerPrefix": "Durar-sbx-",
181
+ // ... more Docker options
182
+ },
183
+ "prune": {
184
+ "idleHours": 24, // Auto-prune after 24h idle
185
+ "maxAgeDays": 7, // Auto-prune after 7 days
186
+ },
187
+ },
188
+ },
189
+ },
190
+ }
191
+ ```
192
+
193
+ ## See Also
194
+
195
+ - [Sandbox Documentation](/gateway/sandboxing)
196
+ - [Agent Configuration](/concepts/agent-workspace)
197
+ - [Doctor Command](/gateway/doctor) - Check sandbox setup
@@ -0,0 +1,197 @@
1
+ ---
2
+ summary: "CLI reference for `Durar secrets` (reload, audit, configure, apply)"
3
+ read_when:
4
+ - Re-resolving secret refs at runtime
5
+ - Auditing plaintext residues and unresolved refs
6
+ - Configuring SecretRefs and applying one-way scrub changes
7
+ title: "secrets"
8
+ ---
9
+
10
+ # `Durar secrets`
11
+
12
+ Use `Durar secrets` to manage SecretRefs and keep the active runtime snapshot healthy.
13
+
14
+ Command roles:
15
+
16
+ - `reload`: gateway RPC (`secrets.reload`) that re-resolves refs and swaps runtime snapshot only on full success (no config writes).
17
+ - `audit`: read-only scan of configuration/auth/generated-model stores and legacy residues for plaintext, unresolved refs, and precedence drift (exec refs are skipped unless `--allow-exec` is set).
18
+ - `configure`: interactive planner for provider setup, target mapping, and preflight (TTY required).
19
+ - `apply`: execute a saved plan (`--dry-run` for validation only; dry-run skips exec checks by default, and write mode rejects exec-containing plans unless `--allow-exec` is set), then scrub targeted plaintext residues.
20
+
21
+ Recommended operator loop:
22
+
23
+ ```bash
24
+ Durar secrets audit --check
25
+ Durar secrets configure
26
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json --dry-run
27
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json
28
+ Durar secrets audit --check
29
+ Durar secrets reload
30
+ ```
31
+
32
+ If your plan includes `exec` SecretRefs/providers, pass `--allow-exec` on both dry-run and write apply commands.
33
+
34
+ Exit code note for CI/gates:
35
+
36
+ - `audit --check` returns `1` on findings.
37
+ - unresolved refs return `2`.
38
+
39
+ Related:
40
+
41
+ - Secrets guide: [Secrets Management](/gateway/secrets)
42
+ - Credential surface: [SecretRef Credential Surface](/reference/secretref-credential-surface)
43
+ - Security guide: [Security](/gateway/security)
44
+
45
+ ## Reload runtime snapshot
46
+
47
+ Re-resolve secret refs and atomically swap runtime snapshot.
48
+
49
+ ```bash
50
+ Durar secrets reload
51
+ Durar secrets reload --json
52
+ Durar secrets reload --url ws://127.0.0.1:18789 --token <token>
53
+ ```
54
+
55
+ Notes:
56
+
57
+ - Uses gateway RPC method `secrets.reload`.
58
+ - If resolution fails, gateway keeps last-known-good snapshot and returns an error (no partial activation).
59
+ - JSON response includes `warningCount`.
60
+
61
+ Options:
62
+
63
+ - `--url <url>`
64
+ - `--token <token>`
65
+ - `--timeout <ms>`
66
+ - `--json`
67
+
68
+ ## Audit
69
+
70
+ Scan Durar state for:
71
+
72
+ - plaintext secret storage
73
+ - unresolved refs
74
+ - precedence drift (`auth-profiles.json` credentials shadowing `Durar.json` refs)
75
+ - generated `agents/*/agent/models.json` residues (provider `apiKey` values and sensitive provider headers)
76
+ - legacy residues (legacy auth store entries, OAuth reminders)
77
+
78
+ Header residue note:
79
+
80
+ - Sensitive provider header detection is name-heuristic based (common auth/credential header names and fragments such as `authorization`, `x-api-key`, `token`, `secret`, `password`, and `credential`).
81
+
82
+ ```bash
83
+ Durar secrets audit
84
+ Durar secrets audit --check
85
+ Durar secrets audit --json
86
+ Durar secrets audit --allow-exec
87
+ ```
88
+
89
+ Exit behavior:
90
+
91
+ - `--check` exits non-zero on findings.
92
+ - unresolved refs exit with higher-priority non-zero code.
93
+
94
+ Report shape highlights:
95
+
96
+ - `status`: `clean | findings | unresolved`
97
+ - `resolution`: `refsChecked`, `skippedExecRefs`, `resolvabilityComplete`
98
+ - `summary`: `plaintextCount`, `unresolvedRefCount`, `shadowedRefCount`, `legacyResidueCount`
99
+ - finding codes:
100
+ - `PLAINTEXT_FOUND`
101
+ - `REF_UNRESOLVED`
102
+ - `REF_SHADOWED`
103
+ - `LEGACY_RESIDUE`
104
+
105
+ ## Configure (interactive helper)
106
+
107
+ Build provider and SecretRef changes interactively, run preflight, and optionally apply:
108
+
109
+ ```bash
110
+ Durar secrets configure
111
+ Durar secrets configure --plan-out /tmp/Durar-secrets-plan.json
112
+ Durar secrets configure --apply --yes
113
+ Durar secrets configure --providers-only
114
+ Durar secrets configure --skip-provider-setup
115
+ Durar secrets configure --agent ops
116
+ Durar secrets configure --json
117
+ ```
118
+
119
+ Flow:
120
+
121
+ - Provider setup first (`add/edit/remove` for `secrets.providers` aliases).
122
+ - Credential mapping second (select fields and assign `{source, provider, id}` refs).
123
+ - Preflight and optional apply last.
124
+
125
+ Flags:
126
+
127
+ - `--providers-only`: configure `secrets.providers` only, skip credential mapping.
128
+ - `--skip-provider-setup`: skip provider setup and map credentials to existing providers.
129
+ - `--agent <id>`: scope `auth-profiles.json` target discovery and writes to one agent store.
130
+ - `--allow-exec`: allow exec SecretRef checks during preflight/apply (may execute provider commands).
131
+
132
+ Notes:
133
+
134
+ - Requires an interactive TTY.
135
+ - You cannot combine `--providers-only` with `--skip-provider-setup`.
136
+ - `configure` targets secret-bearing fields in `Durar.json` plus `auth-profiles.json` for the selected agent scope.
137
+ - `configure` supports creating new `auth-profiles.json` mappings directly in the picker flow.
138
+ - Canonical supported surface: [SecretRef Credential Surface](/reference/secretref-credential-surface).
139
+ - It performs preflight resolution before apply.
140
+ - If preflight/apply includes exec refs, keep `--allow-exec` set for both steps.
141
+ - Generated plans default to scrub options (`scrubEnv`, `scrubAuthProfilesForProviderTargets`, `scrubLegacyAuthJson` all enabled).
142
+ - Apply path is one-way for scrubbed plaintext values.
143
+ - Without `--apply`, CLI still prompts `Apply this plan now?` after preflight.
144
+ - With `--apply` (and no `--yes`), CLI prompts an extra irreversible confirmation.
145
+ - `--json` prints the plan + preflight report, but the command still requires an interactive TTY.
146
+
147
+ Exec provider safety note:
148
+
149
+ - Homebrew installs often expose symlinked binaries under `/opt/homebrew/bin/*`.
150
+ - Set `allowSymlinkCommand: true` only when needed for trusted package-manager paths, and pair it with `trustedDirs` (for example `["/opt/homebrew"]`).
151
+ - On Windows, if ACL verification is unavailable for a provider path, Durar fails closed. For trusted paths only, set `allowInsecurePath: true` on that provider to bypass path security checks.
152
+
153
+ ## Apply a saved plan
154
+
155
+ Apply or preflight a plan generated previously:
156
+
157
+ ```bash
158
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json
159
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json --allow-exec
160
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json --dry-run
161
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json --dry-run --allow-exec
162
+ Durar secrets apply --from /tmp/Durar-secrets-plan.json --json
163
+ ```
164
+
165
+ Exec behavior:
166
+
167
+ - `--dry-run` validates preflight without writing files.
168
+ - exec SecretRef checks are skipped by default in dry-run.
169
+ - write mode rejects plans that contain exec SecretRefs/providers unless `--allow-exec` is set.
170
+ - Use `--allow-exec` to opt in to exec provider checks/execution in either mode.
171
+
172
+ Plan contract details (allowed target paths, validation rules, and failure semantics):
173
+
174
+ - [Secrets Apply Plan Contract](/gateway/secrets-plan-contract)
175
+
176
+ What `apply` may update:
177
+
178
+ - `Durar.json` (SecretRef targets + provider upserts/deletes)
179
+ - `auth-profiles.json` (provider-target scrubbing)
180
+ - legacy `auth.json` residues
181
+ - `~/.Durar/.env` known secret keys whose values were migrated
182
+
183
+ ## Why no rollback backups
184
+
185
+ `secrets apply` intentionally does not write rollback backups containing old plaintext values.
186
+
187
+ Safety comes from strict preflight + atomic-ish apply with best-effort in-memory restore on failure.
188
+
189
+ ## Example
190
+
191
+ ```bash
192
+ Durar secrets audit --check
193
+ Durar secrets configure
194
+ Durar secrets audit --check
195
+ ```
196
+
197
+ If `audit --check` still reports plaintext findings, update the remaining reported target paths and rerun audit.
@@ -0,0 +1,86 @@
1
+ ---
2
+ summary: "CLI reference for `Durar security` (audit and fix common security footguns)"
3
+ read_when:
4
+ - You want to run a quick security audit on config/state
5
+ - You want to apply safe “fix” suggestions (permissions, tighten defaults)
6
+ title: "security"
7
+ ---
8
+
9
+ # `Durar security`
10
+
11
+ Security tools (audit + optional fixes).
12
+
13
+ Related:
14
+
15
+ - Security guide: [Security](/gateway/security)
16
+
17
+ ## Audit
18
+
19
+ ```bash
20
+ Durar security audit
21
+ Durar security audit --deep
22
+ Durar security audit --deep --password <password>
23
+ Durar security audit --deep --token <token>
24
+ Durar security audit --fix
25
+ Durar security audit --json
26
+ ```
27
+
28
+ The audit warns when multiple DM senders share the main session and recommends **secure DM mode**: `session.dmScope="per-channel-peer"` (or `per-account-channel-peer` for multi-account channels) for shared inboxes.
29
+ This is for cooperative/shared inbox hardening. A single Gateway shared by mutually untrusted/adversarial operators is not a recommended setup; split trust boundaries with separate gateways (or separate OS users/hosts).
30
+ It also emits `security.trust_model.multi_user_heuristic` when config suggests likely shared-user ingress (for example open DM/group policy, configured group targets, or wildcard sender rules), and reminds you that Durar is a personal-assistant trust model by default.
31
+ For intentional shared-user setups, the audit guidance is to sandbox all sessions, keep filesystem access workspace-scoped, and keep personal/private identities or credentials off that runtime.
32
+ It also warns when small models (`<=300B`) are used without sandboxing and with web/browser tools enabled.
33
+ For webhook ingress, it warns when `hooks.token` reuses the Gateway token, when `hooks.token` is short, when `hooks.path="/"`, when `hooks.defaultSessionKey` is unset, when `hooks.allowedAgentIds` is unrestricted, when request `sessionKey` overrides are enabled, and when overrides are enabled without `hooks.allowedSessionKeyPrefixes`.
34
+ It also warns when sandbox Docker settings are configured while sandbox mode is off, when `gateway.nodes.denyCommands` uses ineffective pattern-like/unknown entries (exact node command-name matching only, not shell-text filtering), when `gateway.nodes.allowCommands` explicitly enables dangerous node commands, when global `tools.profile="minimal"` is overridden by agent tool profiles, when open groups expose runtime/filesystem tools without sandbox/workspace guards, and when installed extension plugin tools may be reachable under permissive tool policy.
35
+ It also flags `gateway.allowRealIpFallback=true` (header-spoofing risk if proxies are misconfigured) and `discovery.mdns.mode="full"` (metadata leakage via mDNS TXT records).
36
+ It also warns when sandbox browser uses Docker `bridge` network without `sandbox.browser.cdpSourceRange`.
37
+ It also flags dangerous sandbox Docker network modes (including `host` and `container:*` namespace joins).
38
+ It also warns when existing sandbox browser Docker containers have missing/stale hash labels (for example pre-migration containers missing `Durar.browserConfigEpoch`) and recommends `Durar sandbox recreate --browser --all`.
39
+ It also warns when npm-based plugin/hook install records are unpinned, missing integrity metadata, or drift from currently installed package versions.
40
+ It warns when channel allowlists rely on mutable names/emails/tags instead of stable IDs (Discord, Slack, Google Chat, Microsoft Teams, Mattermost, IRC scopes where applicable).
41
+ It warns when `gateway.auth.mode="none"` leaves Gateway HTTP APIs reachable without a shared secret (`/tools/invoke` plus any enabled `/v1/*` endpoint).
42
+ Settings prefixed with `dangerous`/`dangerously` are explicit break-glass operator overrides; enabling one is not, by itself, a security vulnerability report.
43
+ For the complete dangerous-parameter inventory, see the "Insecure or dangerous flags summary" section in [Security](/gateway/security).
44
+
45
+ SecretRef behavior:
46
+
47
+ - `security audit` resolves supported SecretRefs in read-only mode for its targeted paths.
48
+ - If a SecretRef is unavailable in the current command path, audit continues and reports `secretDiagnostics` (instead of crashing).
49
+ - `--token` and `--password` only override deep-probe auth for that command invocation; they do not rewrite config or SecretRef mappings.
50
+
51
+ ## JSON output
52
+
53
+ Use `--json` for CI/policy checks:
54
+
55
+ ```bash
56
+ Durar security audit --json | jq '.summary'
57
+ Durar security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'
58
+ ```
59
+
60
+ If `--fix` and `--json` are combined, output includes both fix actions and final report:
61
+
62
+ ```bash
63
+ Durar security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'
64
+ ```
65
+
66
+ ## What `--fix` changes
67
+
68
+ `--fix` applies safe, deterministic remediations:
69
+
70
+ - flips common `groupPolicy="open"` to `groupPolicy="allowlist"` (including account variants in supported channels)
71
+ - when WhatsApp group policy flips to `allowlist`, seeds `groupAllowFrom` from
72
+ the stored `allowFrom` file when that list exists and config does not already
73
+ define `allowFrom`
74
+ - sets `logging.redactSensitive` from `"off"` to `"tools"`
75
+ - tightens permissions for state/config and common sensitive files
76
+ (`credentials/*.json`, `auth-profiles.json`, `sessions.json`, session
77
+ `*.jsonl`)
78
+ - also tightens config include files referenced from `Durar.json`
79
+ - uses `chmod` on POSIX hosts and `icacls` resets on Windows
80
+
81
+ `--fix` does **not**:
82
+
83
+ - rotate tokens/passwords/API keys
84
+ - disable tools (`gateway`, `cron`, `exec`, etc.)
85
+ - change gateway bind/auth/network exposure choices
86
+ - remove or rewrite plugins/skills
@@ -0,0 +1,113 @@
1
+ ---
2
+ summary: "CLI reference for `Durar sessions` (list stored sessions + usage)"
3
+ read_when:
4
+ - You want to list stored sessions and see recent activity
5
+ title: "sessions"
6
+ ---
7
+
8
+ # `Durar sessions`
9
+
10
+ List stored conversation sessions.
11
+
12
+ ```bash
13
+ Durar sessions
14
+ Durar sessions --agent work
15
+ Durar sessions --all-agents
16
+ Durar sessions --active 120
17
+ Durar sessions --verbose
18
+ Durar sessions --json
19
+ ```
20
+
21
+ Scope selection:
22
+
23
+ - default: configured default agent store
24
+ - `--verbose`: verbose logging
25
+ - `--agent <id>`: one configured agent store
26
+ - `--all-agents`: aggregate all configured agent stores
27
+ - `--store <path>`: explicit store path (cannot be combined with `--agent` or `--all-agents`)
28
+
29
+ `Durar sessions --all-agents` reads configured agent stores. Gateway and ACP
30
+ session discovery are broader: they also include disk-only stores found under
31
+ the default `agents/` root or a templated `session.store` root. Those
32
+ discovered stores must resolve to regular `sessions.json` files inside the
33
+ agent root; symlinks and out-of-root paths are skipped.
34
+
35
+ JSON examples:
36
+
37
+ `Durar sessions --all-agents --json`:
38
+
39
+ ```json
40
+ {
41
+ "path": null,
42
+ "stores": [
43
+ { "agentId": "main", "path": "/home/user/.Durar/agents/main/sessions/sessions.json" },
44
+ { "agentId": "work", "path": "/home/user/.Durar/agents/work/sessions/sessions.json" }
45
+ ],
46
+ "allAgents": true,
47
+ "count": 2,
48
+ "activeMinutes": null,
49
+ "sessions": [
50
+ { "agentId": "main", "key": "agent:main:main", "model": "gpt-5" },
51
+ { "agentId": "work", "key": "agent:work:main", "model": "claude-opus-4-6" }
52
+ ]
53
+ }
54
+ ```
55
+
56
+ ## Cleanup maintenance
57
+
58
+ Run maintenance now (instead of waiting for the next write cycle):
59
+
60
+ ```bash
61
+ Durar sessions cleanup --dry-run
62
+ Durar sessions cleanup --agent work --dry-run
63
+ Durar sessions cleanup --all-agents --dry-run
64
+ Durar sessions cleanup --enforce
65
+ Durar sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"
66
+ Durar sessions cleanup --json
67
+ ```
68
+
69
+ `Durar sessions cleanup` uses `session.maintenance` settings from config:
70
+
71
+ - Scope note: `Durar sessions cleanup` maintains session stores/transcripts only. It does not prune cron run logs (`cron/runs/<jobId>.jsonl`), which are managed by `cron.runLog.maxBytes` and `cron.runLog.keepLines` in [Cron configuration](/automation/cron-jobs#configuration) and explained in [Cron maintenance](/automation/cron-jobs#maintenance).
72
+
73
+ - `--dry-run`: preview how many entries would be pruned/capped without writing.
74
+ - In text mode, dry-run prints a per-session action table (`Action`, `Key`, `Age`, `Model`, `Flags`) so you can see what would be kept vs removed.
75
+ - `--enforce`: apply maintenance even when `session.maintenance.mode` is `warn`.
76
+ - `--fix-missing`: remove entries whose transcript files are missing, even if they would not normally age/count out yet.
77
+ - `--active-key <key>`: protect a specific active key from disk-budget eviction.
78
+ - `--agent <id>`: run cleanup for one configured agent store.
79
+ - `--all-agents`: run cleanup for all configured agent stores.
80
+ - `--store <path>`: run against a specific `sessions.json` file.
81
+ - `--json`: print a JSON summary. With `--all-agents`, output includes one summary per store.
82
+
83
+ `Durar sessions cleanup --all-agents --dry-run --json`:
84
+
85
+ ```json
86
+ {
87
+ "allAgents": true,
88
+ "mode": "warn",
89
+ "dryRun": true,
90
+ "stores": [
91
+ {
92
+ "agentId": "main",
93
+ "storePath": "/home/user/.Durar/agents/main/sessions/sessions.json",
94
+ "beforeCount": 120,
95
+ "afterCount": 80,
96
+ "pruned": 40,
97
+ "capped": 0
98
+ },
99
+ {
100
+ "agentId": "work",
101
+ "storePath": "/home/user/.Durar/agents/work/sessions/sessions.json",
102
+ "beforeCount": 18,
103
+ "afterCount": 18,
104
+ "pruned": 0,
105
+ "capped": 0
106
+ }
107
+ ]
108
+ }
109
+ ```
110
+
111
+ Related:
112
+
113
+ - Session config: [Configuration reference](/gateway/configuration-reference#session)
@@ -0,0 +1,45 @@
1
+ ---
2
+ summary: "CLI reference for `Durar setup` (initialize config + workspace)"
3
+ read_when:
4
+ - You’re doing first-run setup without full CLI onboarding
5
+ - You want to set the default workspace path
6
+ title: "setup"
7
+ ---
8
+
9
+ # `Durar setup`
10
+
11
+ Initialize `~/.Durar/Durar.json` and the agent workspace.
12
+
13
+ Related:
14
+
15
+ - Getting started: [Getting started](/start/getting-started)
16
+ - CLI onboarding: [Onboarding (CLI)](/start/wizard)
17
+
18
+ ## Examples
19
+
20
+ ```bash
21
+ Durar setup
22
+ Durar setup --workspace ~/.Durar/workspace
23
+ Durar setup --wizard
24
+ Durar setup --non-interactive --mode remote --remote-url wss://gateway-host:18789 --remote-token <token>
25
+ ```
26
+
27
+ ## Options
28
+
29
+ - `--workspace <dir>`: agent workspace directory (stored as `agents.defaults.workspace`)
30
+ - `--wizard`: run onboarding
31
+ - `--non-interactive`: run onboarding without prompts
32
+ - `--mode <local|remote>`: onboarding mode
33
+ - `--remote-url <url>`: remote Gateway WebSocket URL
34
+ - `--remote-token <token>`: remote Gateway token
35
+
36
+ To run onboarding via setup:
37
+
38
+ ```bash
39
+ Durar setup --wizard
40
+ ```
41
+
42
+ Notes:
43
+
44
+ - Plain `Durar setup` initializes config + workspace without the full onboarding flow.
45
+ - Onboarding auto-runs when any onboarding flags are present (`--wizard`, `--non-interactive`, `--mode`, `--remote-url`, `--remote-token`).