Перейти до основного вмісту
Ця сторінка перелічує всі параметри конфігурації для пошуку в пам’яті OpenClaw. Концептуальні огляди дивіться тут:

Огляд пам’яті

Як працює пам’ять.

Вбудований рушій

Типовий бекенд SQLite.

Рушій QMD

Локальний насамперед sidecar.

Пошук у пам’яті

Конвеєр пошуку та налаштування.

Active memory

Під-агент пам’яті для інтерактивних сеансів.
Усі налаштування пошуку в пам’яті розташовані в agents.defaults.memorySearch у openclaw.json, якщо не зазначено інше.
Якщо ви шукаєте перемикач функції active memory і конфігурацію під-агента, вони розташовані в plugins.entries.active-memory, а не в memorySearch.Active memory використовує модель із двома шлюзами:
  1. plugin має бути увімкнений і націлений на поточний ідентифікатор агента
  2. запит має бути придатним інтерактивним постійним сеансом чату
Дивіться Active Memory, щоб дізнатися про модель активації, конфігурацію, що належить plugin, збереження стенограми та шаблон безпечного розгортання.

Вибір провайдера

КлючТипТипове значенняОпис
providerstring"openai"Ідентифікатор адаптера embeddings, як-от bedrock, deepinfra, gemini, github-copilot, local, mistral, ollama, openai, openai-compatible або voyage; також може бути налаштованим models.providers.<id>, чий api вказує на адаптер memory embeddings або OpenAI-сумісний API моделі
modelstringтипове для провайдераНазва моделі embeddings
fallbackstring"none"Ідентифікатор резервного адаптера, коли основний не спрацьовує
enabledbooleantrueУвімкнути або вимкнути пошук у пам’яті
Коли provider не задано, OpenClaw використовує embeddings OpenAI. Задайте provider явно, щоб використовувати Gemini, Voyage, Mistral, DeepInfra, Bedrock, GitHub Copilot, Ollama, локальну модель GGUF або OpenAI-сумісну кінцеву точку /v1/embeddings. Застарілі конфігурації, у яких досі вказано provider: "auto", розв’язуються як openai.
Зміна провайдера embeddings, моделі, налаштувань провайдера, джерел, області дії, розбиття на фрагменти або токенізатора може зробити наявний векторний індекс SQLite несумісним. OpenClaw призупиняє векторний пошук і повідомляє попередження про ідентичність індексу замість того, щоб автоматично переіндексувати все з embeddings. Перебудуйте, коли будете готові, за допомогою openclaw memory status --index --agent <id> або openclaw memory index --force --agent <id>.
Коли provider не задано, присутній застарілий provider: "auto" або provider: "none" навмисно вибирає режим лише FTS, пригадування з пам’яті все одно може використовувати лексичне ранжування FTS, коли embeddings недоступні. Явні нелокальні провайдери завершуються закрито. Якщо ви задаєте memorySearch.provider як конкретного провайдера з віддаленою підтримкою, наприклад OpenAI, Gemini, Voyage, Mistral, Bedrock, GitHub Copilot, DeepInfra, Ollama, LM Studio або OpenAI-сумісного власного провайдера, і цей провайдер недоступний під час виконання, memory_search повертає результат недоступності замість тихого використання пригадування лише FTS. Виправте конфігурацію провайдера/автентифікації, перейдіть на доступного провайдера або задайте provider: "none", якщо хочете навмисне пригадування лише FTS.

Власні ідентифікатори провайдерів

memorySearch.provider може вказувати на власний запис models.providers.<id> для memory-specific provider adapters, як-от ollama, або для OpenAI-сумісних API моделей, як-от openai-responses / openai-completions. OpenClaw розв’язує власника api цього провайдера для адаптера embeddings, зберігаючи власний ідентифікатор провайдера для обробки кінцевої точки, автентифікації та префіксів моделей. Це дає змогу конфігураціям із кількома GPU або кількома хостами виділяти memory embeddings для конкретної локальної кінцевої точки:
{
  models: {
    providers: {
      "ollama-5080": {
        api: "ollama",
        baseUrl: "http://gpu-box.local:11435",
        apiKey: "ollama-local",
        models: [{ id: "qwen3-embedding:0.6b" }],
      },
    },
  },
  agents: {
    defaults: {
      memorySearch: {
        provider: "ollama-5080",
        model: "qwen3-embedding:0.6b",
      },
    },
  },
}

