Перейти до основного вмісту

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

memory_search знаходить релевантні нотатки у ваших файлах пам’яті, навіть коли формулювання відрізняється від оригінального тексту. Він працює, індексуючи пам’ять у невеликі фрагменти й шукаючи в них за допомогою embeddings, ключових слів або обох підходів.

Швидкий старт

Якщо у вас налаштовано підписку GitHub Copilot, API-ключ OpenAI, Gemini, Voyage або Mistral, пошук у пам’яті працює автоматично. Щоб явно задати постачальника:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai", // or "gemini", "local", "ollama", etc.
      },
    },
  },
}
Для налаштувань із кількома кінцевими точками provider також може бути користувацьким записом models.providers.<id>, наприклад ollama-5080, коли цей постачальник задає api: "ollama" або іншого власника адаптера embeddings. Для локальних embeddings без API-ключа задайте provider: "local". Вихідні checkout-и все одно можуть потребувати схвалення нативного збирання: pnpm approve-builds, а потім pnpm rebuild node-llama-cpp. Деякі OpenAI-сумісні кінцеві точки embeddings потребують асиметричних міток, як-от input_type: "query" для пошуку та input_type: "document" або "passage" для проіндексованих фрагментів. Налаштуйте їх за допомогою memorySearch.queryInputType і memorySearch.documentInputType; див. довідник конфігурації пам’яті.

Підтримувані постачальники

ПостачальникIDПотрібен API-ключПримітки
BedrockbedrockНіВиявляється автоматично, коли ланцюг облікових даних AWS спрацьовує
GeminigeminiТакПідтримує індексацію зображень і аудіо
GitHub Copilotgithub-copilotНіВиявляється автоматично, використовує підписку Copilot
LocallocalНіМодель GGUF, завантаження близько 0,6 ГБ
MistralmistralТакВиявляється автоматично
OllamaollamaНіЛокальний, потрібно задати явно
OpenAIopenaiТакВиявляється автоматично, швидкий
VoyagevoyageТакВиявляється автоматично

Як працює пошук

OpenClaw запускає два шляхи отримання даних паралельно й об’єднує результати:
  • Векторний пошук знаходить нотатки зі схожим значенням (“gateway host” відповідає “машині, на якій працює OpenClaw”).
  • Пошук за ключовими словами BM25 знаходить точні збіги (ID, рядки помилок, ключі конфігурації).
Якщо доступний лише один шлях (немає embeddings або немає FTS), інший працює самостійно. Коли embeddings недоступні, OpenClaw усе одно використовує лексичне ранжування результатів FTS замість повернення лише до сирого впорядкування за точними збігами. Цей обмежений режим підсилює фрагменти з кращим покриттям термінів запиту та релевантними шляхами файлів, що зберігає корисну повноту навіть без sqlite-vec або постачальника embeddings.

Покращення якості пошуку

Дві необов’язкові функції допомагають, коли у вас велика історія нотаток:

Часове згасання

Старі нотатки поступово втрачають вагу ранжування, щоб новіша інформація з’являлася першою. За стандартного періоду напіврозпаду 30 днів нотатка з минулого місяця отримує 50% від своєї початкової ваги. Вічнозелені файли, як-от MEMORY.md, ніколи не згасають.
Увімкніть часове згасання, якщо ваш агент має місяці щоденних нотаток, а застаріла інформація постійно випереджає новий контекст.

MMR (різноманітність)

Зменшує дублювання результатів. Якщо п’ять нотаток згадують ту саму конфігурацію маршрутизатора, MMR гарантує, що верхні результати охоплюють різні теми, а не повторюються.
Увімкніть MMR, якщо memory_search постійно повертає майже дублікати фрагментів із різних щоденних нотаток.

Увімкнути обидві функції

{
  agents: {
    defaults: {
      memorySearch: {
        query: {
          hybrid: {
            mmr: { enabled: true },
            temporalDecay: { enabled: true },
          },
        },
      },
    },
  },
}

Мультимодальна пам’ять

З Gemini Embedding 2 ви можете індексувати зображення й аудіофайли разом із Markdown. Пошукові запити залишаються текстовими, але вони зіставляються з візуальним і аудіо вмістом. Див. довідник конфігурації пам’яті для налаштування.

Пошук у пам’яті сеансів

Ви можете за бажанням індексувати транскрипти сеансів, щоб memory_search міг пригадувати попередні розмови. Це вмикається окремо через memorySearch.experimental.sessionMemory. Див. довідник конфігурації для подробиць.

Усунення несправностей

Немає результатів? Запустіть openclaw memory status, щоб перевірити індекс. Якщо він порожній, запустіть openclaw memory index --force. Лише збіги за ключовими словами? Ваш постачальник embeddings може бути не налаштований. Перевірте openclaw memory status --deep. Локальні embeddings перевищують час очікування? ollama, lmstudio і local за замовчуванням використовують довший час очікування вбудованого пакетного оброблення. Якщо хост просто повільний, задайте agents.defaults.memorySearch.sync.embeddingBatchTimeoutSeconds і повторно запустіть openclaw memory index --force. Текст CJK не знайдено? Перебудуйте індекс FTS за допомогою openclaw memory index --force.

Додаткове читання

Пов’язане