memory_search finds relevant notes from your memory files, even when the
wording differs from the original text. It works by indexing memory into small
chunks and searching them using embeddings, keywords, or both.
If you have a GitHub Copilot subscription, OpenAI, Gemini, Voyage, or Mistral
API key configured, memory search works automatically. To set a provider
explicitly:
{ agents: { defaults: { memorySearch: { provider: "openai", // or "gemini", "local", "ollama", etc. }, }, },}
For local embeddings with no API key, use provider: "local" (requires
node-llama-cpp).
If only one path is available (no embeddings or no FTS), the other runs alone.When embeddings are unavailable, FluffBuzz still uses lexical ranking over FTS results instead of falling back to raw exact-match ordering only. That degraded mode boosts chunks with stronger query-term coverage and relevant file paths, which keeps recall useful even without sqlite-vec or an embedding provider.
Old notes gradually lose ranking weight so recent information surfaces first.
With the default half-life of 30 days, a note from last month scores at 50% of
its original weight. Evergreen files like MEMORY.md are never decayed.
Enable temporal decay if your agent has months of daily notes and stale
information keeps outranking recent context.
With Gemini Embedding 2, you can index images and audio files alongside
Markdown. Search queries remain text, but they match against visual and audio
content. See the Memory configuration reference for
setup.
You can optionally index session transcripts so memory_search can recall
earlier conversations. This is opt-in via
memorySearch.experimental.sessionMemory. See the
configuration reference for details.
No results? Run fluffbuzz memory status to check the index. If empty, run
fluffbuzz memory index --force.Only keyword matches? Your embedding provider may not be configured. Check
fluffbuzz memory status --deep.CJK text not found? Rebuild the FTS index with
fluffbuzz memory index --force.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FluffBuzz","description":"Self-hosted gateway that connects Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more to AI coding agents. Run one Gateway process on your own machine and message your AI assistant from anywhere.","colors":{"primary":"#FF5A36","light":"#FF8A6B","dark":"#FF5A36"},"logo":{"light":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8","dark":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8"},"favicon":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8","navbar":{"links":[{"icon":"github","href":"https://github.com/fluffbuzz/fluffbuzz","label":"GitHub"},{"icon":"package","href":"https://github.com/fluffbuzz/fluffbuzz/releases","label":"Releases"},{"icon":"discord","href":"https://discord.com/invite/buzz","label":"Discord"}]},"fonts":{"heading":{"family":"DM Sans"},"body":{"family":"Fragment Mono"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"min-light","dark":"min-dark"}},"latex":true},"navigation":{"languages":[{"language":"en","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fluffbuzz","hasAudioNarration":false,"actualSubdomain":"fluffbuzz","customDomains":["docs.fluffbuzz.com"],"gitSource":{"type":"github","owner":"fluffbuzz","repo":"fluffbuzz","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21d3e170c69447c7253106","collectionId":"ed17b4fc-264c-4fbe-86d2-09225735a998","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae94919bf5f6a4758f2bb8e:success","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"Reference","count":81},{"language":"en","tag":"Tools \u0026 Plugins","count":76},{"language":"en","tag":"Gateway \u0026 Ops","count":57},{"language":"en","tag":"Models","count":54},{"language":"en","tag":"CLI commands","count":52},{"language":"en","tag":"Providers","count":49},{"language":"en","tag":"Tools","count":38},{"language":"en","tag":"Gateway","count":36},{"language":"en","tag":"Channels","count":32},{"language":"en","tag":"Install","count":30}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#content>h1:first-of-type{display:none!important}.nav-tabs{position:relative}.nav-tabs-item>div{opacity:0}.nav-tabs-underline{position:absolute;left:0;bottom:0;height:1.5px;width:var(--nav-tab-underline-width, 0);transform:translateX(var(--nav-tab-underline-x, 0));background-color:rgb(var(--primary));border-radius:999px;pointer-events:none;opacity:0;transition:transform 260ms ease-in-out,width 260ms ease-in-out,opacity 160ms ease-in-out;will-change:transform,width}html.dark .nav-tabs-underline{background-color:rgb(var(--primary-light))}.nav-tabs-underline-ready .nav-tabs-underline{opacity:1}.showcase-actions a,.showcase-hero,.showcase-jump-links a{border:1px solid color-mix(in oklab,rgb(var(--primary)) 24%,transparent);border-radius:8px}.showcase-hero{display:grid;gap:18px;margin:8px 0 22px;padding:clamp(18px,3vw,30px);background:color-mix(in oklab,rgb(var(--primary)) 5%,transparent);box-shadow:0 18px 48px -34px rgba(0,0,0,.45)}.showcase-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.showcase-lead{margin:0;max-width:48rem;font-size:clamp(18px,2vw,23px);line-height:1.6}.showcase-actions,.showcase-jump-links{display:flex;flex-wrap:wrap;gap:10px}.showcase-actions a,.showcase-jump-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-bottom:1px solid color-mix(in oklab,rgb(var(--primary)) 24%,transparent);background:color-mix(in oklab,rgb(var(--primary)) 4%,transparent);text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.showcase-actions a:first-child{background:color-mix(in oklab,rgb(var(--primary)) 12%,transparent);border-color:color-mix(in oklab,rgb(var(--primary)) 36%,transparent)}.showcase-actions a:hover,.showcase-jump-links a:hover{transform:translateY(-1px);border-color:color-mix(in oklab,rgb(var(--primary)) 46%,transparent)}.showcase-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.showcase-highlight,.showcase-video-card{border:1px solid color-mix(in oklab,rgb(var(--primary)) 18%,transparent);border-radius:8px;background:color-mix(in oklab,rgb(var(--primary)) 3%,transparent)}.showcase-highlight{padding:14px}.showcase-highlight strong{display:block;margin-bottom:6px}.showcase-highlight span,.showcase-section-intro,.showcase-video-card p{opacity:.74}.showcase-jump-links{margin:18px 0 28px}.showcase-section-intro{margin:0 0 16px}.showcase-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 28px}.showcase-video-card{padding:14px;box-shadow:0 18px 44px -32px rgba(0,0,0,.48)}.showcase-video-card h3{margin:0 0 8px}.showcase-video-card p{margin:0 0 12px}.showcase-video-card a{border-bottom:0}.showcase-video-shell{position:relative;margin-bottom:14px;padding-bottom:56.25%;overflow:hidden;border-radius:8px;background:#0a0a0a}.showcase-video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width:960px){.showcase-highlights,.showcase-video-grid{grid-template-columns:1fr}}"}],"page":{"pagePath":"concepts/memory-search","slug":"/concepts/memory-search","pageMetadata":{"summary":"How memory search finds relevant notes using embeddings and hybrid retrieval","title":"Memory search","read_when":["You want to understand how memory_search works","You want to choose an embedding provider","You want to tune search quality"],"description":null,"href":"/concepts/memory-search"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Mermaid,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`memory_search`}),` finds relevant notes from your memory files, even when the\nwording differs from the original text. It works by indexing memory into small\nchunks and searching them using embeddings, keywords, or both.`]}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start`,children:`Quick start`}),`\n`,_jsx(_components.p,{children:`If you have a GitHub Copilot subscription, OpenAI, Gemini, Voyage, or Mistral\nAPI key configured, memory search works automatically. To set a provider\nexplicitly:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json5`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`json5`,children:_jsxs(_components.code,{language:`json5`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` agents`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` defaults`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` memorySearch`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` provider`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"openai\"`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`}),_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:` // or \"gemini\", \"local\", \"ollama\", etc.`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For local embeddings with no API key, use `,_jsx(_components.code,{children:`provider: \"local\"`}),` (requires\nnode-llama-cpp).`]}),`\n`,_jsx(Heading,{level:`2`,id:`supported-providers`,children:`Supported providers`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Provider`}),_jsx(_components.th,{children:`ID`}),_jsx(_components.th,{children:`Needs API key`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Bedrock`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`bedrock`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Auto-detected when the AWS credential chain resolves`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Gemini`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`gemini`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Supports image/audio indexing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`GitHub Copilot`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`github-copilot`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Auto-detected, uses Copilot subscription`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Local`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`local`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`GGUF model, ~0.6 GB download`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mistral`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`mistral`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Auto-detected`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ollama`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`ollama`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Local, must set explicitly`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`OpenAI`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`openai`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Auto-detected, fast`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Voyage`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`voyage`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Auto-detected`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-search-works`,children:`How search works`}),`\n`,_jsx(_components.p,{children:`FluffBuzz runs two retrieval paths in parallel and merges the results:`}),`\n`,_jsx(Mermaid,{chart:`flowchart LR\n Q[\"Query\"] --> E[\"Embedding\"]\n Q --> T[\"Tokenize\"]\n E --> VS[\"Vector Search\"]\n T --> BM[\"BM25 Search\"]\n VS --> M[\"Weighted Merge\"]\n BM --> M\n M --> R[\"Top Results\"]`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Vector search`}),` finds notes with similar meaning (“gateway host” matches\n“the machine running FluffBuzz”).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`BM25 keyword search`}),` finds exact matches (IDs, error strings, config\nkeys).`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`If only one path is available (no embeddings or no FTS), the other runs alone.`}),`\n`,_jsxs(_components.p,{children:[`When embeddings are unavailable, FluffBuzz still uses lexical ranking over FTS results instead of falling back to raw exact-match ordering only. That degraded mode boosts chunks with stronger query-term coverage and relevant file paths, which keeps recall useful even without `,_jsx(_components.code,{children:`sqlite-vec`}),` or an embedding provider.`]}),`\n`,_jsx(Heading,{level:`2`,id:`improving-search-quality`,children:`Improving search quality`}),`\n`,_jsx(_components.p,{children:`Two optional features help when you have a large note history:`}),`\n`,_jsx(Heading,{level:`3`,id:`temporal-decay`,children:`Temporal decay`}),`\n`,_jsxs(_components.p,{children:[`Old notes gradually lose ranking weight so recent information surfaces first.\nWith the default half-life of 30 days, a note from last month scores at 50% of\nits original weight. Evergreen files like `,_jsx(_components.code,{children:`MEMORY.md`}),` are never decayed.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Enable temporal decay if your agent has months of daily notes and stale\ninformation keeps outranking recent context.`})}),`\n`,_jsx(Heading,{level:`3`,id:`mmr-diversity`,children:`MMR (diversity)`}),`\n`,_jsx(_components.p,{children:`Reduces redundant results. If five notes all mention the same router config, MMR\nensures the top results cover different topics instead of repeating.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Enable MMR if `,_jsx(_components.code,{children:`memory_search`}),` keeps returning near-duplicate snippets from\ndifferent daily notes.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`enable-both`,children:`Enable both`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`json5`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`json5`,children:_jsxs(_components.code,{language:`json5`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` agents`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` defaults`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` memorySearch`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` query`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` hybrid`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` mmr`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` { `}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:`enabled`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#1976D2`,\"--shiki-dark\":`#79B8FF`},children:` true`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` temporalDecay`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` { `}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:`enabled`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`:`}),_jsx(_components.span,{style:{color:`#1976D2`,\"--shiki-dark\":`#79B8FF`},children:` true`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` }`}),_jsx(_components.span,{style:{color:`#212121`,\"--shiki-dark\":`#BBBBBB`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`multimodal-memory`,children:`Multimodal memory`}),`\n`,_jsxs(_components.p,{children:[`With Gemini Embedding 2, you can index images and audio files alongside\nMarkdown. Search queries remain text, but they match against visual and audio\ncontent. See the `,_jsx(_components.a,{href:`/reference/memory-config`,children:`Memory configuration reference`}),` for\nsetup.`]}),`\n`,_jsx(Heading,{level:`2`,id:`session-memory-search`,children:`Session memory search`}),`\n`,_jsxs(_components.p,{children:[`You can optionally index session transcripts so `,_jsx(_components.code,{children:`memory_search`}),` can recall\nearlier conversations. This is opt-in via\n`,_jsx(_components.code,{children:`memorySearch.experimental.sessionMemory`}),`. See the\n`,_jsx(_components.a,{href:`/reference/memory-config`,children:`configuration reference`}),` for details.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No results?`}),` Run `,_jsx(_components.code,{children:`fluffbuzz memory status`}),` to check the index. If empty, run\n`,_jsx(_components.code,{children:`fluffbuzz memory index --force`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Only keyword matches?`}),` Your embedding provider may not be configured. Check\n`,_jsx(_components.code,{children:`fluffbuzz memory status --deep`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CJK text not found?`}),` Rebuild the FTS index with\n`,_jsx(_components.code,{children:`fluffbuzz memory index --force`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`further-reading`,children:`Further reading`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/active-memory`,children:`Active Memory`}),` — sub-agent memory for interactive chat sessions`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/memory`,children:`Memory`}),` — file layout, backends, tools`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/reference/memory-config`,children:`Memory configuration reference`}),` — all config knobs`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/concepts/memory`,children:`Memory overview`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/concepts/active-memory`,children:`Active memory`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/concepts/memory-builtin`,children:`Builtin memory engine`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"min-light","dark":"min-dark"}},"config":{},"pageMetadata":{"summary":"How memory search finds relevant notes using embeddings and hybrid retrieval","title":"Memory search","read_when":["You want to understand how memory_search works","You want to choose an embedding provider","You want to tune search quality"],"description":null,"href":"/concepts/memory-search"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Quick start","slug":"quick-start","depth":2,"children":[]},{"title":"Supported providers","slug":"supported-providers","depth":2,"children":[]},{"title":"How search works","slug":"how-search-works","depth":2,"children":[]},{"title":"Improving search quality","slug":"improving-search-quality","depth":2,"children":[{"title":"Temporal decay","slug":"temporal-decay","depth":3,"children":[]},{"title":"MMR (diversity)","slug":"mmr-diversity","depth":3,"children":[]},{"title":"Enable both","slug":"enable-both","depth":3,"children":[]}]},{"title":"Multimodal memory","slug":"multimodal-memory","depth":2,"children":[]},{"title":"Session memory search","slug":"session-memory-search","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Further reading","slug":"further-reading","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/fluffbuzz/27fa1e35cfee10a0/nav-tabs-underline.js"],"subdomain":"fluffbuzz","siteName":"FluffBuzz","title":"Memory search - FluffBuzz","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/concepts/memory-search","matchLevel":0}}},"lastModified":"2026-04-25T04:30:16.894Z","originalFileLocation":"concepts/memory-search.md","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"FluffBuzz\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Memory search - FluffBuzz\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FluffBuzz\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fluffbuzz.com/concepts/memory-search\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fluffbuzz.mintlify.app/_mintlify/api/og/v2?division=Memory\u0026amp;title=Memory+search\u0026amp;theme=7c84968c96e6a1ff7bd83e0d\u0026amp;signature=621c46ea2b1917f584028ea3201faab74f5091341c3c56bb092778422cad11cb\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Memory search - FluffBuzz\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fluffbuzz.mintlify.app/_mintlify/api/og/v2?division=Memory\u0026amp;title=Memory+search\u0026amp;theme=7c84968c96e6a1ff7bd83e0d\u0026amp;signature=621c46ea2b1917f584028ea3201faab74f5091341c3c56bb092778422cad11cb\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FluffBuzz\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5A36\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fluffbuzz.com/concepts/memory-search\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/memory-search.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fluffbuzz.com/#organization\",\"name\":\"FluffBuzz\",\"url\":\"https://docs.fluffbuzz.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fluffbuzz.com#website\",\"name\":\"FluffBuzz\",\"url\":\"https://docs.fluffbuzz.com\",\"publisher\":{\"@id\":\"https://docs.fluffbuzz.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fluffbuzz.com/concepts/memory-search#webpage\",\"url\":\"https://docs.fluffbuzz.com/concepts/memory-search\",\"name\":\"Memory search\",\"dateModified\":\"2026-04-25T04:30:16.894Z\",\"isPartOf\":{\"@id\":\"https://docs.fluffbuzz.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fluffbuzz.com/concepts/memory-search#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fluffbuzz.com/concepts/memory-search#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sessions and memory\",\"item\":\"https://docs.fluffbuzz.com/concepts/session\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Memory\",\"item\":\"https://docs.fluffbuzz.com/concepts/memory\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Memory search\",\"item\":\"https://docs.fluffbuzz.com/concepts/memory-search\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fluffbuzz.com/concepts/memory-search#article\",\"headline\":\"Memory search\",\"name\":\"Memory search\",\"url\":\"https://docs.fluffbuzz.com/concepts/memory-search\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fluffbuzz.com/concepts/memory-search#webpage\"},\"dateModified\":\"2026-04-25T04:30:16.894Z\",\"publisher\":{\"@id\":\"https://docs.fluffbuzz.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fluffbuzz.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FluffBuzz\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FluffBuzz","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Install","pages":[{"title":"Install","href":"/install"}]},{"tab":"Channels","pages":[{"title":"Channels","href":"/channels"}]},{"tab":"Agents","groups":[{"group":"Fundamentals","pages":[{"title":"Gateway architecture","href":"/concepts/architecture"},{"title":"Agent runtime","href":"/concepts/agent"},{"title":"Agent loop","href":"/concepts/agent-loop"},{"title":"System prompt","href":"/concepts/system-prompt"},{"title":"Context","href":"/concepts/context"},{"title":"Context engine","href":"/concepts/context-engine"},{"title":"Agent workspace","href":"/concepts/agent-workspace"},{"title":"SOUL.md personality guide","href":"/concepts/soul"},{"title":"OAuth","href":"/concepts/oauth"},{"title":"Agent bootstrapping","sidebarTitle":"Bootstrapping","href":"/start/bootstrapping"},{"title":"Experimental features","href":"/concepts/experimental-features"}]},{"group":"Sessions and memory","pages":[{"title":"Session management","href":"/concepts/session"},{"title":"Session pruning","href":"/concepts/session-pruning"},{"title":"Session tools","href":"/concepts/session-tool"},{"group":"Memory","pages":[{"title":"Memory overview","href":"/concepts/memory"},{"title":"Builtin memory engine","href":"/concepts/memory-builtin"},{"title":"QMD memory engine","href":"/concepts/memory-qmd"},{"title":"Honcho memory","description":null,"href":"/concepts/memory-honcho"},{"title":"Memory search","href":"/concepts/memory-search"},{"title":"Active memory","description":null,"href":"/concepts/active-memory"},{"title":"Dreaming","href":"/concepts/dreaming"}]},{"title":"Compaction","href":"/concepts/compaction"}]},{"group":"Multi-agent","pages":[{"title":"Multi-agent routing","href":"/concepts/multi-agent"},{"title":"Presence","href":"/concepts/presence"},{"title":"Delegate architecture","href":"/concepts/delegate-architecture"}]},{"group":"Messages and delivery","pages":[{"title":"Messages","href":"/concepts/messages"},{"title":"Streaming and chunking","href":"/concepts/streaming"},{"title":"Retry policy","href":"/concepts/retry"},{"title":"Command queue","href":"/concepts/queue"}]}]},{"tab":"Tools \u0026 Plugins","pages":[{"title":"Tools \u0026 Plugins","href":"/tools"}]},{"tab":"Models","pages":[{"title":"Models","href":"/providers"}]},{"tab":"Platforms","pages":[{"title":"Platforms","href":"/platforms"}]},{"tab":"Gateway \u0026 Ops","pages":[{"title":"Gateway \u0026 Ops","href":"/gateway"}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/cli"}]},{"tab":"Help","pages":[{"title":"Help","href":"/help"}]}]}]},"basePath":"","title":"Memory search - FluffBuzz","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}