Розв’язання ключа API

Віддалені embeddings потребують ключа API. Bedrock натомість використовує типовий ланцюжок облікових даних AWS SDK (ролі екземплярів, SSO, ключі доступу).
ПровайдерЗмінна середовищаКлюч конфігурації
BedrockЛанцюжок облікових даних AWSКлюч API не потрібен
DeepInfraDEEPINFRA_API_KEYmodels.providers.deepinfra.apiKey
GeminiGEMINI_API_KEYmodels.providers.google.apiKey
GitHub CopilotCOPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKENПрофіль автентифікації через вхід із пристрою
MistralMISTRAL_API_KEYmodels.providers.mistral.apiKey
OllamaOLLAMA_API_KEY (заповнювач)
OpenAIOPENAI_API_KEYmodels.providers.openai.apiKey
VoyageVOYAGE_API_KEYmodels.providers.voyage.apiKey
Codex OAuth охоплює лише чат/completions і не задовольняє запити embeddings.

Конфігурація віддаленої кінцевої точки

Використовуйте provider: "openai-compatible" для загального OpenAI-сумісного сервера /v1/embeddings, який не має успадковувати глобальні облікові дані чату OpenAI.
remote.baseUrl
string
Власний базовий URL API.
remote.apiKey
string
Перевизначити ключ API.
remote.headers
object
Додаткові HTTP-заголовки (об’єднуються з типовими значеннями провайдера).
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai-compatible",
        model: "text-embedding-3-small",
        remote: {
          baseUrl: "https://api.example.com/v1/",
          apiKey: "YOUR_KEY",
        },
      },
    },
  },
}

Конфігурація для окремих провайдерів

КлючТипТипове значенняОпис
modelstringgemini-embedding-001Також підтримує gemini-embedding-2-preview
outputDimensionalitynumber3072Для Embedding 2: 768, 1536 або 3072
Зміна моделі або outputDimensionality змінює ідентичність індексу. OpenClaw призупиняє векторний пошук, доки ви явно не перебудуєте індекс пам’яті.
OpenAI-сумісні кінцеві точки embeddings можуть увімкнути специфічні для провайдера поля запиту input_type. Це корисно для асиметричних моделей embeddings, які потребують різних міток для embeddings запиту й документа.
КлючТипТипове значенняОпис
inputTypestringне заданоСпільний input_type для embeddings запиту й документа
queryInputTypestringне заданоinput_type під час запиту; перевизначає inputType
documentInputTypestringне заданоinput_type індексу/документа; перевизначає inputType
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai-compatible",
        remote: {
          baseUrl: "https://embeddings.example/v1",
          apiKey: "${EMBEDDINGS_API_KEY}",
        },
        model: "asymmetric-embedder",
        queryInputType: "query",
        documentInputType: "passage",
      },
    },
  },
}
Зміна цих значень впливає на ідентичність кешу embeddings для пакетного індексування провайдера, і після неї слід переіндексувати пам’ять, коли upstream-модель по-різному обробляє мітки.

Конфігурація embeddings Bedrock

Bedrock використовує типовий ланцюжок облікових даних AWS SDK — ключі API не потрібні. Якщо OpenClaw працює на EC2 з роллю екземпляра, для якої ввімкнено Bedrock, просто задайте провайдера й модель:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "bedrock",
        model: "amazon.titan-embed-text-v2:0",
      },
    },
  },
}
КлючТипТипове значенняОпис
modelstringamazon.titan-embed-text-v2:0Будь-який ідентифікатор моделі embeddings Bedrock
outputDimensionalitynumberтипове для моделіДля Titan V2: 256, 512 або 1024
Підтримувані моделі (з визначенням сімейства та типовими розмірностями):
ID моделіПостачальникТипова розмірністьНалаштовувана розмірність
amazon.titan-embed-text-v2:0Amazon1024256, 512, 1024
amazon.titan-embed-text-v1Amazon1536
amazon.titan-embed-g1-text-02Amazon1536
amazon.titan-embed-image-v1Amazon1024
amazon.nova-2-multimodal-embeddings-v1:0Amazon1024256, 384, 1024, 3072
cohere.embed-english-v3Cohere1024
cohere.embed-multilingual-v3Cohere1024
cohere.embed-v4:0Cohere1536256-1536
twelvelabs.marengo-embed-3-0-v1:0TwelveLabs512
twelvelabs.marengo-embed-2-7-v1:0TwelveLabs1024
Варіанти із суфіксом пропускної здатності (наприклад, amazon.titan-embed-text-v1:2:8k) успадковують конфігурацію базової моделі.Автентифікація: автентифікація Bedrock використовує стандартний порядок визначення облікових даних AWS SDK:
  1. Змінні середовища (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY)
  2. Кеш токенів SSO
  3. Облікові дані токена веб-ідентичності
  4. Спільні файли облікових даних і конфігурації
  5. Облікові дані метаданих ECS або EC2
