Plugin guides
Вики памяти
memory-wiki — это встроенный плагин, который преобразует устойчивые знания в
удобную для навигации вики: детерминированные страницы, структурированные утверждения с доказательствами,
происхождение данных, панели мониторинга и машиночитаемые дайджесты.
Он не заменяет плагин активной памяти. Извлечение, продвижение, индексирование и
Dreaming остаются в ведении настроенного бэкенда памяти
(memory-core, QMD, Honcho и т. д.). memory-wiki работает рядом с ним и преобразует
знания в поддерживаемый вики-слой.
| Слой | Отвечает за |
|---|---|
| Плагин активной памяти | Извлечение, семантический поиск, продвижение, Dreaming, среда выполнения памяти |
memory-wiki |
Скомпилированные вики-страницы, синтезы с подробным происхождением данных, панели мониторинга, поиск/получение/применение в вики |
Практическое правило:
memory_searchдля одного широкого прохода извлечения по всем настроенным корпусамwiki_search/wiki_get, когда нужны специфичные для вики ранжирование, происхождение данных или структура убеждений на уровне страницыmemory_search corpus=all, чтобы охватить оба слоя одним вызовом, если плагин активной памяти поддерживает выбор корпуса
Распространённая конфигурация с приоритетом локальной работы: QMD как бэкенд активной памяти для извлечения и
memory-wiki в режиме bridge для устойчивых синтезированных страниц. См.
пример QMD + режим моста в разделе Конфигурация.
Если режим моста сообщает о нулевом количестве экспортированных артефактов, значит плагин активной памяти
в настоящее время не предоставляет общедоступные входные данные моста. Сначала выполните openclaw wiki doctor,
затем убедитесь, что плагин активной памяти поддерживает общедоступные артефакты.
Режимы хранилища
isolated(по умолчанию): собственное хранилище, собственные источники, без зависимости от плагина активной памяти. Используйте для автономного курируемого хранилища знаний.bridge: читает общедоступные артефакты памяти и журналы событий из плагина активной памяти через общедоступные интерфейсы SDK плагинов. Используйте для компиляции экспортированных артефактов плагина памяти без обращения к закрытым внутренним компонентам плагина.unsafe-local: явный аварийный механизм для локальных закрытых путей на том же компьютере. Намеренно экспериментальный и непереносимый; используйте только тогда, когда понимаете границу доверия и вам требуется доступ к локальной файловой системе, который не может обеспечить режим моста.
Режим и область хранилища выбираются независимо:
vaultModeопределяет, откуда поступают входные данные вики.vault.scopeопределяет, используют ли все агенты одно хранилище или каждый агент получает дочернее хранилище.
vault.scope: "global" используется по умолчанию и сохраняет существующее поведение
с единым хранилищем. Используйте vault.scope: "agent" с режимом isolated или bridge, если
агенты не должны совместно использовать вики-страницы, скомпилированные дайджесты, результаты поиска или записи.
Область агента нельзя сочетать с режимом unsafe-local, поскольку настроенные
закрытые пути не являются входными данными, принадлежащими агенту. Проверка конфигурации отклоняет это
сочетание.
Режим моста может индексировать в зависимости от переключателя конфигурации bridge.*:
- экспортированные артефакты памяти (
indexMemoryRoot) - ежедневные заметки (
indexDailyNotes) - отчёты Dreaming (
indexDreamReports) - журналы событий памяти (
followMemoryEvents)
Когда режим моста активен и включён bridge.readMemoryArtifacts,
openclaw wiki status, openclaw wiki doctor и openclaw wiki bridge import направляются через работающий Gateway, поэтому используют тот же контекст активного
плагина памяти, что и память агента/среды выполнения. Если мост отключён или чтение
артефактов выключено, эти команды сохраняют локальное/автономное поведение.
Структура хранилища
<vault>/ AGENTS.md WIKI.md index.md inbox.md entities/ concepts/ syntheses/ sources/ reports/ _attachments/ _views/ .openclaw-wiki/Управляемое содержимое остаётся внутри сгенерированных блоков; блоки пользовательских заметок сохраняются при повторной генерации.
sources/: импортированные исходные материалы и страницы, основанные на данных моста/небезопасных локальных данныхentities/: устойчивые сущности, люди, системы, проекты, объектыconcepts/: идеи, абстракции, шаблоны, политики (также место назначения для импорта OKF)syntheses/: скомпилированные сводки и поддерживаемые агрегированные данныеreports/: сгенерированные панели мониторинга
Импорт Open Knowledge Format
openclaw wiki okf import ./bundles/ga4Импортируйте распакованный пакет Open Knowledge Format в страницы концепций вики. Это хорошо
подходит, когда каталог данных, сканер документации или агент обогащения уже
создаёт OKF: сохраняйте OKF как переносимый артефакт обмена, а memory-wiki
преобразует его в нативные для OpenClaw страницы концепций и скомпилированные дайджесты.
- незарезервированные файлы
.mdявляются документами концепций - для каждой импортированной концепции требуется непустое поле метаданных
type; отсутствиеtypeприводит к предупреждениюmissing-type, и файл пропускается - неизвестные значения
typeпринимаются как универсальные концепции index.mdиlog.mdзарезервированы и никогда не импортируются как концепции- неработающие или внешние ссылки Markdown остаются без изменений
Импортированные страницы размещаются в плоской структуре в concepts/, поэтому существующие процессы компиляции, поиска, получения и
создания панелей мониторинга видят их без второго дерева вики. Каждая страница сохраняет
исходный идентификатор концепции OKF, путь к источнику, type, resource, tags, временную метку
и все метаданные производителя. Внутренние ссылки OKF переписываются так, чтобы указывать на сгенерированные
страницы концепций вики, а также создают структурированные записи relationships с
kind: okf-link.
Структурированные утверждения и доказательства
Страницы содержат структурированные метаданные claims, а не только неструктурированный текст. Каждое
утверждение может включать id, text, status, confidence, evidence[] и
updatedAt. Каждая запись доказательства может включать kind, sourceId, path,
lines, weight, confidence, privacyTier, note и updatedAt.
Благодаря этому вики работает как слой убеждений, а не как пассивное хранилище заметок. Утверждения можно отслеживать, оценивать, оспаривать и сопоставлять с источниками.
Метаданные сущностей для агентов
Страницы сущностей содержат универсальные метаданные маршрутизации, применимые к людям, командам, системам, проектам и любым другим типам сущностей:
entityType: например,person,team,system,projectcanonicalId: стабильный ключ идентичности для псевдонимов и импортовaliases: имена, дескрипторы или метки, указывающие на одну и ту же страницуprivacyTier: строка свободной формы;publicозначает, что проверка не требуется, любое другое значение (например,local-private,sensitive,confirm-before-use) отмечается вreports/privacy-review.mdbestUsedFor/notEnoughFor: компактные подсказки маршрутизацииlastRefreshedAt: временная метка обновления источника, отдельная от времени редактирования страницыpersonCard: необязательная карточка маршрутизации для человека (дескрипторы, социальные сети, адреса электронной почты, часовой пояс, направление, с какими вопросами обращаться, с какими не обращаться, достоверность, уровень конфиденциальности)relationships: типизированные связи с родственными страницами (цель, тип, вес, достоверность, тип доказательства, уровень конфиденциальности, примечание)
Для вики о людях начните с reports/person-agent-directory.md, а затем откройте
страницу человека с помощью wiki_get, прежде чем использовать контактные данные или выведенные
факты.
Пример страницы сущности
pageType: entityentityType: personid: entity.example-personcanonicalId: maintainer.example-personaliases:- Алекс- example-handleprivacyTier: local-privatebestUsedFor:- Маршрутизация в демонстрационной экосистемеnotEnoughFor:- юридическое одобрениеlastRefreshedAt: "2026-04-29T00:00:00.000Z"personCard:handles: - "@example-handle"socials: - "https://x.example/example-handle"emails: - alex@example.comtimezone: America/Chicagolane: Демонстрационная экосистемаaskFor: - Вопросы о развёртывании примераavoidAskingFor: - несвязанные решения по выставлению счетовconfidence: 0.8privacyTier: confirm-before-userelationships:- targetId: entity.other-person targetTitle: Другой человек kind: collaborates-with confidence: 0.7 evidenceKind: discrawl-statclaims:- id: claim.example.routing text: Алекс полезен для маршрутизации в демонстрационной экосистеме. status: supported confidence: 0.9 evidence: - kind: maintainer-whois sourceId: source.maintainers privacyTier: local-privateКонвейер компиляции
Компиляция читает страницы вики, нормализует сводки и создаёт стабильные машиночитаемые артефакты в:
.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
Агенты и код среды выполнения читают эти дайджесты вместо анализа Markdown. Скомпилированный вывод также обеспечивает первичное индексирование вики для поиска/получения, обратное сопоставление идентификаторов утверждений с содержащими их страницами, компактные дополнения к запросам и создание отчётов.
Панели мониторинга и отчёты о состоянии
Когда включён render.createDashboards, компиляция поддерживает панели мониторинга в
reports/:
| Отчёт | Отслеживает |
|---|---|
reports/open-questions.md |
страницы с нерешёнными вопросами |
reports/contradictions.md |
кластеры заметок о противоречиях |
reports/low-confidence.md |
страницы и утверждения с низкой достоверностью |
reports/claim-health.md |
утверждения без структурированных доказательств |
reports/stale-pages.md |
устаревшие или неизвестные данные об актуальности |
reports/person-agent-directory.md |
карточки маршрутизации людей/сущностей |
reports/relationship-graph.md |
структурированные связи между сущностями |
reports/provenance-coverage.md |
охват классов доказательств |
reports/privacy-review.md |
непубличные уровни конфиденциальности, требующие проверки перед использованием |
Поиск и извлечение
Два бэкенда поиска:
shared: используйте общий процесс поиска в памяти, когда он доступенlocal: выполняйте локальный поиск в вики
Три корпуса: wiki, memory, all.
wiki_search/wiki_getпо возможности используют скомпилированные дайджесты на первом этапе- идентификаторы утверждений сопоставляются с содержащей их страницей
- оспариваемые, устаревшие и актуальные утверждения влияют на ранжирование
- метки происхождения данных сохраняются в результатах
Режимы поиска (параметр --mode / инструмента mode):
| Режим | Повышает приоритет |
|---|---|
auto |
сбалансированный режим по умолчанию |
find-person |
сущности типа людей, псевдонимы, дескрипторы, социальные сети, канонические идентификаторы |
route-question |
карточки агентов, подсказки о том, с какими вопросами обращаться и для чего лучше использовать, контекст связей |
source-evidence |
страницы источников и метаданные структурированных доказательств |
raw-claim |
совпадающие структурированные утверждения; возвращает метаданные утверждений/доказательств |
Когда результат соответствует структурированному утверждению, wiki_search возвращает
matchedClaimId, matchedClaimStatus, matchedClaimConfidence,
evidenceKinds и evidenceSourceIds в полезной нагрузке подробных данных. Текстовый вывод
содержит компактные строки Claim: и Evidence:, когда они доступны.
Инструменты агента
| Инструмент | Назначение |
|---|---|
wiki_status |
текущий режим и область хранилища, определённый агент, состояние, доступность Obsidian CLI |
wiki_search |
поиск по страницам вики и, если настроено, по общему корпусу памяти; принимает mode для поиска людей, маршрутизации вопросов, получения подтверждений из источников или детального анализа необработанных утверждений |
wiki_get |
чтение страницы вики по идентификатору или пути с переходом к общему корпусу памяти, если общий поиск включён и страница не найдена |
wiki_apply |
точечные изменения синтезированных данных и метаданных без произвольного редактирования страницы |
wiki_lint |
структурные проверки, пробелы в происхождении данных, противоречия, открытые вопросы |
Плагин также регистрирует неисключительное дополнение к корпусу памяти, поэтому общие
memory_search и memory_get могут обращаться к вики, если активный плагин
памяти поддерживает выбор корпуса.
Поведение промпта и контекста
Когда включён context.includeCompiledDigestPrompt, разделы промпта памяти
дополняются компактным скомпилированным снимком из agent-digest.json: только основные
страницы, только основные утверждения, количество противоречий, количество вопросов,
уточнения достоверности и актуальности. Эта возможность включается явно, поскольку
изменяет структуру промпта; она важна главным образом для механизмов контекста или
сборки промпта, которые явно используют дополнения памяти.
Конфигурация
Поместите конфигурацию в plugins.entries.memory-wiki.config:
{ plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "isolated", vault: { scope: "global", 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, }, unsafeLocal: { allowPrivateMemoryCoreAccess: false, paths: [], }, 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.scope |
global (по умолчанию), agent |
одно общее хранилище или отдельное дочернее хранилище для каждого агента |
vault.path |
глобальное значение по умолчанию — ~/.openclaw/wiki/main |
точный путь к глобальному хранилищу; родительский каталог для области агента по умолчанию — ~/.openclaw/wiki |
vault.renderMode |
native (по умолчанию), obsidian |
|
bridge.readMemoryArtifacts |
по умолчанию true |
импортировать публичные артефакты активного плагина памяти |
bridge.followMemoryEvents |
по умолчанию true |
включать журналы событий в режиме моста |
unsafeLocal.allowPrivateMemoryCoreAccess |
по умолчанию false |
требуется для запуска импорта unsafe-local |
unsafeLocal.paths |
по умолчанию [] |
явные локальные пути для импорта в режиме unsafe-local |
search.backend |
shared (по умолчанию), local |
|
search.corpus |
wiki (по умолчанию), memory, all |
|
context.includeCompiledDigestPrompt |
по умолчанию false |
добавлять компактный снимок сводки выбранного агента в разделы промпта памяти |
render.createBacklinks |
по умолчанию true |
создавать детерминированные блоки связанных материалов |
render.createDashboards |
по умолчанию true |
создавать страницы панелей мониторинга |
Хранилища для отдельных агентов
Задайте для vault.scope значение agent, чтобы предоставить каждому настроенному агенту отдельную вики.
В этой области vault.path является родительским каталогом, а OpenClaw добавляет
нормализованный идентификатор агента:
{ agents: { list: [{ id: "support" }, { id: "marketing" }], }, plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "bridge", vault: { scope: "agent", path: "~/.openclaw/wiki", }, bridge: { enabled: true, readMemoryArtifacts: true, }, }, }, }, },}В результате получаются пути ~/.openclaw/wiki/support и
~/.openclaw/wiki/marketing. Если vault.path не указан в области агента,
родительским каталогом по умолчанию становится ~/.openclaw/wiki. Поэтому агент main,
используемый по умолчанию, сохраняет существующий путь ~/.openclaw/wiki/main.
Инструменты агента, скомпилированные сводки промпта и дополнение вики, предоставляемое через
memory_search / memory_get, определяют хранилище из контекста активного агента.
Для вызовов CLI и Gateway в конфигурации с несколькими настроенными агентами явно
укажите агента с помощью openclaw wiki --agent <agentId> ... или поля agentId
запроса Gateway. Если настроен только один агент, он остаётся агентом по умолчанию,
когда идентификатор не указан.
В режиме моста импорт в области агента принимает публичный артефакт памяти, только если
его agentIds включает выбранного агента. Артефакты, принадлежащие другому агенту,
не содержащие метаданных о владельце или имеющие неизвестного владельца, пропускаются.
Глобальная область сохраняет существующее поведение общих артефактов.
Пример: QMD + режим моста
Используйте эту конфигурацию, если хотите применять QMD для извлечения информации, а
memory-wiki — в качестве поддерживаемого слоя знаний. Каждый слой сохраняет
свою специализацию: 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
сосредоточен на скомпилированных страницах и панелях мониторинга, а структура промпта
остаётся неизменной, пока вы намеренно не включите промпты со скомпилированными сводками.
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Полный справочник команд, включая wiki okf import, wiki apply metadata,
wiki unsafe-local import, wiki chatgpt import / wiki chatgpt rollback и полный набор
подкоманд wiki obsidian, см. в разделе CLI: вики.
Поддержка Obsidian
Когда vault.renderMode имеет значение obsidian, плагин записывает
Markdown в формате, совместимом с Obsidian, и при необходимости может использовать
официальный CLI obsidian для проверки состояния, поиска по хранилищу,
открытия страницы, вызова команды и перехода к ежедневной заметке. Это необязательно:
вики продолжает работать в собственном режиме без Obsidian.
Хранилища в области агента также могут использовать Markdown, совместимый с Obsidian,
но проверка конфигурации отклоняет obsidian.useOfficialCli: true вместе с vault.scope: "agent".
Текущая настройка obsidian.vaultName является глобальной и не позволяет выбирать
отдельное хранилище Obsidian для каждого агента. Вместо этого используйте инструменты
вики и операции CLI либо оставьте управляемую через Obsidian вики в глобальной области.
Рекомендуемый рабочий процесс
Оставьте активный плагин памяти для извлечения данных
Извлечение, продвижение и Dreaming остаются в ведении настроенного бэкенда памяти.
Включите memory-wiki
Начните с режима isolated, если режим моста не требуется вам явно.
Используйте wiki_search / wiki_get, когда важно происхождение данных
Предпочитайте их memory_search, когда нужны специфичное для вики ранжирование или структура убеждений на уровне страниц.
Используйте wiki_apply для точечного синтеза или обновления метаданных
Не редактируйте управляемые сгенерированные блоки вручную.
Запускайте wiki_lint после значимых изменений
Он обнаруживает противоречия, открытые вопросы и пробелы в происхождении данных.
Включите панели мониторинга для отслеживания устаревших данных и противоречий
Установите render.createDashboards: true (по умолчанию).