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,105 @@
1
+ ---
2
+ title: "Builtin Memory Engine"
3
+ summary: "The default SQLite-based memory backend with keyword, vector, and hybrid search"
4
+ read_when:
5
+ - You want to understand the default memory backend
6
+ - You want to configure embedding providers or hybrid search
7
+ ---
8
+
9
+ # Builtin Memory Engine
10
+
11
+ The builtin engine is the default memory backend. It stores your memory index in
12
+ a per-agent SQLite database and needs no extra dependencies to get started.
13
+
14
+ ## What it provides
15
+
16
+ - **Keyword search** via FTS5 full-text indexing (BM25 scoring).
17
+ - **Vector search** via embeddings from any supported provider.
18
+ - **Hybrid search** that combines both for best results.
19
+ - **CJK support** via trigram tokenization for Chinese, Japanese, and Korean.
20
+ - **sqlite-vec acceleration** for in-database vector queries (optional).
21
+
22
+ ## Getting started
23
+
24
+ If you have an API key for OpenAI, Gemini, Voyage, or Mistral, the builtin
25
+ engine auto-detects it and enables vector search. No config needed.
26
+
27
+ To set a provider explicitly:
28
+
29
+ ```json5
30
+ {
31
+ agents: {
32
+ defaults: {
33
+ memorySearch: {
34
+ provider: "openai",
35
+ },
36
+ },
37
+ },
38
+ }
39
+ ```
40
+
41
+ Without an embedding provider, only keyword search is available.
42
+
43
+ ## Supported embedding providers
44
+
45
+ | Provider | ID | Auto-detected | Notes |
46
+ | -------- | --------- | ------------- | ----------------------------------- |
47
+ | OpenAI | `openai` | Yes | Default: `text-embedding-3-small` |
48
+ | Gemini | `gemini` | Yes | Supports multimodal (image + audio) |
49
+ | Voyage | `voyage` | Yes | |
50
+ | Mistral | `mistral` | Yes | |
51
+ | Ollama | `ollama` | No | Local, set explicitly |
52
+ | Local | `local` | Yes (first) | GGUF model, ~0.6 GB download |
53
+
54
+ Auto-detection picks the first provider whose API key can be resolved, in the
55
+ order shown. Set `memorySearch.provider` to override.
56
+
57
+ ## How indexing works
58
+
59
+ Durar indexes `MEMORY.md` and `memory/*.md` into chunks (~400 tokens with
60
+ 80-token overlap) and stores them in a per-agent SQLite database.
61
+
62
+ - **Index location:** `~/.Durar/memory/<agentId>.sqlite`
63
+ - **File watching:** changes to memory files trigger a debounced reindex (1.5s).
64
+ - **Auto-reindex:** when the embedding provider, model, or chunking config
65
+ changes, the entire index is rebuilt automatically.
66
+ - **Reindex on demand:** `Durar memory index --force`
67
+
68
+ <Info>
69
+ You can also index Markdown files outside the workspace with
70
+ `memorySearch.extraPaths`. See the
71
+ [configuration reference](/reference/memory-config#additional-memory-paths).
72
+ </Info>
73
+
74
+ ## When to use
75
+
76
+ The builtin engine is the right choice for most users:
77
+
78
+ - Works out of the box with no extra dependencies.
79
+ - Handles keyword and vector search well.
80
+ - Supports all embedding providers.
81
+ - Hybrid search combines the best of both retrieval approaches.
82
+
83
+ Consider switching to [QMD](/concepts/memory-qmd) if you need reranking, query
84
+ expansion, or want to index directories outside the workspace.
85
+
86
+ Consider [Honcho](/concepts/memory-honcho) if you want cross-session memory with
87
+ automatic user modeling.
88
+
89
+ ## Troubleshooting
90
+
91
+ **Memory search disabled?** Check `Durar memory status`. If no provider is
92
+ detected, set one explicitly or add an API key.
93
+
94
+ **Stale results?** Run `Durar memory index --force` to rebuild. The watcher
95
+ may miss changes in rare edge cases.
96
+
97
+ **sqlite-vec not loading?** Durar falls back to in-process cosine similarity
98
+ automatically. Check logs for the specific load error.
99
+
100
+ ## Configuration
101
+
102
+ For embedding provider setup, hybrid search tuning (weights, MMR, temporal
103
+ decay), batch indexing, multimodal memory, sqlite-vec, extra paths, and all
104
+ other config knobs, see the
105
+ [Memory configuration reference](/reference/memory-config).
@@ -0,0 +1,140 @@
1
+ ---
2
+ title: "Honcho Memory"
3
+ summary: "AI-native cross-session memory via the Honcho plugin"
4
+ read_when:
5
+ - You want persistent memory that works across sessions and channels
6
+ - You want AI-powered recall and user modeling
7
+ ---
8
+
9
+ # Honcho Memory
10
+
11
+ [Honcho](https://honcho.dev) adds AI-native memory to Durar. It persists
12
+ conversations to a dedicated service and builds user and agent models over time,
13
+ giving your agent cross-session context that goes beyond workspace Markdown
14
+ files.
15
+
16
+ ## What it provides
17
+
18
+ - **Cross-session memory** -- conversations are persisted after every turn, so
19
+ context carries across session resets, compaction, and channel switches.
20
+ - **User modeling** -- Honcho maintains a profile for each user (preferences,
21
+ facts, communication style) and for the agent (personality, learned
22
+ behaviors).
23
+ - **Semantic search** -- search over observations from past conversations, not
24
+ just the current session.
25
+ - **Multi-agent awareness** -- parent agents automatically track spawned
26
+ sub-agents, with parents added as observers in child sessions.
27
+
28
+ ## Available tools
29
+
30
+ Honcho registers tools that the agent can use during conversation:
31
+
32
+ **Data retrieval (fast, no LLM call):**
33
+
34
+ | Tool | What it does |
35
+ | --------------------------- | ------------------------------------------------------ |
36
+ | `honcho_context` | Full user representation across sessions |
37
+ | `honcho_search_conclusions` | Semantic search over stored conclusions |
38
+ | `honcho_search_messages` | Find messages across sessions (filter by sender, date) |
39
+ | `honcho_session` | Current session history and summary |
40
+
41
+ **Q&A (LLM-powered):**
42
+
43
+ | Tool | What it does |
44
+ | ------------ | ------------------------------------------------------------------------- |
45
+ | `honcho_ask` | Ask about the user. `depth='quick'` for facts, `'thorough'` for synthesis |
46
+
47
+ ## Getting started
48
+
49
+ Install the plugin and run setup:
50
+
51
+ ```bash
52
+ Durar plugins install @honcho-ai/Durar-honcho
53
+ Durar honcho setup
54
+ Durar gateway --force
55
+ ```
56
+
57
+ The setup command prompts for your API credentials, writes the config, and
58
+ optionally migrates existing workspace memory files.
59
+
60
+ <Info>
61
+ Honcho can run entirely locally (self-hosted) or via the managed API at
62
+ `api.honcho.dev`. No external dependencies are required for the self-hosted
63
+ option.
64
+ </Info>
65
+
66
+ ## Configuration
67
+
68
+ Settings live under `plugins.entries["Durar-honcho"].config`:
69
+
70
+ ```json5
71
+ {
72
+ plugins: {
73
+ entries: {
74
+ "Durar-honcho": {
75
+ config: {
76
+ apiKey: "your-api-key", // omit for self-hosted
77
+ workspaceId: "Durar", // memory isolation
78
+ baseUrl: "https://api.honcho.dev",
79
+ },
80
+ },
81
+ },
82
+ },
83
+ }
84
+ ```
85
+
86
+ For self-hosted instances, point `baseUrl` to your local server (for example
87
+ `http://localhost:8000`) and omit the API key.
88
+
89
+ ## Migrating existing memory
90
+
91
+ If you have existing workspace memory files (`USER.md`, `MEMORY.md`,
92
+ `IDENTITY.md`, `memory/`, `canvas/`), `Durar honcho setup` detects and
93
+ offers to migrate them.
94
+
95
+ <Info>
96
+ Migration is non-destructive -- files are uploaded to Honcho. Originals are
97
+ never deleted or moved.
98
+ </Info>
99
+
100
+ ## How it works
101
+
102
+ After every AI turn, the conversation is persisted to Honcho. Both user and
103
+ agent messages are observed, allowing Honcho to build and refine its models over
104
+ time.
105
+
106
+ During conversation, Honcho tools query the service in the `before_prompt_build`
107
+ phase, injecting relevant context before the model sees the prompt. This ensures
108
+ accurate turn boundaries and relevant recall.
109
+
110
+ ## Honcho vs builtin memory
111
+
112
+ | | Builtin / QMD | Honcho |
113
+ | ----------------- | ---------------------------- | ----------------------------------- |
114
+ | **Storage** | Workspace Markdown files | Dedicated service (local or hosted) |
115
+ | **Cross-session** | Via memory files | Automatic, built-in |
116
+ | **User modeling** | Manual (write to MEMORY.md) | Automatic profiles |
117
+ | **Search** | Vector + keyword (hybrid) | Semantic over observations |
118
+ | **Multi-agent** | Not tracked | Parent/child awareness |
119
+ | **Dependencies** | None (builtin) or QMD binary | Plugin install |
120
+
121
+ Honcho and the builtin memory system can work together. When QMD is configured,
122
+ additional tools become available for searching local Markdown files alongside
123
+ Honcho's cross-session memory.
124
+
125
+ ## CLI commands
126
+
127
+ ```bash
128
+ Durar honcho setup # Configure API key and migrate files
129
+ Durar honcho status # Check connection status
130
+ Durar honcho ask <question> # Query Honcho about the user
131
+ Durar honcho search <query> [-k N] [-d D] # Semantic search over memory
132
+ ```
133
+
134
+ ## Further reading
135
+
136
+ - [Plugin source code](https://github.com/plastic-labs/Durar-honcho)
137
+ - [Honcho documentation](https://docs.honcho.dev)
138
+ - [Honcho Durar integration guide](https://docs.honcho.dev/v3/guides/integrations/Durar)
139
+ - [Memory](/concepts/memory) -- Durar memory overview
140
+ - [Context Engines](/concepts/context-engine) -- how plugin context engines work
@@ -0,0 +1,163 @@
1
+ ---
2
+ title: "QMD Memory Engine"
3
+ summary: "Local-first search sidecar with BM25, vectors, reranking, and query expansion"
4
+ read_when:
5
+ - You want to set up QMD as your memory backend
6
+ - You want advanced memory features like reranking or extra indexed paths
7
+ ---
8
+
9
+ # QMD Memory Engine
10
+
11
+ [QMD](https://github.com/tobi/qmd) is a local-first search sidecar that runs
12
+ alongside Durar. It combines BM25, vector search, and reranking in a single
13
+ binary, and can index content beyond your workspace memory files.
14
+
15
+ ## What it adds over builtin
16
+
17
+ - **Reranking and query expansion** for better recall.
18
+ - **Index extra directories** -- project docs, team notes, anything on disk.
19
+ - **Index session transcripts** -- recall earlier conversations.
20
+ - **Fully local** -- runs via Bun + node-llama-cpp, auto-downloads GGUF models.
21
+ - **Automatic fallback** -- if QMD is unavailable, Durar falls back to the
22
+ builtin engine seamlessly.
23
+
24
+ ## Getting started
25
+
26
+ ### Prerequisites
27
+
28
+ - Install QMD: `bun install -g @tobilu/qmd`
29
+ - SQLite build that allows extensions (`brew install sqlite` on macOS).
30
+ - QMD must be on the gateway's `PATH`.
31
+ - macOS and Linux work out of the box. Windows is best supported via WSL2.
32
+
33
+ ### Enable
34
+
35
+ ```json5
36
+ {
37
+ memory: {
38
+ backend: "qmd",
39
+ },
40
+ }
41
+ ```
42
+
43
+ Durar creates a self-contained QMD home under
44
+ `~/.Durar/agents/<agentId>/qmd/` and manages the sidecar lifecycle
45
+ automatically -- collections, updates, and embedding runs are handled for you.
46
+
47
+ ## How the sidecar works
48
+
49
+ - Durar creates collections from your workspace memory files and any
50
+ configured `memory.qmd.paths`, then runs `qmd update` + `qmd embed` on boot
51
+ and periodically (default every 5 minutes).
52
+ - Boot refresh runs in the background so chat startup is not blocked.
53
+ - Searches use the configured `searchMode` (default: `search`; also supports
54
+ `vsearch` and `query`). If a mode fails, Durar retries with `qmd query`.
55
+ - If QMD fails entirely, Durar falls back to the builtin SQLite engine.
56
+
57
+ <Info>
58
+ The first search may be slow -- QMD auto-downloads GGUF models (~2 GB) for
59
+ reranking and query expansion on the first `qmd query` run.
60
+ </Info>
61
+
62
+ ## Indexing extra paths
63
+
64
+ Point QMD at additional directories to make them searchable:
65
+
66
+ ```json5
67
+ {
68
+ memory: {
69
+ backend: "qmd",
70
+ qmd: {
71
+ paths: [{ name: "docs", path: "~/notes", pattern: "**/*.md" }],
72
+ },
73
+ },
74
+ }
75
+ ```
76
+
77
+ Snippets from extra paths appear as `qmd/<collection>/<relative-path>` in
78
+ search results. `memory_get` understands this prefix and reads from the correct
79
+ collection root.
80
+
81
+ ## Indexing session transcripts
82
+
83
+ Enable session indexing to recall earlier conversations:
84
+
85
+ ```json5
86
+ {
87
+ memory: {
88
+ backend: "qmd",
89
+ qmd: {
90
+ sessions: { enabled: true },
91
+ },
92
+ },
93
+ }
94
+ ```
95
+
96
+ Transcripts are exported as sanitized User/Assistant turns into a dedicated QMD
97
+ collection under `~/.Durar/agents/<id>/qmd/sessions/`.
98
+
99
+ ## Search scope
100
+
101
+ By default, QMD search results are only surfaced in DM sessions (not groups or
102
+ channels). Configure `memory.qmd.scope` to change this:
103
+
104
+ ```json5
105
+ {
106
+ memory: {
107
+ qmd: {
108
+ scope: {
109
+ default: "deny",
110
+ rules: [{ action: "allow", match: { chatType: "direct" } }],
111
+ },
112
+ },
113
+ },
114
+ }
115
+ ```
116
+
117
+ When scope denies a search, Durar logs a warning with the derived channel and
118
+ chat type so empty results are easier to debug.
119
+
120
+ ## Citations
121
+
122
+ When `memory.citations` is `auto` or `on`, search snippets include a
123
+ `Source: <path#line>` footer. Set `memory.citations = "off"` to omit the footer
124
+ while still passing the path to the agent internally.
125
+
126
+ ## When to use
127
+
128
+ Choose QMD when you need:
129
+
130
+ - Reranking for higher-quality results.
131
+ - To search project docs or notes outside the workspace.
132
+ - To recall past session conversations.
133
+ - Fully local search with no API keys.
134
+
135
+ For simpler setups, the [builtin engine](/concepts/memory-builtin) works well
136
+ with no extra dependencies.
137
+
138
+ ## Troubleshooting
139
+
140
+ **QMD not found?** Ensure the binary is on the gateway's `PATH`. If Durar
141
+ runs as a service, create a symlink:
142
+ `sudo ln -s ~/.bun/bin/qmd /usr/local/bin/qmd`.
143
+
144
+ **First search very slow?** QMD downloads GGUF models on first use. Pre-warm
145
+ with `qmd query "test"` using the same XDG dirs Durar uses.
146
+
147
+ **Search times out?** Increase `memory.qmd.limits.timeoutMs` (default: 4000ms).
148
+ Set to `120000` for slower hardware.
149
+
150
+ **Empty results in group chats?** Check `memory.qmd.scope` -- the default only
151
+ allows DM sessions.
152
+
153
+ **Workspace-visible temp repos causing `ENAMETOOLONG` or broken indexing?**
154
+ QMD traversal currently follows the underlying QMD scanner behavior rather than
155
+ Durar's builtin symlink rules. Keep temporary monorepo checkouts under
156
+ hidden directories like `.tmp/` or outside indexed QMD roots until QMD exposes
157
+ cycle-safe traversal or explicit exclusion controls.
158
+
159
+ ## Configuration
160
+
161
+ For the full config surface (`memory.qmd.*`), search modes, update intervals,
162
+ scope rules, and all other knobs, see the
163
+ [Memory configuration reference](/reference/memory-config).
@@ -0,0 +1,141 @@
1
+ ---
2
+ title: "Memory Search"
3
+ summary: "How memory search finds relevant notes using embeddings and hybrid retrieval"
4
+ read_when:
5
+ - You want to understand how memory_search works
6
+ - You want to choose an embedding provider
7
+ - You want to tune search quality
8
+ ---
9
+
10
+ # Memory Search
11
+
12
+ `memory_search` finds relevant notes from your memory files, even when the
13
+ wording differs from the original text. It works by indexing memory into small
14
+ chunks and searching them using embeddings, keywords, or both.
15
+
16
+ ## Quick start
17
+
18
+ If you have an OpenAI, Gemini, Voyage, or Mistral API key configured, memory
19
+ search works automatically. To set a provider explicitly:
20
+
21
+ ```json5
22
+ {
23
+ agents: {
24
+ defaults: {
25
+ memorySearch: {
26
+ provider: "openai", // or "gemini", "local", "ollama", etc.
27
+ },
28
+ },
29
+ },
30
+ }
31
+ ```
32
+
33
+ For local embeddings with no API key, use `provider: "local"` (requires
34
+ node-llama-cpp).
35
+
36
+ ## Supported providers
37
+
38
+ | Provider | ID | Needs API key | Notes |
39
+ | -------- | --------- | ------------- | ----------------------------- |
40
+ | OpenAI | `openai` | Yes | Auto-detected, fast |
41
+ | Gemini | `gemini` | Yes | Supports image/audio indexing |
42
+ | Voyage | `voyage` | Yes | Auto-detected |
43
+ | Mistral | `mistral` | Yes | Auto-detected |
44
+ | Ollama | `ollama` | No | Local, must set explicitly |
45
+ | Local | `local` | No | GGUF model, ~0.6 GB download |
46
+
47
+ ## How search works
48
+
49
+ Durar runs two retrieval paths in parallel and merges the results:
50
+
51
+ ```mermaid
52
+ flowchart LR
53
+ Q["Query"] --> E["Embedding"]
54
+ Q --> T["Tokenize"]
55
+ E --> VS["Vector Search"]
56
+ T --> BM["BM25 Search"]
57
+ VS --> M["Weighted Merge"]
58
+ BM --> M
59
+ M --> R["Top Results"]
60
+ ```
61
+
62
+ - **Vector search** finds notes with similar meaning ("gateway host" matches
63
+ "the machine running Durar").
64
+ - **BM25 keyword search** finds exact matches (IDs, error strings, config
65
+ keys).
66
+
67
+ If only one path is available (no embeddings or no FTS), the other runs alone.
68
+
69
+ ## Improving search quality
70
+
71
+ Two optional features help when you have a large note history:
72
+
73
+ ### Temporal decay
74
+
75
+ Old notes gradually lose ranking weight so recent information surfaces first.
76
+ With the default half-life of 30 days, a note from last month scores at 50% of
77
+ its original weight. Evergreen files like `MEMORY.md` are never decayed.
78
+
79
+ <Tip>
80
+ Enable temporal decay if your agent has months of daily notes and stale
81
+ information keeps outranking recent context.
82
+ </Tip>
83
+
84
+ ### MMR (diversity)
85
+
86
+ Reduces redundant results. If five notes all mention the same router config, MMR
87
+ ensures the top results cover different topics instead of repeating.
88
+
89
+ <Tip>
90
+ Enable MMR if `memory_search` keeps returning near-duplicate snippets from
91
+ different daily notes.
92
+ </Tip>
93
+
94
+ ### Enable both
95
+
96
+ ```json5
97
+ {
98
+ agents: {
99
+ defaults: {
100
+ memorySearch: {
101
+ query: {
102
+ hybrid: {
103
+ mmr: { enabled: true },
104
+ temporalDecay: { enabled: true },
105
+ },
106
+ },
107
+ },
108
+ },
109
+ },
110
+ }
111
+ ```
112
+
113
+ ## Multimodal memory
114
+
115
+ With Gemini Embedding 2, you can index images and audio files alongside
116
+ Markdown. Search queries remain text, but they match against visual and audio
117
+ content. See the [Memory configuration reference](/reference/memory-config) for
118
+ setup.
119
+
120
+ ## Session memory search
121
+
122
+ You can optionally index session transcripts so `memory_search` can recall
123
+ earlier conversations. This is opt-in via
124
+ `memorySearch.experimental.sessionMemory`. See the
125
+ [configuration reference](/reference/memory-config) for details.
126
+
127
+ ## Troubleshooting
128
+
129
+ **No results?** Run `Durar memory status` to check the index. If empty, run
130
+ `Durar memory index --force`.
131
+
132
+ **Only keyword matches?** Your embedding provider may not be configured. Check
133
+ `Durar memory status --deep`.
134
+
135
+ **CJK text not found?** Rebuild the FTS index with
136
+ `Durar memory index --force`.
137
+
138
+ ## Further reading
139
+
140
+ - [Memory](/concepts/memory) -- file layout, backends, tools
141
+ - [Memory configuration reference](/reference/memory-config) -- all config knobs
@@ -0,0 +1,121 @@
1
+ ---
2
+ title: "Memory Overview"
3
+ summary: "How Durar remembers things across sessions"
4
+ read_when:
5
+ - You want to understand how memory works
6
+ - You want to know what memory files to write
7
+ ---
8
+
9
+ # Memory Overview
10
+
11
+ Durar remembers things by writing **plain Markdown files** in your agent's
12
+ workspace. The model only "remembers" what gets saved to disk -- there is no
13
+ hidden state.
14
+
15
+ ## How it works
16
+
17
+ Your agent has two places to store memories:
18
+
19
+ - **`MEMORY.md`** -- long-term memory. Durable facts, preferences, and
20
+ decisions. Loaded at the start of every DM session.
21
+ - **`memory/YYYY-MM-DD.md`** -- daily notes. Running context and observations.
22
+ Today and yesterday's notes are loaded automatically.
23
+
24
+ These files live in the agent workspace (default `~/.Durar/workspace`).
25
+
26
+ <Tip>
27
+ If you want your agent to remember something, just ask it: "Remember that I
28
+ prefer TypeScript." It will write it to the appropriate file.
29
+ </Tip>
30
+
31
+ ## Memory tools
32
+
33
+ The agent has two tools for working with memory:
34
+
35
+ - **`memory_search`** -- finds relevant notes using semantic search, even when
36
+ the wording differs from the original.
37
+ - **`memory_get`** -- reads a specific memory file or line range.
38
+
39
+ Both tools are provided by the active memory plugin (default: `memory-core`).
40
+
41
+ ## Memory search
42
+
43
+ When an embedding provider is configured, `memory_search` uses **hybrid
44
+ search** -- combining vector similarity (semantic meaning) with keyword matching
45
+ (exact terms like IDs and code symbols). This works out of the box once you have
46
+ an API key for any supported provider.
47
+
48
+ <Info>
49
+ Durar auto-detects your embedding provider from available API keys. If you
50
+ have an OpenAI, Gemini, Voyage, or Mistral key configured, memory search is
51
+ enabled automatically.
52
+ </Info>
53
+
54
+ For details on how search works, tuning options, and provider setup, see
55
+ [Memory Search](/concepts/memory-search).
56
+
57
+ ## Memory backends
58
+
59
+ <CardGroup cols={3}>
60
+ <Card title="Builtin (default)" icon="database" href="/concepts/memory-builtin">
61
+ SQLite-based. Works out of the box with keyword search, vector similarity, and
62
+ hybrid search. No extra dependencies.
63
+ </Card>
64
+ <Card title="QMD" icon="search" href="/concepts/memory-qmd">
65
+ Local-first sidecar with reranking, query expansion, and the ability to index
66
+ directories outside the workspace.
67
+ </Card>
68
+ <Card title="Honcho" icon="brain" href="/concepts/memory-honcho">
69
+ AI-native cross-session memory with user modeling, semantic search, and
70
+ multi-agent awareness. Plugin install.
71
+ </Card>
72
+ </CardGroup>
73
+
74
+ ## Automatic memory flush
75
+
76
+ Before [compaction](/concepts/compaction) summarizes your conversation, Durar
77
+ runs a silent turn that reminds the agent to save important context to memory
78
+ files. This is on by default -- you do not need to configure anything.
79
+
80
+ <Tip>
81
+ The memory flush prevents context loss during compaction. If your agent has
82
+ important facts in the conversation that are not yet written to a file, they
83
+ will be saved automatically before the summary happens.
84
+ </Tip>
85
+
86
+ ## Dreaming (experimental)
87
+
88
+ Dreaming is an optional background consolidation pass for memory. It revisits
89
+ short-term recalls from daily files (`memory/YYYY-MM-DD.md`), scores them, and
90
+ promotes only qualified items into long-term memory (`MEMORY.md`).
91
+
92
+ It is designed to keep long-term memory high signal:
93
+
94
+ - **Opt-in**: disabled by default.
95
+ - **Scheduled**: when enabled, `memory-core` manages the recurring task
96
+ automatically.
97
+ - **Thresholded**: promotions must pass score, recall frequency, and query
98
+ diversity gates.
99
+
100
+ For mode behavior (`off`, `core`, `rem`, `deep`), scoring signals, and tuning
101
+ knobs, see [Dreaming (experimental)](/concepts/dreaming).
102
+
103
+ ## CLI
104
+
105
+ ```bash
106
+ Durar memory status # Check index status and provider
107
+ Durar memory search "query" # Search from the command line
108
+ Durar memory index --force # Rebuild the index
109
+ ```
110
+
111
+ ## Further reading
112
+
113
+ - [Builtin Memory Engine](/concepts/memory-builtin) -- default SQLite backend
114
+ - [QMD Memory Engine](/concepts/memory-qmd) -- advanced local-first sidecar
115
+ - [Honcho Memory](/concepts/memory-honcho) -- AI-native cross-session memory
116
+ - [Memory Search](/concepts/memory-search) -- search pipeline, providers, and
117
+ tuning
118
+ - [Dreaming (experimental)](/concepts/dreaming) -- background promotion
119
+ from short-term recall to long-term memory
120
+ - [Memory configuration reference](/reference/memory-config) -- all config knobs
121
+ - [Compaction](/concepts/compaction) -- how compaction interacts with memory