Сессии и память
OpenClaw управляет сессиями и памятью агента. Это позволяет сохранять контекст разговора и вести несколько параллельных бесед.
Сессии
Сессия — это контекст разговора. Каждый чат имеет свою сессию с историей сообщений.
Режимы сессий:
{
session: {
dmScope: "per-channel-peer",
},
}
Сброс сессий:
{
session: {
reset: {
mode: "daily",
atHour: 4,
idleMinutes: 120,
},
},
}
Память
Память агента хранится в рабочем пространстве:
Агент может сам обновлять эти файлы. MEMORY.md — это его «блокнот».
Компактация
Длинные сессии消耗 много токенов. Компактация автоматически сжимает старые сообщения:
{
session: {
compaction: {
enabled: true,
threshold: 80000,
},
},
}
Dreaming (консолидация памяти)
Dreaming — система фоновой консолидации памяти. Помогает OpenClaw перемещать сильные краткосрочные сигналы в долговечную память. Opt-in, отключён по умолчанию.
Модель фаз
| Фаза | Назначение | Пишет в MEMORY.md? |
| Light | Сортировка недавнего материала | Нет |
| Deep | Оценка и продвижение долговечных кандидатов | Да |
| REM | Рефлексия по темам и идеям | Нет |
Каждый свип запускает фазы по порядку: light → REM → deep.
Быстрый старт
{
plugins: {
entries: {
"memory-core": {
config: {
dreaming: { enabled: true },
},
},
},
},
}
Управление
# Slash-команды
/dreaming status
/dreaming on
/dreaming off
# CLI
openclaw memory promote --apply # применить продвижение
openclaw memory status --deep # глубокий статус
Расписание
По умолчанию: 0 3 * (каждый день в 3:00). Настройка: dreaming.frequency в конфиге memory-core.
Веса ранжирования
| Сигнал | Вес | Описание |
| Frequency | 0.24 | Сколько сигналов накопила запись |
| Relevance | 0.30 | Среднее качество извлечения |
| Query diversity | 0.15 | Уникальные контексты запросов |
| Recency | 0.15 | Скоринг свежести |
| Consolidation | 0.10 | Многодневная повторяемость |
| Conceptual richness | 0.06 | Плотность концептуальных тегов |
Presence (присутствие)
OpenClaw «presence» — лёгкий обзор Gateway и подключённых клиентов (macOS-приложение, WebChat, CLI). Используется для вкладки Instances в macOS-приложении.
Поля presence
| Поле | Описание |
| `instanceId` | Стабильная идентификация клиента |
| `host` | Имя хоста |
| `ip` | IP-адрес (best-effort) |
| `version` | Версия клиента |
| `mode` | `ui`, `webchat`, `cli`, `backend`, `node`, … |
| `lastInputSeconds` | Секунды с последнего ввода |
| `ts` | Метка времени обновления |
Источники
1. Gateway self — собственная запись при запуске
2. WebSocket connect — при подключении клиента
3. System-event beacons — периодические обновления от клиентов
4. Node connect — при подключении нод
TTL и ограничения
Уровни мышления (Thinking Levels)
Управляет «глубиной рассуждений» модели перед ответом. Доступно для моделей с поддержкой extended thinking (Anthropic Claude, OpenAI o-серии).
Директивы
В тексте сообщения: /t <level>, /think:<level> или /thinking <level>.
off |
Без рассуждений |
minimal |
Минимальное мышление |
low |
Краткое рассуждение |
medium |
Среднее |
high |
Глубокое рассуждение (максимальный бюджет) |
xhigh |
Максимум (GPT-5.2 + Codex, Claude Opus 4.7) |
adaptive |
Адаптивное (управляет провайдер) |
Конфигурация
{
agents: {
defaults: {
thinkingDefault: "low", // уровень по умолчанию
},
},
}
Что дальше
📦 Плагин Memory Wiki (подробно)
memory-wiki — встроенный плагин, который превращает долгосрочную память в скомпилированное хранилище знаний.
memory-wiki работает рядом и компилирует устойчивые знания в навигируемую wiki с детерминированными страницами, структурированными утверждениями, провенансом, дашбордами и машинно-читаемыми дайджестами.
Используйте, когда хотите, чтобы память вела себя как поддерживаемый слой знаний, а не как набор Markdown-файлов.
Что добавляет
- Выделенное хранилище wiki с детерминированным layout страниц
- Структурированные метаданные утверждений и доказательств (не просто текст)
- Провенанс, уверенность, противоречия и открытые вопросы на уровне страниц
- Скомпилированные дайджесты для потребителей (агенты, runtime)
- Нативные wiki-инструменты: search, get, apply, lint
- Опциональный bridge-режим для импорта артефактов из активного плагина памяти
- Режим рендеринга Obsidian и интеграция CLI
Как сочетается с памятью
| Слой | Что управляет |
|---|---|
Активный плагин памяти (memory-core, QMD и др.) |
Recall, семантический поиск, продвижение, dreaming, runtime памяти |
memory-wiki |
Скомпилированные wiki-страницы, синтезы с провенансом, дашборды, wiki-specific search/get/apply |
Если активный плагин памяти предоставляет общие recall-артефакты — OpenClaw может искать по обоим слоям за один проход через memory_search corpus=all.
Рекомендуемая гибридная схема
Для local-first развёртываний:
- QMD — активный бэкенд памяти для recall и широкого семантического поиска
memory-wikiв режимеbridge— устойчивые синтезированные знания
Правило:
memory_search— один широкий recall-проход по памятиwiki_search+wiki_get— когда важен провенанс, ранжирование и belief-структура wikimemory_search corpus=all— поиск по обоим слоям
Режимы хранилища
isolated
Своё хранилище, свои источники, без зависимости от memory-core. Когда wiki должна быть самостоятельным curated хранилищем знаний.
bridge
Читает публичные артефакты памяти и события через публичные SDK-швы активного плагина. Может индексировать:
- Экспортированные артефакты памяти
- Dream-отчёты
- Ежедневные заметки
- Корневые файлы памяти
- Логи событий памяти
unsafe-local
Явный escape hatch для локальных приватных путей на той же машине. Экспериментальный и не переносимый. Только если понимаете границу доверия.
Layout хранилища
<vault>/
AGENTS.md
WIKI.md
index.md
inbox.md
entities/
concepts/
syntheses/
sources/
reports/
_attachments/
_views/
.openclaw-wiki/
sources/— импортированный сырой материал и bridge-backed страницыentities/— устойчивые сущности: люди, системы, проекты, объектыconcepts/— идеи, абстракции, паттерны, политикиsyntheses/— скомпилированные саммари и поддерживаемые сводкиreports/— генерируемые дашборды
Управляемый контент остаётся внутри генерируемых блоков. Блоки с заметками человека сохраняются.
Структурированные утверждения и доказательства
Страницы могут содержать структурированные claims во frontmatter, а не просто текст.
Каждое утверждение включает:
id |
Идентификатор |
text |
Текст утверждения |
status |
Статус |
confidence |
Уверенность |
evidence[] |
Массив доказательств |
updatedAt |
Дата обновления |
Доказательства включают: sourceId, path, lines, weight, note, updatedAt.
Это делает wiki слоем belief, а не пассивным дампом заметок. Утверждения можно отслеживать, оценивать, оспаривать и разрешать обратно к источникам.
Конвейер компиляции
Шаг compile читает страницы wiki, нормализует саммари и эмитит стабильные машинно-читаемые артефакты:
.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
Скомпилированный вывод также питает:
- Первичную индексацию wiki для search/get
- Lookup claim-id → owning page
- Компактные prompt-дополнения
- Генерацию отчётов и дашбордов
Дашборды и отчёты о здоровье
При render.createDashboards: true compile поддерживает дашборды в reports/:
reports/open-questions.md— открытые вопросыreports/contradictions.md— противоречияreports/low-confidence.md— низкая уверенностьreports/claim-health.md— здоровье утвержденийreports/stale-pages.md— устаревшие страницы
Поиск и получение
Два бэкенда поиска:
shared— общий memory search flowlocal— локальный поиск wiki
Три корпуса: wiki, wiki, memory, all.
Особенности:
wiki_searchиwiki_getиспользуют скомпилированные дайджесты как первый проход- Claim IDs резолвятся обратно на owning page
- Оспоренные/устаревшие/свежие утверждения влияют на ранжирование
- Провенанс-лейблы сохраняются в результатах
Инструменты агента
| Инструмент | Описание |
|---|---|
wiki_status |
Текущий режим, здоровье, доступность Obsidian CLI |
wiki_search |
Поиск по страницам wiki и общим корпусам памяти |
wiki_get |
Чтение wiki-страницы по id/path или fallback на общий корпус |
wiki_apply |
Узкие мутации синтеза/метаданных без свободного редактирования |
wiki_lint |
Структурные проверки, пробелы провенанса, противоречия, открытые вопросы |
Конфигурация
{
plugins: {
entries: {
"memory-wiki": {
enabled: true,
config: {
vaultMode: "isolated",
vault: {
path: "~/.openclaw/wiki/main",
renderMode: "obsidian",
},
bridge: {
enabled: false,
readMemoryArtifacts: true,
indexDreamReports: true,
indexDailyNotes: true,
indexMemoryRoot: true,
followMemoryEvents: true,
},
ingest: {
autoCompile: true,
maxConcurrentJobs: 1,
allowUrlIngest: true,
},
search: {
backend: "shared",
corpus: "wiki",
},
context: {
includeCompiledDigestPrompt: false,
},
render: {
preserveHumanBlocks: true,
createBacklinks: true,
createDashboards: true,
},
},
},
},
},
}
Ключевые переключатели
vaultMode |
isolated, bridge, unsafe-local |
vault.renderMode |
native или obsidian |
bridge.readMemoryArtifacts |
Импорт публичных артефактов активного плагина памяти |
search.backend |
shared или local |
search.corpus |
wiki, memory, all |
context.includeCompiledDigestPrompt |
Добавлять компактный snapshot дайджеста в memory prompt |
render.createBacklinks |
Генерировать deterministic related-блоки |
render.createDashboards |
Генерировать дашборды |
CLI
openclaw wiki status
openclaw wiki doctor
openclaw wiki init
openclaw wiki ingest ./notes/alpha.md
openclaw wiki compile
openclaw wiki lint
openclaw wiki search "alpha"
openclaw wiki get entity.alpha
openclaw wiki apply synthesis "Alpha Summary" --body "..." --source-id source.alpha
openclaw wiki bridge import
openclaw wiki obsidian status
Поддержка Obsidian
При vault.renderMode: "obsidian" плагин пишет Obsidian-friendly Markdown и может использовать официальный CLI obsidian.
Поддерживаемые сценарии: проверка статуса, поиск, открытие страницы, вызов команд Obsidian, переход к daily note.
Опционально. Wiki работает и в native-режиме без Obsidian.
Рекомендуемый workflow
- Держите активный плагин памяти для recall/promotion/dreaming.
- Включите
memory-wiki. - Начните с
isolatedрежима. - Используйте
wiki_search/wiki_get, когда важен провенанс. - Используйте
wiki_applyдля узких синтезов или обновлений метаданных. - Запускайте
wiki_lintпосле значительных изменений. - Включите дашборды для видимости устаревших/противоречивых данных.