Skip to main content
memory-wiki は、永続的な知識をナビゲーション可能な wiki にコンパイルする同梱 Plugin です。決定論的なページ、根拠を伴う構造化された主張、来歴、ダッシュボード、機械可読なダイジェストを提供します。 Active Memory Plugin を置き換えるものではありません。想起、昇格、インデックス作成、Dreaming は、設定されたメモリバックエンド (memory-core、QMD、Honcho など)が引き続き所有します。memory-wiki はその隣で動作し、知識を保守される wiki レイヤーへコンパイルします。 CLI、ツール、ランタイム統合を使用する前に Plugin を有効にします。
実用上のルール:
  • 設定されているすべてのコーパスを横断して、広範な想起を 1 回実行するには memory_search
  • wiki 固有のランキング、来歴、またはページレベルの信念構造が必要な場合は wiki_search / wiki_get
  • Active Memory Plugin がコーパス選択をサポートしている場合、1 回の呼び出しで両方のレイヤーを横断するには memory_search corpus=all
一般的なローカルファースト構成では、想起用の Active Memory バックエンドとして QMD を使用し、永続的な統合ページ用に memory-wikibridge モードで使用します。設定にある QMD + ブリッジモードの例を参照してください。 ブリッジモードでエクスポートされたアーティファクトが 0 件と報告される場合、Active Memory Plugin は現在、公開ブリッジ入力を公開していません。まず openclaw wiki doctor を実行し、Active Memory Plugin が公開アーティファクトをサポートしていることを確認してください。

Vault モード

  • isolated(デフォルト):独自の Vault とソースを持ち、Active Memory Plugin に依存しません。自己完結型の精選された知識ストアに使用します。
  • bridge:公開 Plugin SDK の境界を通じて、Active Memory Plugin から公開メモリアーティファクトとイベントログを読み取ります。Plugin の非公開内部へアクセスせずに、Memory Plugin がエクスポートしたアーティファクトをコンパイルする場合に使用します。
  • unsafe-local:ローカルの非公開パスを使用するための、同一マシン上での明示的な非常手段です。意図的に実験的かつ移植不可能です。信頼境界を理解しており、ブリッジモードでは提供できないローカルファイルシステムへのアクセスが特に必要な場合にのみ使用してください。
Vault モードと Vault スコープは別々に選択します。
  • vaultMode は、wiki の入力元を選択します。
  • vault.scope は、すべてのエージェントが 1 つの Vault を使用するか、各エージェントが子 Vault を持つかを選択します。
