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, поэтому используют тот же контекст активного плагина памяти, что и память агента/среды выполнения. Если мост отключён или чтение артефактов выключено, эти команды сохраняют локальное/автономное поведение.

Структура хранилища

text
<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

bash
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, project
  • canonicalId: стабильный ключ идентичности для псевдонимов и импортов
  • aliases: имена, дескрипторы или метки, указывающие на одну и ту же страницу
  • privacyTier: строка свободной формы; public означает, что проверка не требуется, любое другое значение (например, local-private, sensitive, confirm-before-use) отмечается в reports/privacy-review.md
  • bestUsedFor / notEnoughFor: компактные подсказки маршрутизации
  • lastRefreshedAt: временная метка обновления источника, отдельная от времени редактирования страницы
  • personCard: необязательная карточка маршрутизации для человека (дескрипторы, социальные сети, адреса электронной почты, часовой пояс, направление, с какими вопросами обращаться, с какими не обращаться, достоверность, уровень конфиденциальности)
  • relationships: типизированные связи с родственными страницами (цель, тип, вес, достоверность, тип доказательства, уровень конфиденциальности, примечание)

Для вики о людях начните с reports/person-agent-directory.md, а затем откройте страницу человека с помощью wiki_get, прежде чем использовать контактные данные или выведенные факты.

Пример страницы сущности
yaml
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:

json5
{  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 добавляет нормализованный идентификатор агента:

json5
{  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 компилирует стабильные сущности, утверждения, панели мониторинга и страницы источников.

json5
{  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

bash
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 (по умолчанию).

  • Связанные документы

    Was this useful?
    On this page

    On this page