Регіон визначається з AWS_REGION, AWS_DEFAULT_REGION, baseUrl постачальника amazon-bedrock або за замовчуванням має значення us-east-1.Дозволи IAM: ролі або користувачу IAM потрібні:
{
  "Effect": "Allow",
  "Action": "bedrock:InvokeModel",
  "Resource": "*"
}
Для мінімальних привілеїв обмежте область InvokeModel конкретною моделлю:
arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0
КлючТипТипове значенняОпис
local.modelPathstringавтоматично завантажуєтьсяШлях до файлу моделі GGUF
local.modelCacheDirstringтипове значення node-llama-cppКаталог кешу для завантажених моделей
local.contextSizenumber | "auto"4096Розмір контекстного вікна для контексту embedding. 4096 покриває типові фрагменти (128–512 токенів), обмежуючи VRAM, не зайняту вагами. Зменште до 1024–2048 на хостах з обмеженими ресурсами. "auto" використовує навчений максимум моделі — не рекомендовано для моделей 8B+ (Qwen3-Embedding-8B: 40 960 токенів → ~32 ГБ VRAM проти ~8,8 ГБ при 4096).
Спершу встановіть офіційного постачальника llama.cpp: openclaw plugins install @openclaw/llama-cpp-provider. Типова модель: embeddinggemma-300m-qat-Q8_0.gguf (~0,6 ГБ, автоматично завантажується). Вихідні checkout-и все ще потребують схвалення нативного складання: pnpm approve-builds, потім pnpm rebuild node-llama-cpp.Використовуйте автономний CLI, щоб перевірити той самий шлях постачальника, який використовує Gateway:
openclaw memory status --deep --agent main
openclaw memory index --force --agent main
Явно задайте provider: "local" для локальних GGUF embeddings. Посилання на моделі hf: і HTTP(S) підтримуються для явних локальних конфігурацій, але вони не змінюють типового постачальника.

Тайм-аут inline embedding

sync.embeddingBatchTimeoutSeconds
number
Перевизначає тайм-аут для inline-пакетів embedding під час індексування пам’яті.Якщо не задано, використовується типове значення постачальника: 600 секунд для локальних/самостійно розміщених постачальників, як-от local, ollama і lmstudio, та 120 секунд для розміщених постачальників. Збільште це значення, коли локальні CPU-bound пакети embedding працюють справно, але повільно.

Конфігурація гібридного пошуку

Усе в memorySearch.query.hybrid:
КлючТипТипове значенняОпис
enabledbooleantrueУвімкнути гібридний пошук BM25 + векторний
vectorWeightnumber0.7Вага для векторних оцінок (0-1)
textWeightnumber0.3Вага для оцінок BM25 (0-1)
candidateMultipliernumber4Множник розміру пулу кандидатів
КлючТипТипове значенняОпис
mmr.enabledbooleanfalseУвімкнути повторне ранжування MMR
mmr.lambdanumber0.70 = максимальна різноманітність, 1 = максимальна релевантність

Повний приклад

{
  agents: {
    defaults: {
      memorySearch: {
        query: {
          hybrid: {
            vectorWeight: 0.7,
            textWeight: 0.3,
            mmr: { enabled: true, lambda: 0.7 },
            temporalDecay: { enabled: true, halfLifeDays: 30 },
          },
        },
      },
    },
  },
}

Додаткові шляхи пам’яті

