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,421 @@
1
+ ---
2
+ title: "Memory configuration reference"
3
+ summary: "All configuration knobs for memory search, embedding providers, QMD, hybrid search, and multimodal indexing"
4
+ read_when:
5
+ - You want to configure memory search providers or embedding models
6
+ - You want to set up the QMD backend
7
+ - You want to tune hybrid search, MMR, or temporal decay
8
+ - You want to enable multimodal memory indexing
9
+ ---
10
+
11
+ # Memory configuration reference
12
+
13
+ This page lists every configuration knob for Durar memory search. For
14
+ conceptual overviews, see:
15
+
16
+ - [Memory Overview](/concepts/memory) -- how memory works
17
+ - [Builtin Engine](/concepts/memory-builtin) -- default SQLite backend
18
+ - [QMD Engine](/concepts/memory-qmd) -- local-first sidecar
19
+ - [Memory Search](/concepts/memory-search) -- search pipeline and tuning
20
+
21
+ All memory search settings live under `agents.defaults.memorySearch` in
22
+ `Durar.json` unless noted otherwise.
23
+
24
+ ---
25
+
26
+ ## Provider selection
27
+
28
+ | Key | Type | Default | Description |
29
+ | ---------- | --------- | ---------------- | -------------------------------------------------------------------------------- |
30
+ | `provider` | `string` | auto-detected | Embedding adapter ID: `openai`, `gemini`, `voyage`, `mistral`, `ollama`, `local` |
31
+ | `model` | `string` | provider default | Embedding model name |
32
+ | `fallback` | `string` | `"none"` | Fallback adapter ID when the primary fails |
33
+ | `enabled` | `boolean` | `true` | Enable or disable memory search |
34
+
35
+ ### Auto-detection order
36
+
37
+ When `provider` is not set, Durar selects the first available:
38
+
39
+ 1. `local` -- if `memorySearch.local.modelPath` is configured and the file exists.
40
+ 2. `openai` -- if an OpenAI key can be resolved.
41
+ 3. `gemini` -- if a Gemini key can be resolved.
42
+ 4. `voyage` -- if a Voyage key can be resolved.
43
+ 5. `mistral` -- if a Mistral key can be resolved.
44
+
45
+ `ollama` is supported but not auto-detected (set it explicitly).
46
+
47
+ ### API key resolution
48
+
49
+ Remote embeddings require an API key. Durar resolves from:
50
+ auth profiles, `models.providers.*.apiKey`, or environment variables.
51
+
52
+ | Provider | Env var | Config key |
53
+ | -------- | ------------------------------ | --------------------------------- |
54
+ | OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` |
55
+ | Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` |
56
+ | Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` |
57
+ | Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` |
58
+ | Ollama | `OLLAMA_API_KEY` (placeholder) | -- |
59
+
60
+ Codex OAuth covers chat/completions only and does not satisfy embedding
61
+ requests.
62
+
63
+ ---
64
+
65
+ ## Remote endpoint config
66
+
67
+ For custom OpenAI-compatible endpoints or overriding provider defaults:
68
+
69
+ | Key | Type | Description |
70
+ | ---------------- | -------- | -------------------------------------------------- |
71
+ | `remote.baseUrl` | `string` | Custom API base URL |
72
+ | `remote.apiKey` | `string` | Override API key |
73
+ | `remote.headers` | `object` | Extra HTTP headers (merged with provider defaults) |
74
+
75
+ ```json5
76
+ {
77
+ agents: {
78
+ defaults: {
79
+ memorySearch: {
80
+ provider: "openai",
81
+ model: "text-embedding-3-small",
82
+ remote: {
83
+ baseUrl: "https://api.example.com/v1/",
84
+ apiKey: "YOUR_KEY",
85
+ },
86
+ },
87
+ },
88
+ },
89
+ }
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Gemini-specific config
95
+
96
+ | Key | Type | Default | Description |
97
+ | ---------------------- | -------- | ---------------------- | ------------------------------------------ |
98
+ | `model` | `string` | `gemini-embedding-001` | Also supports `gemini-embedding-2-preview` |
99
+ | `outputDimensionality` | `number` | `3072` | For Embedding 2: 768, 1536, or 3072 |
100
+
101
+ <Warning>
102
+ Changing model or `outputDimensionality` triggers an automatic full reindex.
103
+ </Warning>
104
+
105
+ ---
106
+
107
+ ## Local embedding config
108
+
109
+ | Key | Type | Default | Description |
110
+ | --------------------- | -------- | ---------------------- | ------------------------------- |
111
+ | `local.modelPath` | `string` | auto-downloaded | Path to GGUF model file |
112
+ | `local.modelCacheDir` | `string` | node-llama-cpp default | Cache dir for downloaded models |
113
+
114
+ Default model: `embeddinggemma-300m-qat-Q8_0.gguf` (~0.6 GB, auto-downloaded).
115
+ Requires native build: `pnpm approve-builds` then `pnpm rebuild node-llama-cpp`.
116
+
117
+ ---
118
+
119
+ ## Hybrid search config
120
+
121
+ All under `memorySearch.query.hybrid`:
122
+
123
+ | Key | Type | Default | Description |
124
+ | --------------------- | --------- | ------- | ---------------------------------- |
125
+ | `enabled` | `boolean` | `true` | Enable hybrid BM25 + vector search |
126
+ | `vectorWeight` | `number` | `0.7` | Weight for vector scores (0-1) |
127
+ | `textWeight` | `number` | `0.3` | Weight for BM25 scores (0-1) |
128
+ | `candidateMultiplier` | `number` | `4` | Candidate pool size multiplier |
129
+
130
+ ### MMR (diversity)
131
+
132
+ | Key | Type | Default | Description |
133
+ | ------------- | --------- | ------- | ------------------------------------ |
134
+ | `mmr.enabled` | `boolean` | `false` | Enable MMR re-ranking |
135
+ | `mmr.lambda` | `number` | `0.7` | 0 = max diversity, 1 = max relevance |
136
+
137
+ ### Temporal decay (recency)
138
+
139
+ | Key | Type | Default | Description |
140
+ | ---------------------------- | --------- | ------- | ------------------------- |
141
+ | `temporalDecay.enabled` | `boolean` | `false` | Enable recency boost |
142
+ | `temporalDecay.halfLifeDays` | `number` | `30` | Score halves every N days |
143
+
144
+ Evergreen files (`MEMORY.md`, non-dated files in `memory/`) are never decayed.
145
+
146
+ ### Full example
147
+
148
+ ```json5
149
+ {
150
+ agents: {
151
+ defaults: {
152
+ memorySearch: {
153
+ query: {
154
+ hybrid: {
155
+ vectorWeight: 0.7,
156
+ textWeight: 0.3,
157
+ mmr: { enabled: true, lambda: 0.7 },
158
+ temporalDecay: { enabled: true, halfLifeDays: 30 },
159
+ },
160
+ },
161
+ },
162
+ },
163
+ },
164
+ }
165
+ ```
166
+
167
+ ---
168
+
169
+ ## Additional memory paths
170
+
171
+ | Key | Type | Description |
172
+ | ------------ | ---------- | ---------------------------------------- |
173
+ | `extraPaths` | `string[]` | Additional directories or files to index |
174
+
175
+ ```json5
176
+ {
177
+ agents: {
178
+ defaults: {
179
+ memorySearch: {
180
+ extraPaths: ["../team-docs", "/srv/shared-notes"],
181
+ },
182
+ },
183
+ },
184
+ }
185
+ ```
186
+
187
+ Paths can be absolute or workspace-relative. Directories are scanned
188
+ recursively for `.md` files. Symlink handling depends on the active backend:
189
+ the builtin engine ignores symlinks, while QMD follows the underlying QMD
190
+ scanner behavior.
191
+
192
+ For agent-scoped cross-agent transcript search, use
193
+ `agents.list[].memorySearch.qmd.extraCollections` instead of `memory.qmd.paths`.
194
+ Those extra collections follow the same `{ path, name, pattern? }` shape, but
195
+ they are merged per agent and can preserve explicit shared names when the path
196
+ points outside the current workspace.
197
+ If the same resolved path appears in both `memory.qmd.paths` and
198
+ `memorySearch.qmd.extraCollections`, QMD keeps the first entry and skips the
199
+ duplicate.
200
+
201
+ ---
202
+
203
+ ## Multimodal memory (Gemini)
204
+
205
+ Index images and audio alongside Markdown using Gemini Embedding 2:
206
+
207
+ | Key | Type | Default | Description |
208
+ | ------------------------- | ---------- | ---------- | -------------------------------------- |
209
+ | `multimodal.enabled` | `boolean` | `false` | Enable multimodal indexing |
210
+ | `multimodal.modalities` | `string[]` | -- | `["image"]`, `["audio"]`, or `["all"]` |
211
+ | `multimodal.maxFileBytes` | `number` | `10000000` | Max file size for indexing |
212
+
213
+ Only applies to files in `extraPaths`. Default memory roots stay Markdown-only.
214
+ Requires `gemini-embedding-2-preview`. `fallback` must be `"none"`.
215
+
216
+ Supported formats: `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`, `.heic`, `.heif`
217
+ (images); `.mp3`, `.wav`, `.ogg`, `.opus`, `.m4a`, `.aac`, `.flac` (audio).
218
+
219
+ ---
220
+
221
+ ## Embedding cache
222
+
223
+ | Key | Type | Default | Description |
224
+ | ------------------ | --------- | ------- | -------------------------------- |
225
+ | `cache.enabled` | `boolean` | `false` | Cache chunk embeddings in SQLite |
226
+ | `cache.maxEntries` | `number` | `50000` | Max cached embeddings |
227
+
228
+ Prevents re-embedding unchanged text during reindex or transcript updates.
229
+
230
+ ---
231
+
232
+ ## Batch indexing
233
+
234
+ | Key | Type | Default | Description |
235
+ | ----------------------------- | --------- | ------- | -------------------------- |
236
+ | `remote.batch.enabled` | `boolean` | `false` | Enable batch embedding API |
237
+ | `remote.batch.concurrency` | `number` | `2` | Parallel batch jobs |
238
+ | `remote.batch.wait` | `boolean` | `true` | Wait for batch completion |
239
+ | `remote.batch.pollIntervalMs` | `number` | -- | Poll interval |
240
+ | `remote.batch.timeoutMinutes` | `number` | -- | Batch timeout |
241
+
242
+ Available for `openai`, `gemini`, and `voyage`. OpenAI batch is typically
243
+ fastest and cheapest for large backfills.
244
+
245
+ ---
246
+
247
+ ## Session memory search (experimental)
248
+
249
+ Index session transcripts and surface them via `memory_search`:
250
+
251
+ | Key | Type | Default | Description |
252
+ | ----------------------------- | ---------- | ------------ | --------------------------------------- |
253
+ | `experimental.sessionMemory` | `boolean` | `false` | Enable session indexing |
254
+ | `sources` | `string[]` | `["memory"]` | Add `"sessions"` to include transcripts |
255
+ | `sync.sessions.deltaBytes` | `number` | `100000` | Byte threshold for reindex |
256
+ | `sync.sessions.deltaMessages` | `number` | `50` | Message threshold for reindex |
257
+
258
+ Session indexing is opt-in and runs asynchronously. Results can be slightly
259
+ stale. Session logs live on disk, so treat filesystem access as the trust
260
+ boundary.
261
+
262
+ ---
263
+
264
+ ## SQLite vector acceleration (sqlite-vec)
265
+
266
+ | Key | Type | Default | Description |
267
+ | ---------------------------- | --------- | ------- | --------------------------------- |
268
+ | `store.vector.enabled` | `boolean` | `true` | Use sqlite-vec for vector queries |
269
+ | `store.vector.extensionPath` | `string` | bundled | Override sqlite-vec path |
270
+
271
+ When sqlite-vec is unavailable, Durar falls back to in-process cosine
272
+ similarity automatically.
273
+
274
+ ---
275
+
276
+ ## Index storage
277
+
278
+ | Key | Type | Default | Description |
279
+ | --------------------- | -------- | ------------------------------------- | ------------------------------------------- |
280
+ | `store.path` | `string` | `~/.Durar/memory/{agentId}.sqlite` | Index location (supports `{agentId}` token) |
281
+ | `store.fts.tokenizer` | `string` | `unicode61` | FTS5 tokenizer (`unicode61` or `trigram`) |
282
+
283
+ ---
284
+
285
+ ## QMD backend config
286
+
287
+ Set `memory.backend = "qmd"` to enable. All QMD settings live under
288
+ `memory.qmd`:
289
+
290
+ | Key | Type | Default | Description |
291
+ | ------------------------ | --------- | -------- | -------------------------------------------- |
292
+ | `command` | `string` | `qmd` | QMD executable path |
293
+ | `searchMode` | `string` | `search` | Search command: `search`, `vsearch`, `query` |
294
+ | `includeDefaultMemory` | `boolean` | `true` | Auto-index `MEMORY.md` + `memory/**/*.md` |
295
+ | `paths[]` | `array` | -- | Extra paths: `{ name, path, pattern? }` |
296
+ | `sessions.enabled` | `boolean` | `false` | Index session transcripts |
297
+ | `sessions.retentionDays` | `number` | -- | Transcript retention |
298
+ | `sessions.exportDir` | `string` | -- | Export directory |
299
+
300
+ ### Update schedule
301
+
302
+ | Key | Type | Default | Description |
303
+ | ------------------------- | --------- | ------- | ------------------------------------- |
304
+ | `update.interval` | `string` | `5m` | Refresh interval |
305
+ | `update.debounceMs` | `number` | `15000` | Debounce file changes |
306
+ | `update.onBoot` | `boolean` | `true` | Refresh on startup |
307
+ | `update.waitForBootSync` | `boolean` | `false` | Block startup until refresh completes |
308
+ | `update.embedInterval` | `string` | -- | Separate embed cadence |
309
+ | `update.commandTimeoutMs` | `number` | -- | Timeout for QMD commands |
310
+ | `update.updateTimeoutMs` | `number` | -- | Timeout for QMD update operations |
311
+ | `update.embedTimeoutMs` | `number` | -- | Timeout for QMD embed operations |
312
+
313
+ ### Limits
314
+
315
+ | Key | Type | Default | Description |
316
+ | ------------------------- | -------- | ------- | -------------------------- |
317
+ | `limits.maxResults` | `number` | `6` | Max search results |
318
+ | `limits.maxSnippetChars` | `number` | -- | Clamp snippet length |
319
+ | `limits.maxInjectedChars` | `number` | -- | Clamp total injected chars |
320
+ | `limits.timeoutMs` | `number` | `4000` | Search timeout |
321
+
322
+ ### Scope
323
+
324
+ Controls which sessions can receive QMD search results. Same schema as
325
+ [`session.sendPolicy`](/gateway/configuration-reference#session):
326
+
327
+ ```json5
328
+ {
329
+ memory: {
330
+ qmd: {
331
+ scope: {
332
+ default: "deny",
333
+ rules: [{ action: "allow", match: { chatType: "direct" } }],
334
+ },
335
+ },
336
+ },
337
+ }
338
+ ```
339
+
340
+ Default is DM-only. `match.keyPrefix` matches the normalized session key;
341
+ `match.rawKeyPrefix` matches the raw key including `agent:<id>:`.
342
+
343
+ ### Citations
344
+
345
+ `memory.citations` applies to all backends:
346
+
347
+ | Value | Behavior |
348
+ | ---------------- | --------------------------------------------------- |
349
+ | `auto` (default) | Include `Source: <path#line>` footer in snippets |
350
+ | `on` | Always include footer |
351
+ | `off` | Omit footer (path still passed to agent internally) |
352
+
353
+ ### Full QMD example
354
+
355
+ ```json5
356
+ {
357
+ memory: {
358
+ backend: "qmd",
359
+ citations: "auto",
360
+ qmd: {
361
+ includeDefaultMemory: true,
362
+ update: { interval: "5m", debounceMs: 15000 },
363
+ limits: { maxResults: 6, timeoutMs: 4000 },
364
+ scope: {
365
+ default: "deny",
366
+ rules: [{ action: "allow", match: { chatType: "direct" } }],
367
+ },
368
+ paths: [{ name: "docs", path: "~/notes", pattern: "**/*.md" }],
369
+ },
370
+ },
371
+ }
372
+ ```
373
+
374
+ ---
375
+
376
+ ## Dreaming (experimental)
377
+
378
+ Dreaming is configured under `plugins.entries.memory-core.config.dreaming`,
379
+ not under `agents.defaults.memorySearch`. For conceptual details and chat
380
+ commands, see [Dreaming](/concepts/dreaming).
381
+
382
+ | Key | Type | Default | Description |
383
+ | --------------------- | --------- | -------------- | ----------------------------------------- |
384
+ | `mode` | `string` | `"off"` | Preset: `off`, `core`, `rem`, or `deep` |
385
+ | `cron` | `string` | preset default | Cron expression override for the schedule |
386
+ | `timezone` | `string` | user timezone | Timezone for schedule evaluation |
387
+ | `limit` | `number` | preset default | Max candidates to promote per cycle |
388
+ | `minScore` | `number` | preset default | Minimum weighted score for promotion |
389
+ | `minRecallCount` | `number` | preset default | Minimum recall count threshold |
390
+ | `minUniqueQueries` | `number` | preset default | Minimum distinct query count threshold |
391
+ | `recencyHalfLifeDays` | `number` | `14` | Days for recency score to decay by half |
392
+ | `maxAgeDays` | `number` | unset | Optional max daily-note age for promotion |
393
+ | `verboseLogging` | `boolean` | `false` | Emit detailed per-run dreaming logs |
394
+
395
+ ### Preset defaults
396
+
397
+ | Mode | Cadence | minScore | minRecallCount | minUniqueQueries | recencyHalfLifeDays |
398
+ | ------ | -------------- | -------- | -------------- | ---------------- | ------------------- |
399
+ | `off` | Disabled | -- | -- | -- | -- |
400
+ | `core` | Daily 3 AM | 0.75 | 3 | 2 | 14 |
401
+ | `rem` | Every 6 hours | 0.85 | 4 | 3 | 14 |
402
+ | `deep` | Every 12 hours | 0.80 | 3 | 3 | 14 |
403
+
404
+ ### Example
405
+
406
+ ```json5
407
+ {
408
+ plugins: {
409
+ entries: {
410
+ "memory-core": {
411
+ config: {
412
+ dreaming: {
413
+ mode: "core",
414
+ timezone: "America/New_York",
415
+ },
416
+ },
417
+ },
418
+ },
419
+ },
420
+ }
421
+ ```