Bundled plugin guides
Вики памяти
memory-wiki — это встроенный плагин, который превращает долговременную память в скомпилированное
хранилище знаний.
Он не заменяет плагин активной памяти. Плагин активной памяти по-прежнему
отвечает за recall, promotion, индексирование и dreaming. memory-wiki работает рядом с ним
и компилирует долговременные знания в навигируемую wiki с детерминированными страницами,
структурированными утверждениями, происхождением, dashboards и машиночитаемыми digest.
Используйте его, когда хотите, чтобы память работала скорее как поддерживаемый слой знаний, а не как набор Markdown-файлов.
Что он добавляет
- Отдельное wiki-хранилище с детерминированной структурой страниц
- Структурированные метаданные утверждений и доказательств, а не только прозу
- Происхождение, уверенность, противоречия и открытые вопросы на уровне страниц
- Скомпилированные digest для потребителей-агентов и runtime
- Нативные wiki-инструменты search/get/apply/lint
- Импорт Open Knowledge Format в скомпилированные wiki-концепты
- Необязательный режим bridge, который импортирует публичные артефакты из плагина активной памяти
- Необязательный режим рендеринга, удобный для Obsidian, и интеграция с CLI
Как это сочетается с памятью
Разделение можно понимать так:
| Слой | Отвечает за |
|---|---|
Плагин активной памяти (memory-core, QMD, Honcho и т. д.) |
Recall, семантический поиск, promotion, dreaming, runtime памяти |
memory-wiki |
Скомпилированные wiki-страницы, синтезы с богатым происхождением, dashboards, wiki-специфичные search/get/apply |
Если плагин активной памяти предоставляет общие артефакты recall, OpenClaw может искать
по обоим слоям за один проход с memory_search corpus=all.
Когда вам нужен wiki-специфичный ranking, происхождение или прямой доступ к страницам, используйте вместо этого нативные wiki-инструменты.
Рекомендуемый гибридный паттерн
Хороший вариант по умолчанию для local-first установок:
- QMD как backend активной памяти для recall и широкого семантического поиска
memory-wikiв режимеbridgeдля долговременных синтезированных страниц знаний
Такое разделение хорошо работает, потому что каждый слой остается сфокусированным:
- QMD сохраняет доступными для поиска сырые заметки, экспорты сессий и дополнительные коллекции
memory-wikiкомпилирует стабильные сущности, утверждения, dashboards и исходные страницы
Практическое правило:
- используйте
memory_search, когда нужен один широкий проход recall по памяти - используйте
wiki_searchиwiki_get, когда нужны wiki-результаты с учетом происхождения - используйте
memory_search corpus=all, когда общий поиск должен охватывать оба слоя
Если режим bridge сообщает о нуле экспортированных артефактов, значит плагин активной памяти
пока не предоставляет публичные bridge-входы. Сначала выполните openclaw wiki doctor,
затем убедитесь, что плагин активной памяти поддерживает публичные артефакты.
Когда режим bridge активен и bridge.readMemoryArtifacts включен,
openclaw wiki status, openclaw wiki doctor и openclaw wiki bridge import читают данные через работающий Gateway. Это сохраняет CLI-проверки bridge согласованными
с runtime-контекстом плагина памяти. Если bridge отключен или чтение артефактов
выключено, эти команды сохраняют свое локальное/offline поведение.
Режимы хранилища
memory-wiki поддерживает три режима хранилища:
isolated
Собственное хранилище, собственные источники, без зависимости от memory-core.
Используйте это, когда хотите, чтобы wiki была собственным курируемым хранилищем знаний.
bridge
Читает публичные артефакты памяти и события памяти из плагина активной памяти через публичные швы plugin SDK.
Используйте это, когда хотите, чтобы wiki компилировала и организовывала экспортированные артефакты плагина памяти, не обращаясь к приватным внутренностям плагина.
Режим bridge может индексировать:
- экспортированные артефакты памяти
- отчеты dream
- ежедневные заметки
- корневые файлы памяти
- журналы событий памяти
unsafe-local
Явный аварийный выход для локальных приватных путей на той же машине.
Этот режим намеренно экспериментальный и непереносимый. Используйте его только когда понимаете границу доверия и вам действительно нужен доступ к локальной файловой системе, который режим bridge предоставить не может.
Структура хранилища
Плагин инициализирует хранилище так:
<vault>/ AGENTS.md WIKI.md index.md inbox.md entities/ concepts/ syntheses/ sources/ reports/ _attachments/ _views/ .openclaw-wiki/Управляемый контент остается внутри сгенерированных блоков. Блоки человеческих заметок сохраняются.
Основные группы страниц:
sources/для импортированного сырого материала и страниц, поддерживаемых bridgeentities/для долговременных вещей, людей, систем, проектов и объектовconcepts/для идей, абстракций, паттернов и политикsyntheses/для скомпилированных сводок и поддерживаемых rollupreports/для сгенерированных dashboards
Импорт Open Knowledge Format
memory-wiki может импортировать распакованные наборы Open Knowledge Format с помощью:
openclaw wiki okf import ./bundles/ga4Это самый чистый вариант, когда каталог данных, crawler документации или
агент обогащения уже производит OKF: оставьте OKF переносимым артефактом обмена,
а затем позвольте memory-wiki превратить его в нативные для OpenClaw страницы концептов и
скомпилированные digest.
Импортер следует форме OKF v0.1:
- незарезервированные
.mdфайлы являются документами концептов - каждому импортированному концепту нужно непустое поле frontmatter
type - неизвестные значения OKF
typeпринимаются - зарезервированные файлы
index.mdиlog.mdне импортируются как концепты - сломанные или внешние markdown-ссылки сохраняются
Импортированные страницы концептов уплощаются в concepts/, чтобы существующие пути compile,
search, get, dashboard и prompt-digest видели их без добавления второго
wiki-дерева. Каждая страница сохраняет исходный OKF concept ID, путь источника, type,
resource, tags, timestamp и полный producer frontmatter. Внутренние OKF-ссылки
переписываются на сгенерированные wiki-страницы концептов и также выводятся как структурированные
записи relationships с kind: okf-link.
Структурированные утверждения и доказательства
Страницы могут содержать структурированный frontmatter claims, а не только произвольный текст.
Каждое утверждение может включать:
idtextstatusconfidenceevidence[]updatedAt
Записи доказательств могут включать:
kindsourceIdpathlinesweightconfidenceprivacyTiernoteupdatedAt
Именно это заставляет wiki работать скорее как слой убеждений, чем как пассивная свалка заметок. Утверждения можно отслеживать, оценивать, оспаривать и привязывать обратно к источникам.
Метаданные сущностей для агентов
Страницы сущностей также могут содержать routing-метаданные для использования агентами. Это общий frontmatter, поэтому он работает для людей, команд, систем, проектов или любых других типов сущностей.
Распространенные поля:
entityType: напримерperson,team,systemилиprojectcanonicalId: стабильный ключ идентичности, используемый между alias и импортамиaliases: имена, handles или labels, которые должны разрешаться в ту же страницуprivacyTier:public,local-private,sensitiveилиconfirm-before-usebestUsedFor/notEnoughFor: компактные routing-подсказкиlastRefreshedAt: timestamp обновления источника, отдельный от времени редактирования страницыpersonCard: необязательная person-специфичная routing-карточка с handles, socials, emails, timezone, lane, ask-for, avoid-asking-for, confidence и privacyrelationships: типизированные ребра к связанным страницам с target, kind, weight, confidence, evidence kind, privacy tier и note
Для people wiki агенту обычно следует начинать с
reports/person-agent-directory.md, затем открыть страницу человека через wiki_get
перед использованием контактных данных или выведенных фактов.
Пример:
pageType: entityentityType: personid: entity.brad-grouxcanonicalId: maintainer.brad-grouxaliases: - Brad - bgrouxprivacyTier: local-privatebestUsedFor: - Microsoft Teams and Azure routingnotEnoughFor: - legal approvallastRefreshedAt: "2026-04-29T00:00:00.000Z"personCard: handles: - "@bgroux" socials: - "https://x.example/bgroux" emails: - brad@example.com timezone: America/Chicago lane: Microsoft ecosystem askFor: - Teams rollout questions avoidAskingFor: - unrelated billing decisions confidence: 0.8 privacyTier: confirm-before-userelationships: - targetId: entity.alice targetTitle: Alice kind: collaborates-with confidence: 0.7 evidenceKind: discrawl-statclaims: - id: claim.brad.teams text: Brad is useful for Microsoft Teams routing. status: supported confidence: 0.9 evidence: - kind: maintainer-whois sourceId: source.maintainers privacyTier: local-privateCompile pipeline
Шаг compile читает wiki-страницы, нормализует сводки и выводит стабильные машинно-ориентированные артефакты в:
.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
Эти digest существуют, чтобы агентам и runtime-коду не приходилось извлекать данные из Markdown-страниц.
Скомпилированный вывод также обеспечивает:
- первичное wiki-индексирование для потоков search/get
- lookup claim-id обратно к страницам-владельцам
- компактные prompt-дополнения
- генерацию отчетов/dashboard
Dashboards и health-отчеты
Когда render.createDashboards включен, compile поддерживает dashboards в
reports/.
Встроенные отчеты включают:
reports/open-questions.mdreports/contradictions.mdreports/low-confidence.mdreports/claim-health.mdreports/stale-pages.mdreports/person-agent-directory.mdreports/relationship-graph.mdreports/provenance-coverage.mdreports/privacy-review.md
Эти отчеты отслеживают такие вещи, как:
- кластеры заметок с противоречиями
- конкурирующие кластеры утверждений
- утверждения без структурированных доказательств
- страницы и утверждения с низкой уверенностью
- устаревшая или неизвестная свежесть
- страницы с нерешенными вопросами
- routing-карточки людей/сущностей
- структурированные ребра отношений
- покрытие классов доказательств
- непубличные privacy tiers, которые требуют проверки перед использованием
Поиск и извлечение
memory-wiki поддерживает два backend поиска:
shared: использовать общий поток поиска по памяти, когда он доступенlocal: искать wiki локально
Он также поддерживает три корпуса:
wikimemoryall
Важное поведение:
wiki_searchиwiki_getиспользуют скомпилированные digest как первый проход, когда это возможно- claim ids могут разрешаться обратно к странице-владельцу
- contest/stale/fresh claims влияют на ranking
- метки происхождения могут сохраняться в результатах
- режим поиска может смещать ranking для поиска людей, question routing, source evidence или raw claims
Практическое правило:
- используйте
memory_search corpus=allдля одного широкого прохода recall - используйте
wiki_search+wiki_get, когда важны wiki-специфичный ranking, происхождение или структура убеждений на уровне страниц
Режимы поиска:
auto: сбалансированное значение по умолчаниюfind-person: усиливает человекоподобные сущности, alias, handles, socials и canonical IDsroute-question: усиливает agent cards, ask-for hints, best-used-for hints и контекст отношенийsource-evidence: усиливает страницы источников и структурированные метаданные доказательствraw-claim: усиливает совпадающие структурированные утверждения и возвращает метаданные claim/evidence в результатах
Когда результат совпадает со структурированным утверждением, wiki_search может вернуть
matchedClaimId, matchedClaimStatus, matchedClaimConfidence,
evidenceKinds и evidenceSourceIds в своем details payload. Текстовый вывод
также включает компактные строки Claim: и Evidence:, когда они доступны.
Инструменты агента
Плагин регистрирует эти инструменты:
wiki_statuswiki_searchwiki_getwiki_applywiki_lint
Что они делают:
wiki_status: текущий режим хранилища, health, доступность Obsidian CLIwiki_search: поиск wiki-страниц и, при настройке, общих memory corpora; принимаетmodeдля поиска людей, question routing, source evidence или raw claim drilldownwiki_get: читает wiki-страницу по id/path или fallback к общему memory corpuswiki_apply: узкие мутации synthesis/metadata без произвольной правки страницwiki_lint: структурные проверки, пробелы происхождения, противоречия, открытые вопросы
Плагин также регистрирует неэксклюзивное дополнение корпуса памяти, поэтому общие
memory_search и memory_get могут обращаться к wiki, когда плагин активной памяти
поддерживает выбор корпуса.
Поведение prompt и контекста
Когда включен context.includeCompiledDigestPrompt, разделы prompt памяти
добавляют компактный скомпилированный снимок из agent-digest.json.
Этот снимок намеренно небольшой и содержит только наиболее значимую информацию:
- только ключевые страницы
- только ключевые утверждения
- количество противоречий
- количество вопросов
- квалификаторы уверенности/свежести
Это опционально, потому что меняет форму prompt и в основном полезно для движков контекста или устаревшей сборки prompt, которые явно используют дополнения памяти.
Конфигурация
Разместите конфигурацию в plugins.entries.memory-wiki.config:
{ plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "isolated", vault: { path: "~/.openclaw/wiki/main", renderMode: "obsidian", }, obsidian: { enabled: true, useOfficialCli: true, vaultName: "OpenClaw Wiki", openAfterWrites: false, }, 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-localvault.renderMode:nativeилиobsidianbridge.readMemoryArtifacts: импортировать публичные артефакты плагина активной памятиbridge.followMemoryEvents: включать журналы событий в режиме bridgesearch.backend:sharedилиlocalsearch.corpus:wiki,memoryилиallcontext.includeCompiledDigestPrompt: добавлять компактный снимок digest в разделы prompt памятиrender.createBacklinks: генерировать детерминированные связанные блокиrender.createDashboards: генерировать страницы dashboard
Пример: QMD + режим bridge
Используйте это, когда вам нужен QMD для извлечения и memory-wiki для поддерживаемого
слоя знаний:
{ memory: { backend: "qmd", }, plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "bridge", bridge: { enabled: true, readMemoryArtifacts: true, indexDreamReports: true, indexDailyNotes: true, indexMemoryRoot: true, followMemoryEvents: true, }, search: { backend: "shared", corpus: "all", }, context: { includeCompiledDigestPrompt: false, }, }, }, }, },}Это сохраняет:
- QMD ответственным за извлечение активной памяти
memory-wikiсосредоточенным на скомпилированных страницах и dashboard- форму prompt неизменной, пока вы намеренно не включите prompts скомпилированного digest
CLI
memory-wiki также предоставляет поверхность CLI верхнего уровня:
openclaw wiki statusopenclaw wiki doctoropenclaw wiki initopenclaw wiki ingest ./notes/alpha.mdopenclaw wiki compileopenclaw wiki lintopenclaw wiki search "alpha"openclaw wiki get entity.alphaopenclaw wiki apply synthesis "Alpha Summary" --body "..." --source-id source.alphaopenclaw wiki bridge importopenclaw wiki obsidian statusСм. CLI: wiki для полного справочника команд.
Поддержка Obsidian
Когда vault.renderMode равен obsidian, плагин записывает Markdown, удобный для Obsidian,
и при необходимости может использовать официальный CLI obsidian.
Поддерживаемые рабочие процессы включают:
- проверку состояния
- поиск в vault
- открытие страницы
- вызов команды Obsidian
- переход к ежедневной заметке
Это опционально. Wiki продолжает работать в нативном режиме без Obsidian.
Рекомендуемый рабочий процесс
- Оставьте ваш плагин активной памяти для извлечения/продвижения/Dreaming.
- Включите
memory-wiki. - Начните с режима
isolated, если вам явно не нужен режим bridge. - Используйте
wiki_search/wiki_get, когда важна происхождение данных. - Используйте
wiki_applyдля узких синтезов или обновлений метаданных. - Запускайте
wiki_lintпосле значимых изменений. - Включите dashboards, если вам нужна видимость устаревания/противоречий.