Plugin guides

Вікі пам’яті

memory-wiki — це вбудований Plugin, який компілює довготривалі знання в зручну для навігації вікі: детерміновані сторінки, структуровані твердження з доказами, походження даних, панелі огляду та машиночитні дайджести.

Він не замінює Plugin активної пам’яті. Пригадування, просування, індексування та Dreaming залишаються у віданні налаштованого бекенда пам’яті (memory-core, QMD, Honcho тощо). memory-wiki працює поруч із ним і компілює знання в підтримуваний шар вікі.

Шар Відповідає за
Plugin активної пам’яті Пригадування, семантичний пошук, просування, Dreaming, середовище виконання пам’яті
memory-wiki Скомпільовані вікісторінки, синтези з докладним походженням даних, панелі огляду, пошук/отримання/застосування вікі

Практичне правило:

  • memory_search для одного широкого проходу пригадування всіма налаштованими корпусами
  • wiki_search / wiki_get, коли потрібні специфічні для вікі ранжування, походження даних або структура переконань на рівні сторінки
  • memory_search corpus=all, щоб охопити обидва шари одним викликом, якщо Plugin активної пам’яті підтримує вибір корпусу

Поширене налаштування з пріоритетом локальної роботи: QMD як бекенд активної пам’яті для пригадування та memory-wiki у режимі bridge для довготривалих синтезованих сторінок. Див. приклад QMD + режиму мосту в розділі Конфігурація.

Якщо режим мосту повідомляє про нуль експортованих артефактів, Plugin активної пам’яті наразі не надає загальнодоступних вхідних даних мосту. Спочатку виконайте openclaw wiki doctor, а потім переконайтеся, що Plugin активної пам’яті підтримує загальнодоступні артефакти.

Режими сховища

  • isolated (типово): власне сховище, власні джерела, без залежності від Plugin активної пам’яті. Використовуйте для самодостатнього впорядкованого сховища знань.
  • bridge: зчитує загальнодоступні артефакти пам’яті та журнали подій із Plugin активної пам’яті через загальнодоступні інтерфейси SDK плагінів. Використовуйте для компіляції експортованих артефактів Plugin пам’яті без доступу до його приватної внутрішньої реалізації.
  • 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, тому вони бачать той самий контекст активного Plugin пам’яті, що й пам’ять агента/середовища виконання. Якщо міст вимкнено або читання артефактів неактивне, ці команди зберігають локальну/офлайн-поведінку.

Структура сховища

text
<vault>/  AGENTS.md  WIKI.md  index.md  inbox.md  entities/  concepts/  syntheses/  sources/  reports/  _attachments/  _views/  .openclaw-wiki/

Керований вміст залишається всередині згенерованих блоків; блоки нотаток, створені людьми, зберігаються під час повторного генерування.

  • sources/: імпортовані необроблені матеріали та сторінки, що підтримуються мостом або unsafe-local
  • 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 у frontmatter; відсутній type спричиняє попередження missing-type, а файл пропускається
  • невідомі значення type приймаються як загальні концепції
  • index.md і log.md зарезервовані та ніколи не імпортуються як концепції
  • пошкоджені або зовнішні Markdown-посилання залишаються без змін

Імпортовані сторінки розміщуються в плоскій структурі в concepts/, щоб наявні процеси компіляції, пошуку, отримання та створення панелей огляду бачили їх без другого дерева вікі. Кожна сторінка зберігає початковий ідентифікатор концепції OKF, шлях до джерела, type, resource, tags, часову позначку та повний frontmatter виробника. Внутрішні посилання OKF переписуються на згенеровані сторінки концепцій вікі, а також створюють структуровані записи relationships із kind: okf-link.

Структуровані твердження та докази

Сторінки містять структурований frontmatter 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:- Alex- example-handleprivacyTier: local-privatebestUsedFor:- Example ecosystem routingnotEnoughFor:- legal approvallastRefreshedAt: "2026-04-29T00:00:00.000Z"personCard:handles:  - "@example-handle"socials:  - "https://x.example/example-handle"emails:  - alex@example.comtimezone: America/Chicagolane: Example ecosystemaskFor:  - Example rollout questionsavoidAskingFor:  - unrelated billing decisionsconfidence: 0.8privacyTier: confirm-before-userelationships:- targetId: entity.other-person  targetTitle: Other Person  kind: collaborates-with  confidence: 0.7  evidenceKind: discrawl-statclaims:- id: claim.example.routing  text: Alex is useful for example-ecosystem routing.  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 поточний режим і область сховища, визначений агент, стан, доступність CLI Obsidian
wiki_search пошук сторінок вікі та, якщо налаштовано, спільного корпусу пам’яті; приймає mode для пошуку особи, маршрутизації запитань, доказів із джерел або детального перегляду необроблених тверджень
wiki_get читання сторінки вікі за ідентифікатором або шляхом із переходом до спільного корпусу пам’яті, якщо ввімкнено спільний пошук і пошук не дав результатів
wiki_apply вузькоспрямовані зміни синтезованого вмісту або метаданих без довільного редагування сторінки
wiki_lint перевірки структури, прогалин у походженні даних, суперечностей і відкритих запитань

Plugin також реєструє невиключне доповнення до корпусу пам’яті, тому спільні memory_search і memory_get можуть звертатися до вікі, якщо активний Plugin пам’яті підтримує вибір корпусу.

Поведінка запиту й контексту

Коли ввімкнено 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 імпортувати загальнодоступні артефакти активного Plugin пам’яті
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, Plugin записує Markdown, сумісний з Obsidian, і за бажанням може використовувати офіційний CLI obsidian для перевірки стану, пошуку в сховищі, відкриття сторінки, виклику команди та переходу до щоденної нотатки. Це необов’язково; вікі продовжує працювати в нативному режимі без Obsidian.

Сховища для окремих агентів також можуть використовувати Markdown, сумісний з Obsidian, але перевірка конфігурації відхиляє поєднання obsidian.useOfficialCli: true із vault.scope: "agent". Поточне налаштування obsidian.vaultName є глобальним і не може вибирати окреме сховище Obsidian для кожного агента. Натомість використовуйте інструменти вікі та операції CLI або залиште вікі під керуванням Obsidian у глобальній області.

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

  • Збережіть активний Plugin пам’яті для пригадування

    Пригадування, просування та 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