КлючТипОпис
extraPathsstring[]Додаткові каталоги або файли для індексування
{
  agents: {
    defaults: {
      memorySearch: {
        extraPaths: ["../team-docs", "/srv/shared-notes"],
      },
    },
  },
}
Шляхи можуть бути абсолютними або відносними до робочого простору. Каталоги рекурсивно скануються на файли .md. Обробка симлінків залежить від активного бекенда: вбудований рушій ігнорує симлінки, а QMD дотримується поведінки базового сканера QMD. Для пошуку транскриптів між агентами в межах агента використовуйте agents.list[].memorySearch.qmd.extraCollections замість memory.qmd.paths. Ці додаткові колекції мають ту саму форму { path, name, pattern? }, але об’єднуються для кожного агента й можуть зберігати явні спільні назви, коли шлях вказує за межі поточного робочого простору. Якщо той самий розв’язаний шлях з’являється і в memory.qmd.paths, і в memorySearch.qmd.extraCollections, QMD зберігає перший запис і пропускає дублікат.

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

Індексуйте зображення та аудіо разом із Markdown за допомогою Gemini Embedding 2:
КлючТипТиповоОпис
multimodal.enabledbooleanfalseУвімкнути мультимодальне індексування
multimodal.modalitiesstring[]["image"], ["audio"] або ["all"]
multimodal.maxFileBytesnumber10000000Максимальний розмір файлу для індексу
Застосовується лише до файлів у extraPaths. Типові корені пам’яті залишаються лише для Markdown. Потрібен gemini-embedding-2-preview. fallback має бути "none".
Підтримувані формати: .jpg, .jpeg, .png, .webp, .gif, .heic, .heif (зображення); .mp3, .wav, .ogg, .opus, .m4a, .aac, .flac (аудіо).

Кеш embedding

КлючТипТиповоОпис
cache.enabledbooleantrueКешувати embedding чанків у SQLite
cache.maxEntriesnumber50000Максимум кешованих embedding
Запобігає повторному embedding незміненого тексту під час повторного індексування або оновлень транскриптів.

Пакетне індексування

КлючТипТиповоОпис
remote.nonBatchConcurrencynumber4Паралельні inline embedding
remote.batch.enabledbooleanfalseУвімкнути API пакетного embedding
remote.batch.concurrencynumber2Паралельні пакетні завдання
remote.batch.waitbooleantrueЧекати завершення пакета
remote.batch.pollIntervalMsnumberІнтервал опитування
remote.batch.timeoutMinutesnumberТайм-аут пакета
Доступно для openai, gemini і voyage. Пакетний режим OpenAI зазвичай найшвидший і найдешевший для великих зворотних заповнень. remote.nonBatchConcurrency керує inline-викликами embedding, які використовують локальні/самостійно розміщені провайдери та хостингові провайдери, коли пакетні API провайдера не активні. Для непакетного індексування Ollama типово використовує 1, щоб не перевантажувати менші локальні хости; встановіть більше значення на більших машинах. Це окремо від sync.embeddingBatchTimeoutSeconds, який керує тайм-аутом для inline-викликів embedding.

Пошук у пам’яті сесій (експериментально)

Індексуйте транскрипти сесій і показуйте їх через memory_search:
КлючТипТиповоОпис
experimental.sessionMemorybooleanfalseУвімкнути індексування сесій
sourcesstring[]["memory"]Додайте "sessions", щоб включити транскрипти
sync.sessions.deltaBytesnumber100000Порогове значення байтів для повторного індексу
sync.sessions.deltaMessagesnumber50Порогове значення повідомлень для повторного індексу
Індексування сесій є опціональним і виконується асинхронно. Результати можуть бути трохи застарілими. Журнали сесій зберігаються на диску, тому вважайте доступ до файлової системи межею довіри.
Збіги в транскриптах сеансів також підпорядковуються tools.sessions.visibility. Типова видимість tree відкриває лише поточний сеанс і сеанси, які він породив. Щоб пригадати непов’язаний сеанс того самого агента, надісланий через Gateway, з іншого сеансу, наприклад приватного повідомлення, навмисно розширте видимість до agent (або до all лише коли також потрібне пригадування між агентами й політика взаємодії агентів це дозволяє). Наведені нижче приклади розміщують ці налаштування в agents.defaults. Ви також можете застосувати еквівалентні налаштування memorySearch у перевизначенні для окремого агента, коли лише один агент має індексувати й шукати транскрипти сеансів. Для пригадування з Gateway до приватного повідомлення для того самого агента:
{
  agents: {
    defaults: {
      memorySearch: {
        experimental: { sessionMemory: true },
        sources: ["memory", "sessions"],
      },
    },
  },
  tools: {
    sessions: { visibility: "agent" },
  },
}
Під час використання QMD agents.defaults.memorySearch.experimental.sessionMemory і sources: ["sessions"] самі по собі не експортують транскрипти в QMD. Також установіть memory.qmd.sessions.enabled: true.

