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,427 @@
1
+ ---
2
+ summary: "Legacy iMessage support via imsg (JSON-RPC over stdio). New setups should use BlueBubbles."
3
+ read_when:
4
+ - Setting up iMessage support
5
+ - Debugging iMessage send/receive
6
+ title: "iMessage"
7
+ ---
8
+
9
+ # iMessage (legacy: imsg)
10
+
11
+ <Warning>
12
+ For new iMessage deployments, use <a href="/channels/bluebubbles">BlueBubbles</a>.
13
+
14
+ The `imsg` integration is legacy and may be removed in a future release.
15
+ </Warning>
16
+
17
+ Status: legacy external CLI integration. Gateway spawns `imsg rpc` and communicates over JSON-RPC on stdio (no separate daemon/port).
18
+
19
+ <CardGroup cols={3}>
20
+ <Card title="BlueBubbles (recommended)" icon="message-circle" href="/channels/bluebubbles">
21
+ Preferred iMessage path for new setups.
22
+ </Card>
23
+ <Card title="Pairing" icon="link" href="/channels/pairing">
24
+ iMessage DMs default to pairing mode.
25
+ </Card>
26
+ <Card title="Configuration reference" icon="settings" href="/gateway/configuration-reference#imessage">
27
+ Full iMessage field reference.
28
+ </Card>
29
+ </CardGroup>
30
+
31
+ ## Quick setup
32
+
33
+ <Tabs>
34
+ <Tab title="Local Mac (fast path)">
35
+ <Steps>
36
+ <Step title="Install and verify imsg">
37
+
38
+ ```bash
39
+ brew install steipete/tap/imsg
40
+ imsg rpc --help
41
+ ```
42
+
43
+ </Step>
44
+
45
+ <Step title="Configure Durar">
46
+
47
+ ```json5
48
+ {
49
+ channels: {
50
+ imessage: {
51
+ enabled: true,
52
+ cliPath: "/usr/local/bin/imsg",
53
+ dbPath: "/Users/<you>/Library/Messages/chat.db",
54
+ },
55
+ },
56
+ }
57
+ ```
58
+
59
+ </Step>
60
+
61
+ <Step title="Start gateway">
62
+
63
+ ```bash
64
+ Durar gateway
65
+ ```
66
+
67
+ </Step>
68
+
69
+ <Step title="Approve first DM pairing (default dmPolicy)">
70
+
71
+ ```bash
72
+ Durar pairing list imessage
73
+ Durar pairing approve imessage <CODE>
74
+ ```
75
+
76
+ Pairing requests expire after 1 hour.
77
+ </Step>
78
+ </Steps>
79
+
80
+ </Tab>
81
+
82
+ <Tab title="Remote Mac over SSH">
83
+ Durar only requires a stdio-compatible `cliPath`, so you can point `cliPath` at a wrapper script that SSHes to a remote Mac and runs `imsg`.
84
+
85
+ ```bash
86
+ #!/usr/bin/env bash
87
+ exec ssh -T gateway-host imsg "$@"
88
+ ```
89
+
90
+ Recommended config when attachments are enabled:
91
+
92
+ ```json5
93
+ {
94
+ channels: {
95
+ imessage: {
96
+ enabled: true,
97
+ cliPath: "~/.Durar/scripts/imsg-ssh",
98
+ remoteHost: "user@gateway-host", // used for SCP attachment fetches
99
+ includeAttachments: true,
100
+ // Optional: override allowed attachment roots.
101
+ // Defaults include /Users/*/Library/Messages/Attachments
102
+ attachmentRoots: ["/Users/*/Library/Messages/Attachments"],
103
+ remoteAttachmentRoots: ["/Users/*/Library/Messages/Attachments"],
104
+ },
105
+ },
106
+ }
107
+ ```
108
+
109
+ If `remoteHost` is not set, Durar attempts to auto-detect it by parsing the SSH wrapper script.
110
+ `remoteHost` must be `host` or `user@host` (no spaces or SSH options).
111
+ Durar uses strict host-key checking for SCP, so the relay host key must already exist in `~/.ssh/known_hosts`.
112
+ Attachment paths are validated against allowed roots (`attachmentRoots` / `remoteAttachmentRoots`).
113
+
114
+ </Tab>
115
+ </Tabs>
116
+
117
+ ## Requirements and permissions (macOS)
118
+
119
+ - Messages must be signed in on the Mac running `imsg`.
120
+ - Full Disk Access is required for the process context running Durar/`imsg` (Messages DB access).
121
+ - Automation permission is required to send messages through Messages.app.
122
+
123
+ <Tip>
124
+ Permissions are granted per process context. If gateway runs headless (LaunchAgent/SSH), run a one-time interactive command in that same context to trigger prompts:
125
+
126
+ ```bash
127
+ imsg chats --limit 1
128
+ # or
129
+ imsg send <handle> "test"
130
+ ```
131
+
132
+ </Tip>
133
+
134
+ ## Access control and routing
135
+
136
+ <Tabs>
137
+ <Tab title="DM policy">
138
+ `channels.imessage.dmPolicy` controls direct messages:
139
+
140
+ - `pairing` (default)
141
+ - `allowlist`
142
+ - `open` (requires `allowFrom` to include `"*"`)
143
+ - `disabled`
144
+
145
+ Allowlist field: `channels.imessage.allowFrom`.
146
+
147
+ Allowlist entries can be handles or chat targets (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`).
148
+
149
+ </Tab>
150
+
151
+ <Tab title="Group policy + mentions">
152
+ `channels.imessage.groupPolicy` controls group handling:
153
+
154
+ - `allowlist` (default when configured)
155
+ - `open`
156
+ - `disabled`
157
+
158
+ Group sender allowlist: `channels.imessage.groupAllowFrom`.
159
+
160
+ Runtime fallback: if `groupAllowFrom` is unset, iMessage group sender checks fall back to `allowFrom` when available.
161
+ Runtime note: if `channels.imessage` is completely missing, runtime falls back to `groupPolicy="allowlist"` and logs a warning (even if `channels.defaults.groupPolicy` is set).
162
+
163
+ Mention gating for groups:
164
+
165
+ - iMessage has no native mention metadata
166
+ - mention detection uses regex patterns (`agents.list[].groupChat.mentionPatterns`, fallback `messages.groupChat.mentionPatterns`)
167
+ - with no configured patterns, mention gating cannot be enforced
168
+
169
+ Control commands from authorized senders can bypass mention gating in groups.
170
+
171
+ </Tab>
172
+
173
+ <Tab title="Sessions and deterministic replies">
174
+ - DMs use direct routing; groups use group routing.
175
+ - With default `session.dmScope=main`, iMessage DMs collapse into the agent main session.
176
+ - Group sessions are isolated (`agent:<agentId>:imessage:group:<chat_id>`).
177
+ - Replies route back to iMessage using originating channel/target metadata.
178
+
179
+ Group-ish thread behavior:
180
+
181
+ Some multi-participant iMessage threads can arrive with `is_group=false`.
182
+ If that `chat_id` is explicitly configured under `channels.imessage.groups`, Durar treats it as group traffic (group gating + group session isolation).
183
+
184
+ </Tab>
185
+ </Tabs>
186
+
187
+ ## ACP conversation bindings
188
+
189
+ Legacy iMessage chats can also be bound to ACP sessions.
190
+
191
+ Fast operator flow:
192
+
193
+ - Run `/acp spawn codex --bind here` inside the DM or allowed group chat.
194
+ - Future messages in that same iMessage conversation route to the spawned ACP session.
195
+ - `/new` and `/reset` reset the same bound ACP session in place.
196
+ - `/acp close` closes the ACP session and removes the binding.
197
+
198
+ Configured persistent bindings are supported through top-level `bindings[]` entries with `type: "acp"` and `match.channel: "imessage"`.
199
+
200
+ `match.peer.id` can use:
201
+
202
+ - normalized DM handle such as `+15555550123` or `user@example.com`
203
+ - `chat_id:<id>` (recommended for stable group bindings)
204
+ - `chat_guid:<guid>`
205
+ - `chat_identifier:<identifier>`
206
+
207
+ Example:
208
+
209
+ ```json5
210
+ {
211
+ agents: {
212
+ list: [
213
+ {
214
+ id: "codex",
215
+ runtime: {
216
+ type: "acp",
217
+ acp: { agent: "codex", backend: "acpx", mode: "persistent" },
218
+ },
219
+ },
220
+ ],
221
+ },
222
+ bindings: [
223
+ {
224
+ type: "acp",
225
+ agentId: "codex",
226
+ match: {
227
+ channel: "imessage",
228
+ accountId: "default",
229
+ peer: { kind: "group", id: "chat_id:123" },
230
+ },
231
+ acp: { label: "codex-group" },
232
+ },
233
+ ],
234
+ }
235
+ ```
236
+
237
+ See [ACP Agents](/tools/acp-agents) for shared ACP binding behavior.
238
+
239
+ ## Deployment patterns
240
+
241
+ <AccordionGroup>
242
+ <Accordion title="Dedicated bot macOS user (separate iMessage identity)">
243
+ Use a dedicated Apple ID and macOS user so bot traffic is isolated from your personal Messages profile.
244
+
245
+ Typical flow:
246
+
247
+ 1. Create/sign in a dedicated macOS user.
248
+ 2. Sign into Messages with the bot Apple ID in that user.
249
+ 3. Install `imsg` in that user.
250
+ 4. Create SSH wrapper so Durar can run `imsg` in that user context.
251
+ 5. Point `channels.imessage.accounts.<id>.cliPath` and `.dbPath` to that user profile.
252
+
253
+ First run may require GUI approvals (Automation + Full Disk Access) in that bot user session.
254
+
255
+ </Accordion>
256
+
257
+ <Accordion title="Remote Mac over Tailscale (example)">
258
+ Common topology:
259
+
260
+ - gateway runs on Linux/VM
261
+ - iMessage + `imsg` runs on a Mac in your tailnet
262
+ - `cliPath` wrapper uses SSH to run `imsg`
263
+ - `remoteHost` enables SCP attachment fetches
264
+
265
+ Example:
266
+
267
+ ```json5
268
+ {
269
+ channels: {
270
+ imessage: {
271
+ enabled: true,
272
+ cliPath: "~/.Durar/scripts/imsg-ssh",
273
+ remoteHost: "bot@mac-mini.tailnet-1234.ts.net",
274
+ includeAttachments: true,
275
+ dbPath: "/Users/bot/Library/Messages/chat.db",
276
+ },
277
+ },
278
+ }
279
+ ```
280
+
281
+ ```bash
282
+ #!/usr/bin/env bash
283
+ exec ssh -T bot@mac-mini.tailnet-1234.ts.net imsg "$@"
284
+ ```
285
+
286
+ Use SSH keys so both SSH and SCP are non-interactive.
287
+ Ensure the host key is trusted first (for example `ssh bot@mac-mini.tailnet-1234.ts.net`) so `known_hosts` is populated.
288
+
289
+ </Accordion>
290
+
291
+ <Accordion title="Multi-account pattern">
292
+ iMessage supports per-account config under `channels.imessage.accounts`.
293
+
294
+ Each account can override fields such as `cliPath`, `dbPath`, `allowFrom`, `groupPolicy`, `mediaMaxMb`, history settings, and attachment root allowlists.
295
+
296
+ </Accordion>
297
+ </AccordionGroup>
298
+
299
+ ## Media, chunking, and delivery targets
300
+
301
+ <AccordionGroup>
302
+ <Accordion title="Attachments and media">
303
+ - inbound attachment ingestion is optional: `channels.imessage.includeAttachments`
304
+ - remote attachment paths can be fetched via SCP when `remoteHost` is set
305
+ - attachment paths must match allowed roots:
306
+ - `channels.imessage.attachmentRoots` (local)
307
+ - `channels.imessage.remoteAttachmentRoots` (remote SCP mode)
308
+ - default root pattern: `/Users/*/Library/Messages/Attachments`
309
+ - SCP uses strict host-key checking (`StrictHostKeyChecking=yes`)
310
+ - outbound media size uses `channels.imessage.mediaMaxMb` (default 16 MB)
311
+ </Accordion>
312
+
313
+ <Accordion title="Outbound chunking">
314
+ - text chunk limit: `channels.imessage.textChunkLimit` (default 4000)
315
+ - chunk mode: `channels.imessage.chunkMode`
316
+ - `length` (default)
317
+ - `newline` (paragraph-first splitting)
318
+ </Accordion>
319
+
320
+ <Accordion title="Addressing formats">
321
+ Preferred explicit targets:
322
+
323
+ - `chat_id:123` (recommended for stable routing)
324
+ - `chat_guid:...`
325
+ - `chat_identifier:...`
326
+
327
+ Handle targets are also supported:
328
+
329
+ - `imessage:+1555...`
330
+ - `sms:+1555...`
331
+ - `user@example.com`
332
+
333
+ ```bash
334
+ imsg chats --limit 20
335
+ ```
336
+
337
+ </Accordion>
338
+ </AccordionGroup>
339
+
340
+ ## Config writes
341
+
342
+ iMessage allows channel-initiated config writes by default (for `/config set|unset` when `commands.config: true`).
343
+
344
+ Disable:
345
+
346
+ ```json5
347
+ {
348
+ channels: {
349
+ imessage: {
350
+ configWrites: false,
351
+ },
352
+ },
353
+ }
354
+ ```
355
+
356
+ ## Troubleshooting
357
+
358
+ <AccordionGroup>
359
+ <Accordion title="imsg not found or RPC unsupported">
360
+ Validate the binary and RPC support:
361
+
362
+ ```bash
363
+ imsg rpc --help
364
+ Durar channels status --probe
365
+ ```
366
+
367
+ If probe reports RPC unsupported, update `imsg`.
368
+
369
+ </Accordion>
370
+
371
+ <Accordion title="DMs are ignored">
372
+ Check:
373
+
374
+ - `channels.imessage.dmPolicy`
375
+ - `channels.imessage.allowFrom`
376
+ - pairing approvals (`Durar pairing list imessage`)
377
+
378
+ </Accordion>
379
+
380
+ <Accordion title="Group messages are ignored">
381
+ Check:
382
+
383
+ - `channels.imessage.groupPolicy`
384
+ - `channels.imessage.groupAllowFrom`
385
+ - `channels.imessage.groups` allowlist behavior
386
+ - mention pattern configuration (`agents.list[].groupChat.mentionPatterns`)
387
+
388
+ </Accordion>
389
+
390
+ <Accordion title="Remote attachments fail">
391
+ Check:
392
+
393
+ - `channels.imessage.remoteHost`
394
+ - `channels.imessage.remoteAttachmentRoots`
395
+ - SSH/SCP key auth from the gateway host
396
+ - host key exists in `~/.ssh/known_hosts` on the gateway host
397
+ - remote path readability on the Mac running Messages
398
+
399
+ </Accordion>
400
+
401
+ <Accordion title="macOS permission prompts were missed">
402
+ Re-run in an interactive GUI terminal in the same user/session context and approve prompts:
403
+
404
+ ```bash
405
+ imsg chats --limit 1
406
+ imsg send <handle> "test"
407
+ ```
408
+
409
+ Confirm Full Disk Access + Automation are granted for the process context that runs Durar/`imsg`.
410
+
411
+ </Accordion>
412
+ </AccordionGroup>
413
+
414
+ ## Configuration reference pointers
415
+
416
+ - [Configuration reference - iMessage](/gateway/configuration-reference#imessage)
417
+ - [Gateway configuration](/gateway/configuration)
418
+ - [Pairing](/channels/pairing)
419
+ - [BlueBubbles](/channels/bluebubbles)
420
+
421
+ ## Related
422
+
423
+ - [Channels Overview](/channels) — all supported channels
424
+ - [Pairing](/channels/pairing) — DM authentication and pairing flow
425
+ - [Groups](/channels/groups) — group chat behavior and mention gating
426
+ - [Channel Routing](/channels/channel-routing) — session routing for messages
427
+ - [Security](/gateway/security) — access model and hardening
@@ -0,0 +1,50 @@
1
+ ---
2
+ summary: "Messaging platforms Durar can connect to"
3
+ read_when:
4
+ - You want to choose a chat channel for Durar
5
+ - You need a quick overview of supported messaging platforms
6
+ title: "Chat Channels"
7
+ ---
8
+
9
+ # Chat Channels
10
+
11
+ Durar can talk to you on any chat app you already use. Each channel connects via the Gateway.
12
+ Text is supported everywhere; media and reactions vary by channel.
13
+
14
+ ## Supported channels
15
+
16
+ - [BlueBubbles](/channels/bluebubbles) — **Recommended for iMessage**; uses the BlueBubbles macOS server REST API with full feature support (bundled plugin; edit, unsend, effects, reactions, group management — edit currently broken on macOS 26 Tahoe).
17
+ - [Discord](/channels/discord) — Discord Bot API + Gateway; supports servers, channels, and DMs.
18
+ - [Feishu](/channels/feishu) — Feishu/Lark bot via WebSocket (bundled plugin).
19
+ - [Google Chat](/channels/googlechat) — Google Chat API app via HTTP webhook.
20
+ - [iMessage (legacy)](/channels/imessage) — Legacy macOS integration via imsg CLI (deprecated, use BlueBubbles for new setups).
21
+ - [IRC](/channels/irc) — Classic IRC servers; channels + DMs with pairing/allowlist controls.
22
+ - [LINE](/channels/line) — LINE Messaging API bot (bundled plugin).
23
+ - [Matrix](/channels/matrix) — Matrix protocol (bundled plugin).
24
+ - [Mattermost](/channels/mattermost) — Bot API + WebSocket; channels, groups, DMs (bundled plugin).
25
+ - [Microsoft Teams](/channels/msteams) — Bot Framework; enterprise support (bundled plugin).
26
+ - [Nextcloud Talk](/channels/nextcloud-talk) — Self-hosted chat via Nextcloud Talk (bundled plugin).
27
+ - [Nostr](/channels/nostr) — Decentralized DMs via NIP-04 (bundled plugin).
28
+ - [QQ Bot](/channels/qqbot) — QQ Bot API; private chat, group chat, and rich media (bundled plugin).
29
+ - [Signal](/channels/signal) — signal-cli; privacy-focused.
30
+ - [Slack](/channels/slack) — Bolt SDK; workspace apps.
31
+ - [Synology Chat](/channels/synology-chat) — Synology NAS Chat via outgoing+incoming webhooks (bundled plugin).
32
+ - [Telegram](/channels/telegram) — Bot API via grammY; supports groups.
33
+ - [Tlon](/channels/tlon) — Urbit-based messenger (bundled plugin).
34
+ - [Twitch](/channels/twitch) — Twitch chat via IRC connection (bundled plugin).
35
+ - [Voice Call](/plugins/voice-call) — Telephony via Plivo or Twilio (plugin, installed separately).
36
+ - [WebChat](/web/webchat) — Gateway WebChat UI over WebSocket.
37
+ - [WeChat](https://www.npmjs.com/package/@tencent-weixin/Durar-weixin) — Tencent iLink Bot plugin via QR login; private chats only.
38
+ - [WhatsApp](/channels/whatsapp) — Most popular; uses Baileys and requires QR pairing.
39
+ - [Zalo](/channels/zalo) — Zalo Bot API; Vietnam's popular messenger (bundled plugin).
40
+ - [Zalo Personal](/channels/zalouser) — Zalo personal account via QR login (bundled plugin).
41
+
42
+ ## Notes
43
+
44
+ - Channels can run simultaneously; configure multiple and Durar will route per chat.
45
+ - Fastest setup is usually **Telegram** (simple bot token). WhatsApp requires QR pairing and
46
+ stores more state on disk.
47
+ - Group behavior varies by channel; see [Groups](/channels/groups).
48
+ - DM pairing and allowlists are enforced for safety; see [Security](/gateway/security).
49
+ - Troubleshooting: [Channel troubleshooting](/channels/troubleshooting).
50
+ - Model providers are documented separately; see [Model Providers](/providers/models).