---
read_when:
    - Вам нужны постоянные знания, выходящие за рамки обычных заметок в MEMORY.md
    - Вы настраиваете встроенный плагин memory-wiki
    - Вам нужны отдельные хранилища вики для агентов в одном Gateway
    - Вы хотите разобраться в wiki_search, wiki_get или режиме моста
summary: 'memory-wiki: скомпилированное хранилище знаний с указанием происхождения, утверждениями, панелями мониторинга и режимом моста'
title: Вики памяти
x-i18n:
    generated_at: "2026-07-13T18:22:09Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: cf6c046bfa062b9df6deaa0753d992f9dbc45e2506d6ed4fb1a2836141a901c7
    source_path: plugins/memory-wiki.md
    workflow: 16
---

`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
<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`, прежде чем использовать контактные данные или выведенные
факты.

<Accordion title="Пример страницы сущности">
```yaml
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
```
</Accordion>

## Конвейер компиляции

Компиляция читает страницы вики, нормализует сводки и создаёт стабильные
машиночитаемые артефакты в:

- `.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` включает выбранного агента. Артефакты, принадлежащие другому агенту,
не содержащие метаданных о владельце или имеющие неизвестного владельца, пропускаются.
Глобальная область сохраняет существующее поведение общих артефактов.

<Warning>
Изменение `vault.scope` не копирует и не разделяет существующее хранилище. В области агента
явно настроенный `vault.path` становится родительским каталогом, поэтому перед
переключением рабочих агентов намеренно переместите или импортируйте существующие страницы.
Сначала создайте резервную копию хранилища.

Хранилища для отдельных агентов являются границей знаний внутри одного процесса, а не
границей безопасности операционной системы. Плагины и инструменты без песочницы, имеющие
доступ к файловой системе хоста, по-прежнему могут читать каталог другого агента. Используйте
[песочницу](/ru/gateway/sandboxing) или [отдельные профили Gateway](/ru/gateway/multiple-gateways),
если агенты не доверяют друг другу.
</Warning>

### Пример: 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 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: вики](/ru/cli/wiki).

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

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

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

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

<Steps>
<Step title="Оставьте активный плагин памяти для извлечения данных">
Извлечение, продвижение и Dreaming остаются в ведении настроенного бэкенда памяти.
</Step>
<Step title="Включите memory-wiki">
Начните с режима `isolated`, если режим моста не требуется вам явно.
</Step>
<Step title="Используйте wiki_search / wiki_get, когда важно происхождение данных">
Предпочитайте их `memory_search`, когда нужны специфичное для вики ранжирование или структура убеждений на уровне страниц.
</Step>
<Step title="Используйте wiki_apply для точечного синтеза или обновления метаданных">
Не редактируйте управляемые сгенерированные блоки вручную.
</Step>
<Step title="Запускайте wiki_lint после значимых изменений">
Он обнаруживает противоречия, открытые вопросы и пробелы в происхождении данных.
</Step>
<Step title="Включите панели мониторинга для отслеживания устаревших данных и противоречий">
Установите `render.createDashboards: true` (по умолчанию).
</Step>
</Steps>

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

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