Прискорення векторів SQLite (sqlite-vec)

КлючТипТипове значенняОпис
store.vector.enabledbooleantrueВикористовувати sqlite-vec для векторних запитів
store.vector.extensionPathstringу комплектіПеревизначити шлях sqlite-vec
Коли sqlite-vec недоступний, OpenClaw автоматично повертається до обчислення косинусної подібності всередині процесу.

Сховище індексів

Вбудовані індекси пам’яті зберігаються в SQLite-базі даних OpenClaw кожного агента за шляхом agents/<agentId>/agent/openclaw-agent.sqlite.
КлючТипТипове значенняОпис
store.fts.tokenizerstringunicode61Токенізатор FTS5 (unicode61 або trigram)

Конфігурація бекенда QMD

Установіть memory.backend = "qmd", щоб увімкнути. Усі налаштування QMD розміщуються в memory.qmd:
КлючТипТипове значенняОпис
commandstringqmdШлях до виконуваного файла QMD; задайте абсолютний шлях, коли PATH сервісу відрізняється від вашої оболонки
searchModestringsearchКоманда пошуку: search, vsearch, query
rerankbooleanУстановіть false з searchMode: "query" і QMD 2.1+, щоб пропустити повторне ранжування QMD
includeDefaultMemorybooleantrueАвтоматично індексувати MEMORY.md + memory/**/*.md
paths[]arrayДодаткові шляхи: { name, path, pattern? }
sessions.enabledbooleanfalseЕкспортувати транскрипти сеансів у QMD
sessions.retentionDaysnumberТермін зберігання транскриптів
sessions.exportDirstringКаталог експорту
searchMode: "search" є лише лексичним/BM25. OpenClaw не запускає перевірки готовності семантичних векторів або обслуговування вбудовувань QMD для цього режиму, зокрема під час memory status --deep; vsearch і query надалі потребують готовності векторів і вбудовувань QMD. rerank: false змінює лише режим QMD query і потребує QMD 2.1 або новішої версії. У прямому режимі CLI OpenClaw передає --no-rerank; у режимі MCP на базі mcporter він передає rerank: false до уніфікованого інструмента запитів QMD. Залиште це незаданим, щоб використовувати типову поведінку повторного ранжування запитів QMD. OpenClaw віддає перевагу поточним формам колекцій QMD і запитів MCP, але зберігає роботу зі старішими випусками QMD, за потреби пробуючи сумісні прапорці шаблонів колекцій і старіші назви інструментів MCP. Коли QMD оголошує підтримку кількох фільтрів колекцій, колекції з того самого джерела шукаються одним процесом QMD; старіші збірки QMD зберігають сумісний шлях для кожної колекції. Те саме джерело означає, що сталі колекції пам’яті групуються разом, тоді як колекції транскриптів сеансів залишаються окремою групою, щоб диверсифікація джерел усе ще мала обидва входи.
Перевизначення моделей QMD залишаються на боці QMD, а не в конфігурації OpenClaw. Якщо потрібно глобально перевизначити моделі QMD, задайте змінні середовища, як-от QMD_EMBED_MODEL, QMD_RERANK_MODEL і QMD_GENERATE_MODEL, у середовищі виконання Gateway.
КлючТипТипове значенняОпис
update.intervalstring5mІнтервал оновлення
update.debounceMsnumber15000Debounce змін файлів
update.onBootbooleantrueОновлювати, коли відкривається довготривалий менеджер QMD; задайте false, щоб пропустити негайне оновлення під час завантаження
update.startupstringoffНеобов’язкова ініціалізація QMD під час запуску Gateway: off, idle або immediate
update.startupDelayMsnumber120000Затримка перед запуском оновлення startup: "idle"
update.waitForBootSyncbooleanfalseБлокувати відкриття менеджера, доки не завершиться його початкове оновлення
update.embedIntervalstringОкрема частота embed
update.commandTimeoutMsnumberТаймаут для команд QMD
update.updateTimeoutMsnumberТаймаут для операцій оновлення QMD
update.embedTimeoutMsnumberТаймаут для операцій embed QMD
КлючТипТипове значенняОпис
limits.maxResultsnumber6Максимум результатів пошуку
limits.maxSnippetCharsnumberОбмежити довжину фрагмента
limits.maxInjectedCharsnumberОбмежити загальну кількість вставлених символів
limits.timeoutMsnumber4000Таймаут пошуку
Керує тим, які сеанси можуть отримувати результати пошуку QMD. Та сама схема, що й session.sendPolicy:
{
  memory: {
    qmd: {
      scope: {
        default: "deny",
        rules: [{ action: "allow", match: { chatType: "direct" } }],
      },
    },
  },
}
Типове значення, що постачається, дозволяє прямі та канальні сеанси, водночас усе ще забороняючи групи.Типове значення — лише DM. match.keyPrefix зіставляється з нормалізованим ключем сеансу; match.rawKeyPrefix зіставляється з сирим ключем, включно з agent:<id>:.
memory.citations застосовується до всіх бекендів:
ЗначенняПоведінка
auto (типово)Додавати футер Source: <path#line> у фрагменти
onЗавжди додавати футер
offНе додавати футер (шлях усе одно передається агенту внутрішньо)
Коли ініціалізацію QMD під час запуску Gateway увімкнено, OpenClaw запускає QMD лише для придатних агентів. Якщо update.onBoot має значення true і не налаштовано обслуговування за інтервалом/embed, запуск використовує одноразовий менеджер для оновлення під час завантаження та закриває його. Якщо налаштовано інтервал оновлення або embed, запуск відкриває довготривалий менеджер QMD, щоб він міг володіти watcher і таймерами інтервалів; update.onBoot: false пропускає лише негайне оновлення під час завантаження.

