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,420 @@
1
+ ---
2
+ summary: "Durar on Raspberry Pi (budget self-hosted setup)"
3
+ read_when:
4
+ - Setting up Durar on a Raspberry Pi
5
+ - Running Durar on ARM devices
6
+ - Building a cheap always-on personal AI
7
+ title: "Raspberry Pi (Platform)"
8
+ ---
9
+
10
+ # Durar on Raspberry Pi
11
+
12
+ ## Goal
13
+
14
+ Run a persistent, always-on Durar Gateway on a Raspberry Pi for **~$35-80** one-time cost (no monthly fees).
15
+
16
+ Perfect for:
17
+
18
+ - 24/7 personal AI assistant
19
+ - Home automation hub
20
+ - Low-power, always-available Telegram/WhatsApp bot
21
+
22
+ ## Hardware Requirements
23
+
24
+ | Pi Model | RAM | Works? | Notes |
25
+ | --------------- | ------- | -------- | ---------------------------------- |
26
+ | **Pi 5** | 4GB/8GB | ✅ Best | Fastest, recommended |
27
+ | **Pi 4** | 4GB | ✅ Good | Sweet spot for most users |
28
+ | **Pi 4** | 2GB | ✅ OK | Works, add swap |
29
+ | **Pi 4** | 1GB | ⚠️ Tight | Possible with swap, minimal config |
30
+ | **Pi 3B+** | 1GB | ⚠️ Slow | Works but sluggish |
31
+ | **Pi Zero 2 W** | 512MB | ❌ | Not recommended |
32
+
33
+ **Minimum specs:** 1GB RAM, 1 core, 500MB disk
34
+ **Recommended:** 2GB+ RAM, 64-bit OS, 16GB+ SD card (or USB SSD)
35
+
36
+ ## What you need
37
+
38
+ - Raspberry Pi 4 or 5 (2GB+ recommended)
39
+ - MicroSD card (16GB+) or USB SSD (better performance)
40
+ - Power supply (official Pi PSU recommended)
41
+ - Network connection (Ethernet or WiFi)
42
+ - ~30 minutes
43
+
44
+ ## 1) Flash the OS
45
+
46
+ Use **Raspberry Pi OS Lite (64-bit)** — no desktop needed for a headless server.
47
+
48
+ 1. Download [Raspberry Pi Imager](https://www.raspberrypi.com/software/)
49
+ 2. Choose OS: **Raspberry Pi OS Lite (64-bit)**
50
+ 3. Click the gear icon (⚙️) to pre-configure:
51
+ - Set hostname: `gateway-host`
52
+ - Enable SSH
53
+ - Set username/password
54
+ - Configure WiFi (if not using Ethernet)
55
+ 4. Flash to your SD card / USB drive
56
+ 5. Insert and boot the Pi
57
+
58
+ ## 2) Connect via SSH
59
+
60
+ ```bash
61
+ ssh user@gateway-host
62
+ # or use the IP address
63
+ ssh user@192.168.x.x
64
+ ```
65
+
66
+ ## 3) System Setup
67
+
68
+ ```bash
69
+ # Update system
70
+ sudo apt update && sudo apt upgrade -y
71
+
72
+ # Install essential packages
73
+ sudo apt install -y git curl build-essential
74
+
75
+ # Set timezone (important for cron/reminders)
76
+ sudo timedatectl set-timezone America/Chicago # Change to your timezone
77
+ ```
78
+
79
+ ## 4) Install Node.js 24 (ARM64)
80
+
81
+ ```bash
82
+ # Install Node.js via NodeSource
83
+ curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
84
+ sudo apt install -y nodejs
85
+
86
+ # Verify
87
+ node --version # Should show v24.x.x
88
+ npm --version
89
+ ```
90
+
91
+ ## 5) Add Swap (Important for 2GB or less)
92
+
93
+ Swap prevents out-of-memory crashes:
94
+
95
+ ```bash
96
+ # Create 2GB swap file
97
+ sudo fallocate -l 2G /swapfile
98
+ sudo chmod 600 /swapfile
99
+ sudo mkswap /swapfile
100
+ sudo swapon /swapfile
101
+
102
+ # Make permanent
103
+ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
104
+
105
+ # Optimize for low RAM (reduce swappiness)
106
+ echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
107
+ sudo sysctl -p
108
+ ```
109
+
110
+ ## 6) Install Durar
111
+
112
+ ### Option A: Standard Install (Recommended)
113
+
114
+ ```bash
115
+ curl -fsSL https://Durar.ai/install.sh | bash
116
+ ```
117
+
118
+ ### Option B: Hackable Install (For tinkering)
119
+
120
+ ```bash
121
+ git clone https://github.com/openclaw/openclaw.git
122
+ cd Durar
123
+ npm install
124
+ npm run build
125
+ npm link
126
+ ```
127
+
128
+ The hackable install gives you direct access to logs and code — useful for debugging ARM-specific issues.
129
+
130
+ ## 7) Run Onboarding
131
+
132
+ ```bash
133
+ Durar onboard --install-daemon
134
+ ```
135
+
136
+ Follow the wizard:
137
+
138
+ 1. **Gateway mode:** Local
139
+ 2. **Auth:** API keys recommended (OAuth can be finicky on headless Pi)
140
+ 3. **Channels:** Telegram is easiest to start with
141
+ 4. **Daemon:** Yes (systemd)
142
+
143
+ ## 8) Verify Installation
144
+
145
+ ```bash
146
+ # Check status
147
+ Durar status
148
+
149
+ # Check service (standard install = systemd user unit)
150
+ systemctl --user status Durar-gateway.service
151
+
152
+ # View logs
153
+ journalctl --user -u Durar-gateway.service -f
154
+ ```
155
+
156
+ ## 9) Access the Durar Dashboard
157
+
158
+ Replace `user@gateway-host` with your Pi username and hostname or IP address.
159
+
160
+ On your computer, ask the Pi to print a fresh dashboard URL:
161
+
162
+ ```bash
163
+ ssh user@gateway-host 'Durar dashboard --no-open'
164
+ ```
165
+
166
+ The command prints `Dashboard URL:`. Depending on how `gateway.auth.token`
167
+ is configured, the URL may be a plain `http://127.0.0.1:18789/` link or one
168
+ that includes `#token=...`.
169
+
170
+ In another terminal on your computer, create the SSH tunnel:
171
+
172
+ ```bash
173
+ ssh -N -L 18789:127.0.0.1:18789 user@gateway-host
174
+ ```
175
+
176
+ Then open the printed Dashboard URL in your local browser.
177
+
178
+ If the UI asks for shared-secret auth, paste the configured token or password
179
+ into Control UI settings. For token auth, use `gateway.auth.token` (or
180
+ `Durar_GATEWAY_TOKEN`).
181
+
182
+ For always-on remote access, see [Tailscale](/gateway/tailscale).
183
+
184
+ ---
185
+
186
+ ## Performance Optimizations
187
+
188
+ ### Use a USB SSD (Huge Improvement)
189
+
190
+ SD cards are slow and wear out. A USB SSD dramatically improves performance:
191
+
192
+ ```bash
193
+ # Check if booting from USB
194
+ lsblk
195
+ ```
196
+
197
+ See [Pi USB boot guide](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot) for setup.
198
+
199
+ ### Speed up CLI startup (module compile cache)
200
+
201
+ On lower-power Pi hosts, enable Node's module compile cache so repeated CLI runs are faster:
202
+
203
+ ```bash
204
+ grep -q 'NODE_COMPILE_CACHE=/var/tmp/Durar-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' # pragma: allowlist secret
205
+ export NODE_COMPILE_CACHE=/var/tmp/Durar-compile-cache
206
+ mkdir -p /var/tmp/Durar-compile-cache
207
+ export Durar_NO_RESPAWN=1
208
+ EOF
209
+ source ~/.bashrc
210
+ ```
211
+
212
+ Notes:
213
+
214
+ - `NODE_COMPILE_CACHE` speeds up subsequent runs (`status`, `health`, `--help`).
215
+ - `/var/tmp` survives reboots better than `/tmp`.
216
+ - `Durar_NO_RESPAWN=1` avoids extra startup cost from CLI self-respawn.
217
+ - First run warms the cache; later runs benefit most.
218
+
219
+ ### systemd startup tuning (optional)
220
+
221
+ If this Pi is mostly running Durar, add a service drop-in to reduce restart
222
+ jitter and keep startup env stable:
223
+
224
+ ```bash
225
+ systemctl --user edit Durar-gateway.service
226
+ ```
227
+
228
+ ```ini
229
+ [Service]
230
+ Environment=Durar_NO_RESPAWN=1
231
+ Environment=NODE_COMPILE_CACHE=/var/tmp/Durar-compile-cache
232
+ Restart=always
233
+ RestartSec=2
234
+ TimeoutStartSec=90
235
+ ```
236
+
237
+ Then apply:
238
+
239
+ ```bash
240
+ systemctl --user daemon-reload
241
+ systemctl --user restart Durar-gateway.service
242
+ ```
243
+
244
+ If possible, keep Durar state/cache on SSD-backed storage to avoid SD-card
245
+ random-I/O bottlenecks during cold starts.
246
+
247
+ If this is a headless Pi, enable lingering once so the user service survives
248
+ logout:
249
+
250
+ ```bash
251
+ sudo loginctl enable-linger "$(whoami)"
252
+ ```
253
+
254
+ How `Restart=` policies help automated recovery:
255
+ [systemd can automate service recovery](https://www.redhat.com/en/blog/systemd-automate-recovery).
256
+
257
+ ### Reduce Memory Usage
258
+
259
+ ```bash
260
+ # Disable GPU memory allocation (headless)
261
+ echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
262
+
263
+ # Disable Bluetooth if not needed
264
+ sudo systemctl disable bluetooth
265
+ ```
266
+
267
+ ### Monitor Resources
268
+
269
+ ```bash
270
+ # Check memory
271
+ free -h
272
+
273
+ # Check CPU temperature
274
+ vcgencmd measure_temp
275
+
276
+ # Live monitoring
277
+ htop
278
+ ```
279
+
280
+ ---
281
+
282
+ ## ARM-Specific Notes
283
+
284
+ ### Binary Compatibility
285
+
286
+ Most Durar features work on ARM64, but some external binaries may need ARM builds:
287
+
288
+ | Tool | ARM64 Status | Notes |
289
+ | ------------------ | ------------ | ----------------------------------- |
290
+ | Node.js | ✅ | Works great |
291
+ | WhatsApp (Baileys) | ✅ | Pure JS, no issues |
292
+ | Telegram | ✅ | Pure JS, no issues |
293
+ | gog (Gmail CLI) | ⚠️ | Check for ARM release |
294
+ | Chromium (browser) | ✅ | `sudo apt install chromium-browser` |
295
+
296
+ If a skill fails, check if its binary has an ARM build. Many Go/Rust tools do; some don't.
297
+
298
+ ### 32-bit vs 64-bit
299
+
300
+ **Always use 64-bit OS.** Node.js and many modern tools require it. Check with:
301
+
302
+ ```bash
303
+ uname -m
304
+ # Should show: aarch64 (64-bit) not armv7l (32-bit)
305
+ ```
306
+
307
+ ---
308
+
309
+ ## Recommended Model Setup
310
+
311
+ Since the Pi is just the Gateway (models run in the cloud), use API-based models:
312
+
313
+ ```json
314
+ {
315
+ "agents": {
316
+ "defaults": {
317
+ "model": {
318
+ "primary": "anthropic/claude-sonnet-4-6",
319
+ "fallbacks": ["openai/gpt-5.4-mini"]
320
+ }
321
+ }
322
+ }
323
+ }
324
+ ```
325
+
326
+ **Don't try to run local LLMs on a Pi** — even small models are too slow. Let Claude/GPT do the heavy lifting.
327
+
328
+ ---
329
+
330
+ ## Auto-Start on Boot
331
+
332
+ Onboarding sets this up, but to verify:
333
+
334
+ ```bash
335
+ # Check service is enabled
336
+ systemctl --user is-enabled Durar-gateway.service
337
+
338
+ # Enable if not
339
+ systemctl --user enable Durar-gateway.service
340
+
341
+ # Start on boot
342
+ systemctl --user start Durar-gateway.service
343
+ ```
344
+
345
+ ---
346
+
347
+ ## Troubleshooting
348
+
349
+ ### Out of Memory (OOM)
350
+
351
+ ```bash
352
+ # Check memory
353
+ free -h
354
+
355
+ # Add more swap (see Step 5)
356
+ # Or reduce services running on the Pi
357
+ ```
358
+
359
+ ### Slow Performance
360
+
361
+ - Use USB SSD instead of SD card
362
+ - Disable unused services: `sudo systemctl disable cups bluetooth avahi-daemon`
363
+ - Check CPU throttling: `vcgencmd get_throttled` (should return `0x0`)
364
+
365
+ ### Service will not start
366
+
367
+ ```bash
368
+ # Check logs
369
+ journalctl --user -u Durar-gateway.service --no-pager -n 100
370
+
371
+ # Common fix: rebuild
372
+ cd ~/Durar # if using hackable install
373
+ npm run build
374
+ systemctl --user restart Durar-gateway.service
375
+ ```
376
+
377
+ ### ARM Binary Issues
378
+
379
+ If a skill fails with "exec format error":
380
+
381
+ 1. Check if the binary has an ARM64 build
382
+ 2. Try building from source
383
+ 3. Or use a Docker container with ARM support
384
+
385
+ ### WiFi Drops
386
+
387
+ For headless Pis on WiFi:
388
+
389
+ ```bash
390
+ # Disable WiFi power management
391
+ sudo iwconfig wlan0 power off
392
+
393
+ # Make permanent
394
+ echo 'wireless-power off' | sudo tee -a /etc/network/interfaces
395
+ ```
396
+
397
+ ---
398
+
399
+ ## Cost Comparison
400
+
401
+ | Setup | One-Time Cost | Monthly Cost | Notes |
402
+ | -------------- | ------------- | ------------ | ------------------------- |
403
+ | **Pi 4 (2GB)** | ~$45 | $0 | + power (~$5/yr) |
404
+ | **Pi 4 (4GB)** | ~$55 | $0 | Recommended |
405
+ | **Pi 5 (4GB)** | ~$60 | $0 | Best performance |
406
+ | **Pi 5 (8GB)** | ~$80 | $0 | Overkill but future-proof |
407
+ | DigitalOcean | $0 | $6/mo | $72/year |
408
+ | Hetzner | $0 | €3.79/mo | ~$50/year |
409
+
410
+ **Break-even:** A Pi pays for itself in ~6-12 months vs cloud VPS.
411
+
412
+ ---
413
+
414
+ ## See Also
415
+
416
+ - [Linux guide](/platforms/linux) — general Linux setup
417
+ - [DigitalOcean guide](/platforms/digitalocean) — cloud alternative
418
+ - [Hetzner guide](/install/hetzner) — Docker setup
419
+ - [Tailscale](/gateway/tailscale) — remote access
420
+ - [Nodes](/nodes) — pair your laptop/phone with the Pi gateway
@@ -0,0 +1,241 @@
1
+ ---
2
+ summary: "Windows support: native and WSL2 install paths, daemon, and current caveats"
3
+ read_when:
4
+ - Installing Durar on Windows
5
+ - Choosing between native Windows and WSL2
6
+ - Looking for Windows companion app status
7
+ title: "Windows"
8
+ ---
9
+
10
+ # Windows
11
+
12
+ Durar supports both **native Windows** and **WSL2**. WSL2 is the more
13
+ stable path and recommended for the full experience — the CLI, Gateway, and
14
+ tooling run inside Linux with full compatibility. Native Windows works for
15
+ core CLI and Gateway use, with some caveats noted below.
16
+
17
+ Native Windows companion apps are planned.
18
+
19
+ ## WSL2 (recommended)
20
+
21
+ - [Getting Started](/start/getting-started) (use inside WSL)
22
+ - [Install & updates](/install/updating)
23
+ - Official WSL2 guide (Microsoft): [https://learn.microsoft.com/windows/wsl/install](https://learn.microsoft.com/windows/wsl/install)
24
+
25
+ ## Native Windows status
26
+
27
+ Native Windows CLI flows are improving, but WSL2 is still the recommended path.
28
+
29
+ What works well on native Windows today:
30
+
31
+ - website installer via `install.ps1`
32
+ - local CLI use such as `Durar --version`, `Durar doctor`, and `Durar plugins list --json`
33
+ - embedded local-agent/provider smoke such as:
34
+
35
+ ```powershell
36
+ Durar agent --local --agent main --thinking low -m "Reply with exactly WINDOWS-HATCH-OK."
37
+ ```
38
+
39
+ Current caveats:
40
+
41
+ - `Durar onboard --non-interactive` still expects a reachable local gateway unless you pass `--skip-health`
42
+ - `Durar onboard --non-interactive --install-daemon` and `Durar gateway install` try Windows Scheduled Tasks first
43
+ - if Scheduled Task creation is denied, Durar falls back to a per-user Startup-folder login item and starts the gateway immediately
44
+ - if `schtasks` itself wedges or stops responding, Durar now aborts that path quickly and falls back instead of hanging forever
45
+ - Scheduled Tasks are still preferred when available because they provide better supervisor status
46
+
47
+ If you want the native CLI only, without gateway service install, use one of these:
48
+
49
+ ```powershell
50
+ Durar onboard --non-interactive --skip-health
51
+ Durar gateway run
52
+ ```
53
+
54
+ If you do want managed startup on native Windows:
55
+
56
+ ```powershell
57
+ Durar gateway install
58
+ Durar gateway status --json
59
+ ```
60
+
61
+ If Scheduled Task creation is blocked, the fallback service mode still auto-starts after login through the current user's Startup folder.
62
+
63
+ ## Gateway
64
+
65
+ - [Gateway runbook](/gateway)
66
+ - [Configuration](/gateway/configuration)
67
+
68
+ ## Gateway service install (CLI)
69
+
70
+ Inside WSL2:
71
+
72
+ ```
73
+ Durar onboard --install-daemon
74
+ ```
75
+
76
+ Or:
77
+
78
+ ```
79
+ Durar gateway install
80
+ ```
81
+
82
+ Or:
83
+
84
+ ```
85
+ Durar configure
86
+ ```
87
+
88
+ Select **Gateway service** when prompted.
89
+
90
+ Repair/migrate:
91
+
92
+ ```
93
+ Durar doctor
94
+ ```
95
+
96
+ ## Gateway auto-start before Windows login
97
+
98
+ For headless setups, ensure the full boot chain runs even when no one logs into
99
+ Windows.
100
+
101
+ ### 1) Keep user services running without login
102
+
103
+ Inside WSL:
104
+
105
+ ```bash
106
+ sudo loginctl enable-linger "$(whoami)"
107
+ ```
108
+
109
+ ### 2) Install the Durar gateway user service
110
+
111
+ Inside WSL:
112
+
113
+ ```bash
114
+ Durar gateway install
115
+ ```
116
+
117
+ ### 3) Start WSL automatically at Windows boot
118
+
119
+ In PowerShell as Administrator:
120
+
121
+ ```powershell
122
+ schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM
123
+ ```
124
+
125
+ Replace `Ubuntu` with your distro name from:
126
+
127
+ ```powershell
128
+ wsl --list --verbose
129
+ ```
130
+
131
+ ### Verify startup chain
132
+
133
+ After a reboot (before Windows sign-in), check from WSL:
134
+
135
+ ```bash
136
+ systemctl --user is-enabled Durar-gateway.service
137
+ systemctl --user status Durar-gateway.service --no-pager
138
+ ```
139
+
140
+ ## Advanced: expose WSL services over LAN (portproxy)
141
+
142
+ WSL has its own virtual network. If another machine needs to reach a service
143
+ running **inside WSL** (SSH, a local TTS server, or the Gateway), you must
144
+ forward a Windows port to the current WSL IP. The WSL IP changes after restarts,
145
+ so you may need to refresh the forwarding rule.
146
+
147
+ Example (PowerShell **as Administrator**):
148
+
149
+ ```powershell
150
+ $Distro = "Ubuntu-24.04"
151
+ $ListenPort = 2222
152
+ $TargetPort = 22
153
+
154
+ $WslIp = (wsl -d $Distro -- hostname -I).Trim().Split(" ")[0]
155
+ if (-not $WslIp) { throw "WSL IP not found." }
156
+
157
+ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPort `
158
+ connectaddress=$WslIp connectport=$TargetPort
159
+ ```
160
+
161
+ Allow the port through Windows Firewall (one-time):
162
+
163
+ ```powershell
164
+ New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound `
165
+ -Protocol TCP -LocalPort $ListenPort -Action Allow
166
+ ```
167
+
168
+ Refresh the portproxy after WSL restarts:
169
+
170
+ ```powershell
171
+ netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Null
172
+ netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 `
173
+ connectaddress=$WslIp connectport=$TargetPort | Out-Null
174
+ ```
175
+
176
+ Notes:
177
+
178
+ - SSH from another machine targets the **Windows host IP** (example: `ssh user@windows-host -p 2222`).
179
+ - Remote nodes must point at a **reachable** Gateway URL (not `127.0.0.1`); use
180
+ `Durar status --all` to confirm.
181
+ - Use `listenaddress=0.0.0.0` for LAN access; `127.0.0.1` keeps it local only.
182
+ - If you want this automatic, register a Scheduled Task to run the refresh
183
+ step at login.
184
+
185
+ ## Step-by-step WSL2 install
186
+
187
+ ### 1) Install WSL2 + Ubuntu
188
+
189
+ Open PowerShell (Admin):
190
+
191
+ ```powershell
192
+ wsl --install
193
+ # Or pick a distro explicitly:
194
+ wsl --list --online
195
+ wsl --install -d Ubuntu-24.04
196
+ ```
197
+
198
+ Reboot if Windows asks.
199
+
200
+ ### 2) Enable systemd (required for gateway install)
201
+
202
+ In your WSL terminal:
203
+
204
+ ```bash
205
+ sudo tee /etc/wsl.conf >/dev/null <<'EOF'
206
+ [boot]
207
+ systemd=true
208
+ EOF
209
+ ```
210
+
211
+ Then from PowerShell:
212
+
213
+ ```powershell
214
+ wsl --shutdown
215
+ ```
216
+
217
+ Re-open Ubuntu, then verify:
218
+
219
+ ```bash
220
+ systemctl --user status
221
+ ```
222
+
223
+ ### 3) Install Durar (inside WSL)
224
+
225
+ Follow the Linux Getting Started flow inside WSL:
226
+
227
+ ```bash
228
+ git clone https://github.com/openclaw/openclaw.git
229
+ cd Durar
230
+ pnpm install
231
+ pnpm ui:build # auto-installs UI deps on first run
232
+ pnpm build
233
+ Durar onboard
234
+ ```
235
+
236
+ Full guide: [Getting Started](/start/getting-started)
237
+
238
+ ## Windows companion app
239
+
240
+ We do not have a Windows companion app yet. Contributions are welcome if you want
241
+ contributions to make it happen.
@@ -0,0 +1,10 @@
1
+ ---
2
+ summary: "Redirects to Building Plugins (registering tools section)"
3
+ read_when:
4
+ - Legacy link to agent-tools
5
+ title: "Registering Tools"
6
+ ---
7
+
8
+ # Registering Tools in Plugins
9
+
10
+ This page has moved. See [Building Plugins: Registering agent tools](/plugins/building-plugins#registering-agent-tools).