> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Вики памяти

`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 + режим моста в разделе [Конфигурация](#configuration).

Если режим моста сообщает о нулевом количестве экспортированных артефактов, значит плагин активной памяти
в настоящее время не предоставляет общедоступные входные данные моста. Сначала выполните `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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
<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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
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`, прежде чем использовать контактные данные или выведенные
факты.

> [accordion] Пример страницы сущности
>
> ```yaml theme={"theme":{"light":"min-light","dark":"min-dark"}}
> pageType: entity
> entityType: person
> id: entity.example-person
> canonicalId: maintainer.example-person
> aliases:
>   - Алекс
>   - example-handle
> privacyTier: local-private
> bestUsedFor:
>   - Маршрутизация в демонстрационной экосистеме
> notEnoughFor:
>   - юридическое одобрение
> lastRefreshedAt: "2026-04-29T00:00:00.000Z"
> personCard:
>   handles:
>     - "@example-handle"
>   socials:
>     - "https://x.example/example-handle"
>   emails:
>     - alex@example.com
>   timezone: America/Chicago
>   lane: Демонстрационная экосистема
>   askFor:
>     - Вопросы о развёртывании примера
>   avoidAskingFor:
>     - несвязанные решения по выставлению счетов
>   confidence: 0.8
>   privacyTier: confirm-before-use
> relationships:
>   - targetId: entity.other-person
>     targetTitle: Другой человек
>     kind: collaborates-with
>     confidence: 0.7
>     evidenceKind: discrawl-stat
> claims:
>   - 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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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` включает выбранного агента. Артефакты, принадлежащие другому агенту,
не содержащие метаданных о владельце или имеющие неизвестного владельца, пропускаются.
Глобальная область сохраняет существующее поведение общих артефактов.

> [!WARNING]
>
> Изменение `vault.scope` не копирует и не разделяет существующее хранилище. В области агента
> явно настроенный `vault.path` становится родительским каталогом, поэтому перед
> переключением рабочих агентов намеренно переместите или импортируйте существующие страницы.
> Сначала создайте резервную копию хранилища.
>
> Хранилища для отдельных агентов являются границей знаний внутри одного процесса, а не
> границей безопасности операционной системы. Плагины и инструменты без песочницы, имеющие
> доступ к файловой системе хоста, по-прежнему могут читать каталог другого агента. Используйте
> [песочницу](https://docs2.openclaw.ai/ru/gateway/sandboxing.md) или [отдельные профили Gateway](https://docs2.openclaw.ai/ru/gateway/multiple-gateways.md),
> если агенты не доверяют друг другу.

### Пример: QMD + режим моста

Используйте эту конфигурацию, если хотите применять QMD для извлечения информации, а
`memory-wiki` — в качестве поддерживаемого слоя знаний. Каждый слой сохраняет
свою специализацию: QMD обеспечивает поиск по необработанным заметкам, экспортам сеансов
и дополнительным коллекциям, а `memory-wiki` компилирует стабильные сущности,
утверждения, панели мониторинга и страницы источников.

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
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
```

Полный справочник команд, включая `wiki okf import`, `wiki apply metadata`,
`wiki unsafe-local import`, `wiki chatgpt import` / `wiki chatgpt rollback` и полный набор
подкоманд `wiki obsidian`, см. в разделе [CLI: вики](https://docs2.openclaw.ai/ru/cli/wiki.md).

## Поддержка Obsidian

Когда `vault.renderMode` имеет значение `obsidian`, плагин записывает
Markdown в формате, совместимом с Obsidian, и при необходимости может использовать
официальный CLI `obsidian` для проверки состояния, поиска по хранилищу,
открытия страницы, вызова команды и перехода к ежедневной заметке. Это необязательно:
вики продолжает работать в собственном режиме без Obsidian.

Хранилища в области агента также могут использовать Markdown, совместимый с Obsidian,
но проверка конфигурации отклоняет `obsidian.useOfficialCli: true` вместе с `vault.scope: "agent"`.
Текущая настройка `obsidian.vaultName` является глобальной и не позволяет выбирать
отдельное хранилище Obsidian для каждого агента. Вместо этого используйте инструменты
вики и операции CLI либо оставьте управляемую через Obsidian вики в глобальной области.

## Рекомендуемый рабочий процесс

**1. Оставьте активный плагин памяти для извлечения данных**

Извлечение, продвижение и Dreaming остаются в ведении настроенного бэкенда памяти.

**2. Включите memory-wiki**

Начните с режима `isolated`, если режим моста не требуется вам явно.

**3. Используйте wiki\_search / wiki\_get, когда важно происхождение данных**

Предпочитайте их `memory_search`, когда нужны специфичное для вики ранжирование или структура убеждений на уровне страниц.

**4. Используйте wiki\_apply для точечного синтеза или обновления метаданных**

Не редактируйте управляемые сгенерированные блоки вручную.

**5. Запускайте wiki\_lint после значимых изменений**

Он обнаруживает противоречия, открытые вопросы и пробелы в происхождении данных.

**6. Включите панели мониторинга для отслеживания устаревших данных и противоречий**

Установите `render.createDashboards: true` (по умолчанию).

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

* [Обзор памяти](https://docs2.openclaw.ai/ru/concepts/memory.md)
* [CLI: память](https://docs2.openclaw.ai/ru/cli/memory.md)
* [CLI: вики](https://docs2.openclaw.ai/ru/cli/wiki.md)
* [Обзор SDK плагинов](https://docs2.openclaw.ai/ru/plugins/sdk-overview.md)