Повний приклад QMD

{
  memory: {
    backend: "qmd",
    citations: "auto",
    qmd: {
      includeDefaultMemory: true,
      update: { interval: "5m", debounceMs: 15000 },
      limits: { maxResults: 6, timeoutMs: 4000 },
      scope: {
        default: "deny",
        rules: [{ action: "allow", match: { chatType: "direct" } }],
      },
      paths: [{ name: "docs", path: "~/notes", pattern: "**/*.md" }],
    },
  },
}

Dreaming

Dreaming налаштовується в plugins.entries.memory-core.config.dreaming, а не в agents.defaults.memorySearch. Dreaming виконується як один запланований прохід і використовує внутрішні фази light/deep/REM як деталь реалізації. Концептуальну поведінку та slash-команди див. у Dreaming.

Налаштування користувача

КлючТипТипове значенняОпис
enabledbooleanfalseПовністю ввімкнути або вимкнути Dreaming
frequencystring0 3 * * *Необов’язкова cadence Cron для повного проходу Dreaming
modelstringтипова модельНеобов’язкове перевизначення моделі субагента Dream Diary
phases.deep.maxPromotedSnippetTokensnumber160Максимальна оцінена кількість токенів, що зберігаються з кожного короткотермінового фрагмента recall, просунутого в MEMORY.md; метадані походження залишаються видимими

Приклад

{
  plugins: {
    entries: {
      "memory-core": {
        subagent: {
          allowModelOverride: true,
          allowedModels: ["anthropic/claude-sonnet-4-6"],
        },
        config: {
          dreaming: {
            enabled: true,
            frequency: "0 3 * * *",
            model: "anthropic/claude-sonnet-4-6",
          },
        },
      },
    },
  },
}
  • Dreaming записує машинний стан у memory/.dreams/.
  • Dreaming записує зручний для читання наративний вивід у DREAMS.md (або наявний dreams.md).
  • dreaming.model використовує наявний gate довіри субагента Plugin; задайте plugins.entries.memory-core.subagent.allowModelOverride: true перед увімкненням.
  • Dream Diary повторює спробу один раз із типовою моделлю сеансу, коли налаштована модель недоступна. Помилки довіри або allowlist записуються в журнал і не повторюються мовчки.
  • Політика фаз light/deep/REM і порогові значення є внутрішньою поведінкою, а не користувацькою конфігурацією.

Пов’язане