vault.scope: "global" がデフォルトであり、既存の単一 Vault の動作を維持します。エージェント間で wiki ページ、コンパイル済みダイジェスト、検索結果、または書き込みを共有してはならない場合は、isolated または bridge モードで vault.scope: "agent" を使用します。設定された非公開パスはエージェント所有の入力ではないため、エージェントスコープを unsafe-local モードと組み合わせることはできません。設定検証では、この組み合わせが拒否されます。 ブリッジモードでは、bridge.* 設定トグルに応じて、次の項目をインデックス化できます。
  • エクスポートされたメモリアーティファクト(indexMemoryRoot
  • 日次ノート(indexDailyNotes
  • Dreaming レポート(indexDreamReports
  • メモリイベントログ(followMemoryEvents
ブリッジモードが有効で、bridge.readMemoryArtifacts が有効になっている場合、openclaw wiki statusopenclaw wiki doctoropenclaw wiki bridge import は実行中の Gateway を経由するため、エージェント/ランタイムメモリと同じ Active Memory Plugin コンテキストを参照します。ブリッジが無効な場合、またはアーティファクトの読み取りがオフの場合、これらのコマンドはローカル/オフライン動作を維持します。

Vault のレイアウト

管理対象のコンテンツは生成ブロック内に保持され、人間が記述したノートブロックは再生成後も維持されます。
  • sources/:インポートされた未加工素材、およびブリッジ/unsafe-local によって生成されたページ
  • entities/:永続的な物事、人物、システム、プロジェクト、オブジェクト
  • concepts/:アイデア、抽象概念、パターン、ポリシー(OKF インポートの格納先でもあります)
  • syntheses/:コンパイル済みの要約と保守される集約
  • reports/:生成されたダッシュボード

Open Knowledge Format のインポート

展開済みの Open Knowledge Format バンドルを wiki の概念ページへインポートします。データカタログ、ドキュメントクローラー、またはエンリッチメントエージェントがすでに OKF を生成している場合に適しています。OKF を移植可能な交換アーティファクトとして維持し、memory-wiki によって OpenClaw ネイティブの概念ページとコンパイル済みダイジェストへ変換します。
  • 予約されていない .md ファイルは概念ドキュメントです
  • インポートする各概念には、空でない type frontmatter フィールドが必要です。type がない場合は missing-type 警告が生成され、そのファイルはスキップされます
  • 不明な type 値は、汎用概念として受け入れられます
  • index.mdlog.md は予約済みであり、概念としてインポートされることはありません
  • 壊れた Markdown リンクまたは外部 Markdown リンクは変更されません
インポートされたページは concepts/ の直下にフラット化されるため、既存のコンパイル、検索、取得、ダッシュボードのフローから、2 つ目の wiki ツリーを使わずに参照できます。各ページには、元の OKF 概念 ID、ソースパス、typeresourcetags、タイムスタンプ、および生成元の完全な frontmatter が保持されます。内部 OKF リンクは生成された wiki 概念ページへのリンクに書き換えられ、kind: okf-link を伴う構造化された relationships エントリも生成されます。

構造化された主張と根拠

ページには自由形式のテキストだけでなく、構造化された claims frontmatter が含まれます。各主張には idtextstatusconfidenceevidence[]updatedAt を含めることができます。各根拠エントリには kindsourceIdpathlinesweightconfidenceprivacyTiernoteupdatedAt を含めることができます。 これにより、wiki は受動的なノート置き場ではなく、信念レイヤーとして機能します。主張を追跡、評価、異議申し立てし、ソースまでさかのぼって解決できます。

エージェント向けエンティティメタデータ

エンティティページには、人物、チーム、システム、プロジェクト、その他任意のエンティティタイプで利用できる汎用ルーティングメタデータが含まれます。
  • entityType:例:personteamsystemproject
  • canonicalId:エイリアスやインポートをまたいで安定した識別キー
  • aliases:同じページに解決される名前、ハンドル、またはラベル
  • privacyTier:自由形式の文字列。public はレビュー不要として扱われ、それ以外の値(例:local-privatesensitiveconfirm-before-use)は reports/privacy-review.md でフラグが付けられます
  • bestUsedFor / notEnoughFor:簡潔なルーティングヒント
  • lastRefreshedAt:ページの編集時刻とは別のソース更新タイムスタンプ
  • personCard:任意の人物固有ルーティングカード(ハンドル、ソーシャル情報、メールアドレス、タイムゾーン、担当領域、依頼に適した事項、依頼を避けるべき事項、信頼度、プライバシー階層)
  • relationships:関連ページへの型付きエッジ(対象、種類、重み、信頼度、根拠の種類、プライバシー階層、注記)
人物 wiki では、まず reports/person-agent-directory.md を使用し、連絡先情報や推測された事実を使用する前に、wiki_get で人物ページを開いてください。

コンパイルパイプライン

コンパイル処理は wiki ページを読み取り、要約を正規化し、機械向けスナップショットを OpenClaw の共有 SQLite Plugin 状態に永続化します。ランタイムコードは、ライフサイクルが所有するオーナースナップショットを使用し、非同期のプロンプト準備中に SQLite を読み込みます。同期的なプロンプト組み立てでは、Markdown のスクレイピングやキャッシュファイルの読み取りを行いません。コンパイル済み出力は、検索/取得用の wiki 初期インデックス作成、主張 ID から所有ページへの逆引き、簡潔なプロンプト補足、レポート生成にも使用されます。 ソースの編集と Vault の復元は、次回のコンパイル後にのみ機械向けの状態になります。Plugin のライフサイクルを再起動または更新すると、Vault の因果的に連鎖したコンパイル公開内容が SQLite と比較され、より新しい状態からロールバックされたスナップショットは拒否されます。ロールバック前に開始したコンパイラーは、復元された先行状態に対して公開できません。プロンプト準備では Vault のポーリングもファイルウォッチャーの導入も行いません。 ロールバック隔離後、実行中のプロセスでコンパイルすると、オーナーが即座にクリアされます。別のコンパイラープロセスを使用する場合は、デーモンが新しい永続的な公開内容を確認できるように、Plugin のライフサイクルを更新する必要があります。 コンパイル済みキャッシュは再構築可能です。公開エポックより前のキャッシュ行はミスとして扱われ、次回のコンパイルで置き換えられます。これらは移行されません。

ダッシュボードと健全性レポート

render.createDashboards が有効な場合、コンパイル処理は reports/ 配下のダッシュボードを保守します。

検索と取得

検索バックエンドは 2 つあります。
  • shared:利用可能な場合は共有メモリ検索フローを使用します
  • local:wiki をローカルで検索します
コーパスは 3 つです:wikimemoryall
  • wiki_search / wiki_get は、可能な場合にコンパイル済みダイジェストを初回処理として使用します
  • 主張 ID は所有ページに逆引きされます
  • 異議のある主張、古い主張、新しい主張はランキングに影響します
  • 来歴ラベルは結果にも保持されます
検索モード(--mode / ツールの mode パラメーター): 結果が構造化クレームと一致すると、wiki_search は詳細ペイロードで matchedClaimIdmatchedClaimStatusmatchedClaimConfidenceevidenceKindsevidenceSourceIds を返します。利用可能な場合、テキスト出力には コンパクトな Claim: 行と Evidence: 行が含まれます。

エージェントツール

また、この Plugin は非排他的なメモリコーパス補完を登録するため、アクティブなメモリ Plugin がコーパス選択をサポートしている場合、共有の memory_searchmemory_get から Wiki にアクセスできます。

プロンプトとコンテキストの動作

context.includeCompiledDigestPrompt が有効な場合、メモリプロンプトセクションに Plugin の状態からコンパイルされたコンパクトなスナップショットが追加されます。対象は上位ページのみ、 上位クレームのみ、矛盾数、質問数、信頼度/鮮度の修飾情報です。 プロンプトの形状が変わるため、これはオプトインです。主に、メモリ補完を明示的に使用する コンテキストエンジンやプロンプト組み立て処理に影響します。

設定

設定は plugins.entries.memory-wiki.config の下に配置します。
主な切り替え項目:

エージェントごとの保管庫

設定済みの各エージェントに個別の Wiki を割り当てるには、vault.scopeagent に設定します。 このスコープでは、vault.path は親ディレクトリとなり、OpenClaw が 正規化されたエージェント ID を追加します。
これは ~/.openclaw/wiki/support~/.openclaw/wiki/marketing に解決されます。エージェントスコープで vault.path を省略すると、 親のデフォルトは ~/.openclaw/wiki になります。そのため、デフォルトの main エージェントは 既存の ~/.openclaw/wiki/main パスを維持します。 エージェントツール、コンパイル済みプロンプトダイジェスト、および memory_searchmemory_get を通じて公開される Wiki 補完は、アクティブなエージェントコンテキストから保管庫を解決します。 複数の設定済みエージェントが存在する環境で CLI および Gateway を呼び出す場合は、 openclaw wiki --agent <agentId> ... または Gateway リクエストの agentId を使用してエージェントを明示的に指定します。設定済みエージェントが 1 つだけの場合は、 ID が指定されていなくても引き続きそのエージェントがデフォルトになります。 ブリッジモードでは、エージェントスコープのインポートは、その agentIds に選択したエージェントが含まれる場合に限り、公開メモリアーティファクトを受け入れます。別のエージェントが所有するアーティファクト、 所有権メタデータがないアーティファクト、または所有者が不明なアーティファクトはスキップされます。グローバルスコープでは、 既存の共有アーティファクトの動作が維持されます。
vault.scope を変更しても、既存の保管庫はコピーも分割もされません。エージェントスコープでは、 明示的に設定した vault.path が親ディレクトリになるため、本番環境のエージェントを切り替える前に、 既存のページを意図的に移動またはインポートしてください。最初に 保管庫をバックアップしてください。エージェントごとの保管庫は、同一プロセス内の知識境界であり、オペレーティングシステムの セキュリティ境界ではありません。ホストのファイルシステムにアクセスできる Plugin やサンドボックス化されていないツールは、 引き続き別のエージェントのディレクトリを読み取れます。エージェント同士が信頼し合わない場合は、 サンドボックス化または 個別の Gateway プロファイルを使用してください。

例:QMD + ブリッジモード

検索に QMD を使用し、管理された知識レイヤーとして memory-wiki を使用する場合に、この構成を使用します。 各レイヤーはそれぞれの役割に集中します。QMD は生のノート、セッションの エクスポート、追加コレクションを検索可能な状態に保ち、memory-wiki は 安定したエンティティ、クレーム、ダッシュボード、ソースページをコンパイルします。
これにより、アクティブメモリの検索は引き続き QMD が担い、memory-wiki は コンパイル済みページとダッシュボードに集中し、コンパイル済みダイジェストプロンプトを 意図的に有効化するまではプロンプトの形状も変わりません。

CLI

wiki okf importwiki apply metadatawiki unsafe-local importwiki chatgpt importwiki chatgpt rollback、および wiki obsidian の 全サブコマンドを含む完全なコマンドリファレンスについては、CLI:Wikiを参照してください。

Obsidian のサポート

vault.renderModeobsidian の場合、Plugin は Obsidian 向けの Markdown を書き込み、必要に応じて公式 obsidian CLI を使用して、ステータスの 確認、保管庫の検索、ページを開く操作、コマンドの呼び出し、デイリーノートへの移動を行えます。 これは任意です。Obsidian がなくても、Wiki はネイティブモードで引き続き動作します。 エージェントスコープの保管庫でも Obsidian 向け Markdown を使用できますが、 設定検証では obsidian.useOfficialCli: truevault.scope: "agent" の組み合わせが拒否されます。 現在の obsidian.vaultName 設定はグローバルであり、エージェントごとに異なる Obsidian 保管庫を選択することはできません。代わりに Wiki ツールと CLI 操作を使用するか、 Obsidian で操作する Wiki をグローバルスコープに維持してください。

推奨ワークフロー

1

想起には Active Memory Plugin を維持する

想起、昇格、Dreaming は、設定されたメモリバックエンドが引き続き所有します。
2

memory-wiki を有効にする

ブリッジモードを明示的に使用する場合を除き、isolated モードから開始します。
3

出典が重要な場合は wiki_search / wiki_get を使用する

Wiki 固有のランキングまたはページレベルの信念構造が必要な場合は、memory_search よりもこれらを優先します。
4

範囲を限定した統合またはメタデータの更新には wiki_apply を使用する

管理対象の生成ブロックを手動で編集しないでください。
5

意味のある変更後に wiki_lint を実行する

矛盾、未解決の疑問、出典の欠落を検出します。
6

古い情報や矛盾を可視化するためにダッシュボードを有効にする

render.createDashboards: true(デフォルト)を設定します。

関連ドキュメント