OpenClaw × Nowledge Mem
OpenClawを、ロスレスなセッションメモリとツールをまたいで共有されるメモリとともに5分でセットアップします。
エージェント向け
この行をエージェントに渡してください。 まずユニバーサルインストールスキルを使用する必要があります。 このページは引き続き、動作とトラブルシューティングのリファレンスです:
Read https://mem.nowledge.co/SKILL.md and follow the instructions to install or update Nowledge Mem for OpenClaw. Verify with nmem status and the Context Bundle or Working Memory check, then summarize what changed.openclaw plugins install clawhub:@nowledge/openclaw-nowledge-memプラグインを設定すると、OpenClawとの会話が検索可能なスレッドとしてMemに保存されます。
バックグラウンドのcron形式の実行は対象外です。
それでもMemは重要な内容をリンクされたメモリに蒸留でき、他のツール、ドキュメント、インポートで保存したものはエージェントから利用可能なままです。
デフォルトではローカルファーストです。
共有サーバーを使用する場合は、apiUrlと任意のapiKeyを追加してください。
その背後で、Nowledge Memは単にノートを保存する以上のことを行っています。 関連する知識をグラフにリンクし、アイデアがどのように進化するかを追跡し、バックグラウンドで処理を続けることができるため、OpenClawはデイリーブリーフィング、矛盾チェック、複数のソースから構築されたクリスタルの恩恵を受けることができます。
最初の成功状態
最も速い証明はシンプルです。 1つの事実を記憶し、新しいセッションでそれを思い出し、そのセッション自体が検索可能なスレッドとして表示されることを確認します。
ClawHub で公開
このパッケージはClawHubで公開されました。
ソースを明確にしたい場合は、明示的なclawhub:インストール形式を使用してください。
OpenClawはnpmより先にClawHubを解決するため、パッケージ名だけでも機能します。
始める前に
必要なもの:
- Nowledge Memがローカルで実行されていること (インストール)
- OpenClaw 2026.5.3以降 (OpenClawはじめに)。 古い2026.4.xビルドでは、プラグインがインストールされる前に、現在のClawHubパッケージをアーカイブ整合性の不一致で拒否する場合があります。
- PATH上の
nmemCLI。 Nowledge Memで、設定 → 環境設定 → 開発者ツール → CLIをインストール に移動します。 またはスタンドアロンでインストール:pip install nmem-cli
nmem status # should show Nowledge Mem is running
openclaw --versionセットアップ
プラグインをインストールする
openclaw plugins install clawhub:@nowledge/openclaw-nowledge-memインストーラーはプラグインを有効化し、OpenClawのmemoryスロットを自動的にopenclaw-nowledge-memに切り替えます。
現在のOpenClawビルドでは、同じインストールフローでplugins.slots.contextEngineがopenclaw-nowledge-memに設定される場合もあります。
プラグイン0.8.18+はそれを互換エイリアスとして自動的に受け入れます。
現在のOpenClawリリースでは、非バンドルプラグインがスレッド同期のセーフティネットとして使用されるagent_end会話を読み取る前に、明示的な許可が必要です:
openclaw config set plugins.entries.openclaw-nowledge-mem.hooks.allowConversationAccess true --strict-json次に、openclaw config get toolsを実行します。
codingのような制限的なプロファイルを使用している場合は、既存のtools.alsoAllowエントリを保持し、openclaw-nowledge-memを追加してください。
tools.allowがすでに存在する場合は、代わりにそのリストにプラグインIDを追加します。
既存のリストを置き換えたり、個々のnowledge_mem_*ツールを列挙したりしないでください。
プラグインIDはマニフェストで宣言された完全な契約を付与します。
以前のClawHubインストールがdangerous code patterns detectedでブロックされた場合は、
0.8.17+に更新してください。
そのリリースでは、公開された
プラグインアーティファクトからテスト専用ファイルが削除されるため、OpenClawはインストール中に実際のランタイムコードのみをスキャンします。
デフォルトのリゾルバーパスを希望する場合は、これも機能します:
openclaw plugins install @nowledge/openclaw-nowledge-mem最新バージョンに更新するには:
openclaw plugins install clawhub:@nowledge/openclaw-nowledge-mem --forceこれはClawHubからプラグインを更新し、インストール済みのコピーを置き換えます。
ローカルの
OpenClawインストールが以前に特定のプラグインバージョンに固定されていた場合は、
openclaw plugins update openclaw-nowledge-memの代わりにこれを使用してください。
インストール中にOpenClawがarchive integrity mismatchを報告する場合は、
まずOpenClawを更新してから、同じ--forceインストールコマンドを再度実行してください。
安全にカスタマイズする
OpenClawはこのプラグイン用に別のプロジェクト指示ファイルを使用しません。
- 永続的な動作変更には、プラグイン設定とOpenClaw設定を使用します
- 異なるメモリスタイル、言語、想起ポリシーが必要な場合は、エージェントまたはプロンプト設定を使用します
~/.openclaw/extensions/配下のインストール済みプラグインソースにパッチを当てないでください
ホストごとの完全なマップについては、統合動作のカスタマイズを参照してください。
非バンドルプラグインの信頼を固定する (推奨)
OpenClawがplugins.allowが空であると警告する場合は、これを追加してください:
{
"plugins": {
"allow": ["openclaw-nowledge-mem"]
}
}リンクされたコピーやワークスペースコピーも使用している場合は、plugins.load.pathsも確認してください。
OpenClawはインストールの出所ではなく、プラグインIDを許可リストに登録します。
OpenClawを再起動して確認する
openclaw nowledge-mem statusNowledge Memに到達できる場合は、完了です。
openclaw plugins installを使用せずにOpenClaw設定を手動で管理する場合は、plugins.slots.memoryがopenclaw-nowledge-memであり、plugins.entries.openclaw-nowledge-mem.enabledがtrueであることを確認してください。
ローカルモードでは、APIキーは不要です。
代わりにリモートのNowledge Memサーバーに接続する場合は、apiUrlを設定し、そのサーバーで認証が有効になっている場合はapiKeyを追加してください。
スペース
OpenClawは、プロファイルまたはプロセスごとに1つのアンビエントメモリレーンを保持できます。
- 1つのOpenClawプロセスがすでに1つのレーンに属している場合は、
NMEM_SPACE="Research Agent"を使用します。 - または、OpenClaw UIで1つの固定レーンに対してプラグイン設定
spaceを設定します。 - ランチャーがすでに
${OPENCLAW_AGENT_NAME}のような信頼できるレーン変数をエクスポートしている場合にのみ、spaceTemplateを使用してください。
ランタイムがエージェントIDをきれいに公開しない場合は、エージェントごとのマッピングを偽装しないでください。 レーンごとに1つのプロファイルを使用するか、デフォルト のままにしてください。
動作を確認する (1分)
OpenClawチャットで:
/remember We chose PostgreSQL for task events/recall PostgreSQL: すぐに見つかるはずです/new: 新しいセッションを開始します- 質問:
What database did we choose for task events?: セッションをまたいで記憶します - 質問:
What was I working on this week?: 週間アクティビティビュー - 質問:
What was I doing on February 17?: 正確な日付まで /forget PostgreSQL task events: クリーンな削除
7つのステップすべてが機能すれば、メモリシステムは完全に動作しています。
できること
チャットは残ります。 自動化は残りません。
OpenClawで会話すると、それらのターンは後で検索できるスレッドとして保存されます。
プラグインはcron-workerなどの自動化セッションをスキップするため、リストは読みやすいままです。
セッション内で保持する価値のあるものがある場合、Memはそれを構造化されたメモリに蒸留し、sourceThreadIdでチャットを指し示すことができます。
フラットなアーカイブではなく、グラフベースのメモリを使用する
メモリは、関連するエンティティ、同じアイデアの以前と後のバージョン、およびそれらが由来するソース会話にリンクされます。 つまり、OpenClawはキーワード想起以上のことができます。 決定がどのように変わったかを追跡し、接続されたトピックをたどり、答えがどこから来たのかを説明できます。
知識をバックグラウンドで改善させる
Nowledge Memでバックグラウンドインテリジェンスが有効になっている場合、システムはセッション終了後も作業を続けます: 重複の排除、矛盾の表面化、ワーキングメモリブリーフィングの作成、および複数のメモリが保持する価値のあるものに収束したときのクリスタルの作成。 OpenClawは次に作業するときにそれらの出力を読み取ることができます。
何でも、永遠に記憶する
AIに/remember We decided against microservices, the team is too smallと伝えます。
来週、別のセッションで「マイクロサービスに関するあの決定は何でしたっけ?」と尋ねます。
それが見つかります。
日付で作業を閲覧する
「先週の火曜日は何をしていましたか?」と尋ねると、AIはその日に保存したもの、追加したドキュメント、生成されたインサイトをすべてリストします。 「過去N日間」だけでなく、特定の日付を指定して尋ねることができます。
残りのAI作業をOpenClawに取り込む
Claudeで学んだこと、Cursorで決定したこと、ブラウザチャットからキャプチャしたこと、過去のスレッドからインポートしたことは、すべて同じメモリレイヤーの一部になります。 OpenClawは孤島ではありません。 より大きなシステム内の1つの接続されたパスです。
決定の履歴を追跡する
AIに「このアイデアはどのように発展しましたか?」と尋ねると、次のことを示します: それに情報を与えた元のソースドキュメント、より高レベルのインサイトに統合された関連メモリ、そしてあなたの理解が時間とともにどのように変化したか。
オプション: すべてのセッションをすでにコンテキスト内で開始する
sessionContextを有効にすると、コンテキストバンドル / ワーキングメモリと関連メモリが最初の応答の前に注入されます。
これにより、OpenClawは最初のターンから即座にコンテキストを得られます。
デフォルトモードでは、エージェントはメモリツールと短いシステムヒントを引き続き受け取りますが、いつ検索するかを自分で決定します。
テキストだけでなく、構造を持って知識を保存する
AIに何かを記憶するように頼むと、単にテキストを保存するだけではありません。 タイプ (決定、学習、好み、計画...)、それが起こった時期を記録し、関連する知識にリンクします。 タイプ別、日付別、トピック別の検索はすべて、構造があるため機能します。
メモリをそのソース会話まで追跡する
メモリが会話から蒸留された場合、それはsourceThreadIdを含みます。
エージェントはnowledge_mem_thread_fetchで完全な会話を取得し、完全なコンテキスト (何が言われ、何が決定され、結論がどのように到達されたか) を確認できます。
過去の会話を直接検索する
「Redisキャッシュについて議論した会話を見つけて」と尋ねると、エージェントはnowledge_mem_thread_searchを使用して、メッセージスニペット付きの一致するスレッドを見つけます。
次に、nowledge_mem_thread_fetchで完全なメッセージを取得し、長い会話を段階的に取得します。
スラッシュコマンド: /remember, /recall, /forget
仕組み
ターンごとのフロー
メッセージを送信するたびに、プラグインはエージェントが処理する前に行動ガイダンスを注入します。 その後、エージェントは呼び出すツールを決定します。
行動スキルと常時オンのフックは、エージェントに 答える前に検索する ことと 決定した後に保存する ことを促します。 各ツールがいつ発火するかは次のとおりです:
| シナリオ | ツール | 何が起こるか |
|---|---|---|
| ユーザーが質問する | memory_search | 答える前に知識ベースを検索します。利用可能な場合はsourceThreadIdを返します。 |
| 決定がなされ、インサイトを学んだ | nowledge_mem_save | 構造化保存: タイプ + ラベル + 時間的コンテキスト。 |
| 「先週は何をしていましたか?」 | nowledge_mem_timeline | 日ごとにグループ化されたアクティビティフィード。正確な日付範囲をサポートします。 |
| 「XはYとどのように接続されていますか?」 | nowledge_mem_connections | グラフウォーク: エッジ、エンティティ、EVOLVESチェーン、来歴。 |
| 起動コンテキストまたは今日のフォーカス/優先事項が必要 | nowledge_mem_context | 利用可能な場合はコンテキストバンドルを読み取り、ワーキングメモリにフォールバックします。 |
メモリにsourceThreadIdがある | nowledge_mem_thread_fetch | ページネーション付きで完全なソース会話を取得します。 |
| 「Xについての議論を見つけて」 | nowledge_mem_thread_search | キーワードで過去の会話を検索します。 |
| 「Xを忘れて」 | nowledge_mem_forget | IDまたは検索クエリで削除します。 |
| 「セットアップは機能していますか?」 | nowledge_mem_status | 設定、接続性、バージョンを表示します。 |
セッションライフサイクル (自動キャプチャ)
セッションが終了すると、会話は自動的にキャプチャされ、オプションで構造化されたメモリに蒸留されます。
重要なポイント:
- OpenClawで実際にチャットしているセッションは自動的に保存されます。 それらは他のアシスタントからのスレッドと同様にMemに表示されます。
- 分離されたcronやその他の自動化セッションはキャプチャされません。
OpenClawはそれらに別のキーを与えます。
診断で
cron-workerに気付くかもしれません。 それらをスレッドから除外することは意図的です。 - 蒸留は、トランスクリプトが通常のパス (
agent_end、または各コンテキストエンジンのターン) で増加したときに実行されます。 コンパクションのみのチェックポイントは、それ自体では新しい蒸留パスをトリガーしません。 - コンテキストエンジンを有効にすると、プロンプトの組み立てはそこに移動しますが、スレッドキャプチャは引き続きライフサイクルフックをバックストップとして保持します。 これにより、重複したスレッドを作成することなく、セッション同期がより回復力を持ちます。
- 蒸留されたメモリには
sourceThreadIdが含まれるため、ソース会話を開くことができます。
段階的取得 (メモリからスレッド、メッセージへ)
会話から蒸留されたメモリはsourceThreadIdを持ちます。
これによりチェーンが作成されます: メモリを検索し、ソース会話まで追跡し、ページネーション付きで完全なメッセージを読み取ります。
過去の会話への2つのエントリポイント:
- メモリから:
memory_searchまたはmemory_getがsourceThreadIdを返し、次にソース会話を取得します - 直接検索:
nowledge_mem_thread_searchがキーワードで会話を見つけ、次に任意の一致を取得します
3つのモード
プラグインは3つの動作モードをサポートしています。 どれだけ保証したいか、どれだけのトークン予算を使うかによって選択してください。
| モード | 設定 | 動作 | トークンコスト |
|---|---|---|---|
| デフォルト (推奨) | sessionContext: false | エージェントはオンデマンドで10個のツールを呼び出します。会話はセッション終了時にキャプチャ + 蒸留されます。 | 最低のオーバーヘッド。エージェントがいつ検索するかを決定します。 |
| セッションコンテキスト | sessionContext: true | コンテキストバンドル / ワーキングメモリ + 関連メモリがプロンプト時に注入され、さらに10個のツールすべてが引き続き利用可能です。 | ターンごとのコンテキストコストは高くなりますが、コンテキストは最初のターンから存在します。 |
| 最小 | sessionDigest: false | ツールのみ、自動キャプチャなし。 | 常時オンのシステムヒントのみによる小さなオーバーヘッド。 |
どのモードを使用すべきですか?
- ほとんどのユーザー: デフォルトから始めてください。 エージェントは、答える前に検索し、決定した後に保存するように促す行動ガイダンスを受け取ります。 ほとんどの会話でうまく機能します。
- 短いセッションまたは重要な精度:
sessionContextを有効にします。 これにより、関連するメモリが最初のターンから存在することが保証されます。 エージェントは検索するかどうかを決定する必要がありません。 トレードオフは、各ターンでより大きなプロンプトになることです。 - 完全な手動制御:
sessionDigest: falseを設定します。 何が保存されるかを制御し (/rememberまたはnowledge_mem_save経由)、何も自動的にキャプチャされません。
sessionContext - 自動コンテキスト注入
有効にすると、プラグインはプロンプト時にコンテキストを注入します:
- 利用可能な場合は コンテキストバンドル を読み取ります: オーナーID、エージェントID、アクティブスペース、ルール、ワーキングメモリ、KFSパス。
古い
nmemクライアントはワーキングメモリにフォールバックします。 - ナレッジグラフで 現在のプロンプトに関連するメモリ を検索します
- 想起された資料をシステムプロンプト空間の実行固有のコンテキストとして追加するため、安定したプレフィックスがキャッシュされたままになり、トークンコストが低く抑えられます
sessionContextがオンの場合、行動ガイダンスは自動的に調整されます。
コンテキストがすでに注入されていることをエージェントに伝えるため、memory_searchは広範な想起ではなく、特定のフォローアップクエリにのみ使用すべきです。
これにより、同じコンテキストに対する冗長な検索が防止されます。
エージェントが積極的に検索するのを待たずに、即座にコンテキストを与えるのに役立ちます。 保証された想起が必要な短いセッションや重要なワークフローに最適です。
sessionDigest - スレッドキャプチャ + LLM蒸留 (デフォルト: オン)
デフォルトでオンです。
セッションライフサイクルイベント (agent_end, after_compaction, before_reset) で2つのことが起こります:
1. スレッドキャプチャ (インタラクティブセッション)。 完全なチャットがMemスレッドに追加され、nowledge_mem_thread_searchで検索可能なままになります。
Cronやその他の分離された自動化は異なるセッションキーを使用します。
プラグインはそれらをスキップするため、スケジュールされた実行が自分で開始した会話の隣に並ぶことはありません。
2. LLM蒸留 (価値がある場合)。 スレッドキャプチャ後、軽量なLLMトリアージが会話に保存する価値のあるコンテンツ (決定、インサイト、好み) が含まれているかを判断します。 含まれている場合、完全な蒸留パスが適切なタイプ、ラベル、時間データを持つ構造化されたメモリを抽出します。任意の言語 で機能します。
コンテキストコンパクション: OpenClawが長い会話を圧縮すると、プラグインは最初にトランスクリプトをキャプチャします。 何も失われません。
重複排除: スレッドの追加はメッセージIDによって冪等です。 重複はありません。
よくある質問
エージェントは常に答える前に検索しますか?
プラグインは想起を駆動するために2つのレイヤーを使用します。
まず、行動スキル (OpenClawによって自動検出される) が、メモリツールをいつどのように使用するかをエージェントに教えます。
次に、短い常時オンのシステムヒントが、以前の作業、決定、好みに関する質問に答える前に検索するように促します。
実際には、現代のLLMは知識関連の質問に対してこの指示ガイダンスに確実に従います。
過去のコンテキストを必要としないメッセージの場合、エージェントは検索をスキップしますが、これは正しいトレードオフです。
ユースケースで保証された想起が重要な場合は、sessionContext: trueを有効にしてください。
これにより、エージェントがメッセージを処理する前に、関連するメモリがプロンプト時に注入されます。
エージェントが同じものを2回保存するのを防ぐものは何ですか?
2つのレイヤーがあります。 まず、プラグインは保存する前にほぼ同一の既存メモリをチェックします。 非常に高い類似性を持つメモリがすでに存在する場合、保存はスキップされ、代わりに既存のメモリが返されます。 次に、Nowledge Memのバックグラウンドインテリジェンスがバックグラウンドで実行され、より深い重複排除を処理し、メモリ間の意味的な重複を特定し、EVOLVESチェーン (置き換え、強化、確認、または異議) を介してそれらをリンクします。 プラグインは明らかな重複をキャッチし、バックグラウンドインテリジェンスは微妙なものをキャッチします。
明示的に保存しない会話はどうなりますか?
sessionDigestがオン (デフォルト) の場合、OpenClawでのチャットは検索可能なスレッドとして保存されます。
境界はOpenClaw自身のセッションライフサイクルに従います: 1つのアクティブなチャットが1つのMemスレッドになり、/newまたは/resetが新しいスレッドを開始し、コンパクション中のトランスクリプトローテーションは同じスレッド内にとどまります。
コンテキストエンジンキャプチャとフックベースのキャプチャは依然として同じ会話に収束します。
temp:*やサブエージェント実行などのヘルパーセッションはフィルタリングされるため、最近のスレッドは実際のチャットに焦点を当てたままになります。
後でnowledge_mem_thread_searchでそれらを見つけることができます。
小さなLLMパスが豊富なセッションを構造化されたメモリに昇格させる場合があります。
カジュアルな雑談は通常スレッドで止まります。
Cron実行はこのパスに入りません。
メモリは古くなる可能性がありますか?
はい、そしてそれは設計によるものです。 Nowledge MemのEVOLVESチェーンは、理解がどのように変化するかを追跡します: 新しいメモリが古いものを置き換えたり、強化したり、異議を唱えたりする可能性があります。 バックグラウンドインテリジェンスはこれらの関係を自動的に特定します。 検索すると、関連性スコアリングは新しさを考慮するため、デフォルトでは新しいメモリが上位にランクされます。
設定
通常のnpmインストールでは設定は不要です。 インストーラーはすでにプラグインを有効化し、メモリスロットを選択しています。
設定を変更するには、OpenClawダッシュボードを開き、自動化 > プラグイン に移動します。プラグインエントリ の下で、Nowledge Memを展開し、次にNowledge Mem設定 を展開します。 検索バーに「nowledge」と入力して直接そこにジャンプすることもできます。

変更はOpenClawを再起動した後に有効になります。
| 設定 | デフォルト | 何をするか |
|---|---|---|
| セッションコンテキスト注入 | オフ | プロンプト時にコンテキストバンドル / ワーキングメモリ + 関連メモリを注入します |
| 終了時のセッションダイジェスト | オン | セッション終了時に会話をキャプチャ + 主要なメモリを蒸留します |
| 最小ダイジェスト間隔 | 300s | セッションダイジェスト間の秒数 (0 = 制限なし) |
| 最大コンテキスト結果 | 5 | プロンプト時に注入するメモリ (1-20) |
| 最小想起スコア | 0 | このしきい値を超えるスコアのメモリのみを注入します (0-100%)。0はすべての結果を含みます。 |
| 最大スレッドメッセージ文字数 | 800 | キャプチャされたスレッドメッセージごとに保持される文字数 (200-20000)。長いコードや技術的な会話の場合は増やしてください。 |
| コーパス補足 | オフ | あなたの知識をOpenClawのドリーミングシステムに供給します (以下を参照) |
| コーパス最大結果 | 5 | ドリーミング検索ごとの最大結果 (1-20) |
| コーパス最小スコア | 0 | ドリーミング結果の最小スコア (0-100%)。0はすべてを含みます。 |
| ドリーミング | OpenClawによって管理 | オプションのOpenClawドリーミング設定。Nowledge Memがメモリスロットを所有している場合、OpenClawはそのネイティブのdreamingオブジェクトをここに保存する場合があります。memory-coreは引き続きドリーミングエンジンを実行します。 |
| サーバーURL | 空 | リモートサーバーURL (空 = ローカル) |
| APIキー | 空 | リモートアクセス用のAPIキー |
リモートアクセス
別のマシン上のNowledge Memサーバーに接続するには、このマシンを一度設定します:
nmem config client set url https://<your-url>
nmem config client set api-key nmem_...これにより、このマシン上のnmem、OpenClaw、Bub、Claude Code、およびその他の統合で使用される共有ローカルクライアント設定が書き込まれます。
OpenClawダッシュボードのプラグイン設定で サーバーURLとAPIキー を設定することもできます。
同じ解決された認証情報がプラグインのどこでも使用されます: CLIベースのメモリツールとAPIベースのスレッド同期は両方とも同じapiUrlとapiKeyに従います。
APIキーはログやコマンド履歴に表示されることはありません。
どこからでもMemにアクセスを参照してください。
トラブルシューティング
プラグインはインストールされているが、OpenClawがそれを使用していない
plugins.slots.memoryが正確にopenclaw-nowledge-memであること、および設定を編集した後にOpenClawを再起動したことを確認してください。
plugins.allow is empty警告
これは、OpenClawがまだ明示的な許可リストエントリのない非バンドルプラグインを見つけたことを意味します。 これがnpmでインストールされたプラグインである場合は、次を追加してください:
{
"plugins": {
"allow": ["openclaw-nowledge-mem"]
}
}plugins.load.pathsまたはリンクされたワークスペースコピーも使用している場合は、それらのパスも確認してください。
OpenClawはインストールの出所ではなく、IDを許可リストに登録します。
「重複プラグインIDが検出されました」警告
これは、以前にプラグインをローカルでインストールし (例: --linkで)、その後npmからインストールした場合に発生します。
OpenClawは両方の場所からそれを読み込んでいます。
設定からローカルパスを削除して修正します:
~/.openclaw/openclaw.jsonを開き、ローカルプラグインディレクトリを指すplugins.load.pathsエントリを削除します:
"load": {
"paths": []
}次にOpenClawを再起動します。 警告は消え、npmでインストールされたバージョンのみが読み込まれます。
ステータスが応答なしと表示される
nmem status
curl -sS http://127.0.0.1:14242/healthメモリツールは機能するが、セッション自体がスレッドに表示されない
通常のチャットセッション内でnowledge_mem_statusを実行し、次を確認してください:
sessionDigestがまだオンである- バックエンドに到達可能である
- どのキャプチャルートがアクティブであるか
- OpenClawをまだ再起動せずに最近プラグイン設定を変更したかどうか
plugins.slots.contextEngine: "nowledge-mem"を有効にした場合、プラグイン0.8.6+はスレッド同期のセーフティネットとしてライフサイクルフックを保持します。
現在のOpenClawインストーラービルドでは、plugins.slots.contextEngineが代わりにopenclaw-nowledge-memである場合があります。
プラグイン0.8.18+はそれを同じエンジンとして扱います。
0.8.5以前では、有用な分離ステップはcontextEngineスロットを一時的に削除し、OpenClawを再起動し、フックのみのパスでスレッドキャプチャが戻るかどうかを確認することです。
OpenClawのアップグレード直後にスレッドの更新が停止した場合は、Nowledge Memプラグインを更新し、OpenClawを再起動してください。
プラグイン0.8.24+は、OpenClawのCodexランタイムからの新しいターンごとのキャプチャイベントを処理します。
プラグイン0.8.27+は、must declare contracts.tools before registering agent toolsをログに記録するOpenClawビルドにも必要です。
そのエラーは、キャプチャフックが実行される前にOpenClawがプラグインのツールを拒否したことを意味します。
OpenClaw 2026.6.11は数値のメッセージタイムスタンプを発行します。
プラグイン0.8.30+はそれらをMemスレッドで使用されるテキストタイムスタンプ契約に変換します。
また、OpenClawがagent_endフォールバックをブロックしているときにも報告します。
アップグレード後にアクセスを許可して再起動してください:
openclaw config set plugins.entries.openclaw-nowledge-mem.hooks.allowConversationAccess true --strict-json
openclaw gateway restartOpenClawは再起動後にプラグイン設定の変更を適用します。
sessionDigestが以前にオフにされていたが、OpenClawがまだ再起動されていなかった場合、スレッド同期は次の再起動まで機能し続けているように見え、その後停止する可能性があります。
健全なOpenClawスレッド同期は次のようになります:
- 1つのアクティブなOpenClawチャットが1つのMemスレッドになる
/newまたは/resetを実行すると新しいMemスレッドが開始される- コンパクションは同じチャットに対して2番目のスレッドをフォークしない
temp:slug-generatorのようなヘルパーセッションが表示されない- 合成
/new//reset起動プロンプトが最初のユーザーメッセージとして保存されない
最近同期されたスレッドを直接検査するには:
nmem t list --source openclaw -n 20memory_searchとmemory_getのみが機能し、保存はローカルファイルに送られる
まずopenclaw config get toolsを実行します。
codingのような制限的なプロファイルがアクティブな場合は、そのポリシーを保持し、openclaw-nowledge-memをtools.alsoAllowに追加してください。
tools.allowがすでに存在する場合は、そこにプラグインIDを追加します。
次にメモリスロットを確認します。
OpenClaw 3.22+ では、明示的なスロットが設定されていない場合、メモリスロットはデフォルトでmemory-coreになるため、手動インストールまたはアップグレードではスロットを再度設定する必要がある場合があります。
設定に明示的なスロットがあることを確認します:
{
"plugins": {
"slots": { "memory": "openclaw-nowledge-mem" }
}
}または、スロットを自動的に設定する再インストールを行います:
openclaw plugins install clawhub:@nowledge/openclaw-nowledge-memいずれの変更後もOpenClawを再起動してください。
プラグインツールが利用できない
プラグインの信頼とツールポリシーは別々のゲートです。
プラグインがplugins.allowにあることを確認してください:
{
"plugins": {
"allow": ["openclaw-nowledge-mem"]
}
}次にopenclaw config get toolsを検査します。
制限的なプロファイルでは、明示的なtools.allowがすでに存在しない限り、tools.alsoAllowにopenclaw-nowledge-memが必要です。
その場合は、そこにプラグインIDを追加します。
既存のエントリを保持してください。
個々のnowledge_mem_*名をリストしないでください。
プラグインIDを使用すると、付与されたサーフェスがマニフェストと整合したままになります。
多くの同時エージェントで検索が遅い
多くのエージェントを並行して実行する場合 (10以上)、すべての操作が単一のデータベース接続を共有するため、検索パフォーマンスが低下する可能性があります。 推奨事項:
- Nowledge Mem v0.6.12+ (バックエンド) にアップグレードします: スコアリング書き込みが検索応答をブロックしなくなります
- エージェントがCLIトランスポートを使用している場合は、プラグイン設定でリモートAPI URLを設定してサブプロセスのオーバーヘッドを減らすことを検討してください
検索が返す結果が少なすぎる
maxContextResultsを8または12に上げてください。
なぜNowledge Memなのか?
他のメモリツールは、あなたが言ったことをテキストとして保存し、意味的類似性で取得します。 Nowledge Memは異なります。
知識には構造があります。 すべてのメモリは、それがどのタイプ (決定、学習、計画、好み) であるか、いつ起こったか、どのソースドキュメントから来たか、他のメモリとどのように関連しているかを知っています。 それが検索を正確にし、推論を信頼できるものにします。
知識は進化します。 今日書いた理解は、3か月後に保存した更新バージョンに接続します。 中間ステップを失うことなく、あなたの考えがどのように変化したかを見ることができます。
知識には来歴があります。 PDF、ドキュメント、またはWebページから抽出されたすべての知識は、そのソースにリンクして戻ります。 AIが「あなたの3月の設計ドキュメントに基づいて」と言うとき、それを検証できます。
知識はツールをまたいで移動します。 Cursorで学んだこと、Claudeで保存したこと、ChatGPTで洗練したことは、すべてOpenClawで利用できます。 あなたの知識はあなたのものであり、特定のツールのものではありません。
ローカルファースト、クラウド不要。 あなたの知識はあなたのマシン上にあります。 リモートアクセスは必要なときに利用可能であり、デフォルトで強制されるものではありません。
検索ランキングの仕組み: 検索と関連性。
memory-coreとの連携 (v0.8.0+)
デフォルトのセットアップでは、Nowledge Memがメモリスロットになります。 完全なツールサーフェスと10個のツールすべてを取得します。 ほとんどのユーザーはここにとどまるべきです。
一部のユーザーは、OpenClawの組み込みmemory-coreをメモリスロットとして保持することを好みます。
memory-coreにはMEMORY.md管理とドリーミング (頻繁に想起されたコンテンツを定期的に長期ストレージに昇格させる実験的な統合システム) があります。
プラグインは両方のパスをサポートしています。
corpusSupplementが有効な場合、memory-coreの想起パイプラインはNowledge Memナレッジグラフを直接検索できます。
Claude、Cursor、ChatGPT、または他のツールから保存したメモリは、memory-coreの検索結果に表示され、ドリーミングに供給されます。
このセットアップには0.8.15以降を使用してください。
以前のビルドでは、memory-coreの隣でプラグインが事実上非アクティブのままになる可能性があり、一部のユーザーは補足モードを維持するためだけにローカルソースファイルにパッチを当てていました。
コーパス補足が行うこと
memory-coreが検索を実行すると、Nowledge Memにもクエリを送信します。 ナレッジグラフからの結果は、memory-core自身の結果と並んで表示され、一緒にスコアリングおよびランク付けされます。 これは次を意味します:
- memory-coreの想起には、ツールをまたいだあなたの知識が含まれます
- ドリーミング (実験的) は、頻繁に想起されたNowledge Memコンテンツを
MEMORY.mdに昇格させることができます - 週間パターン抽出は、あなたのナレッジグラフとmemory-coreのデータの間の接続を見つけることができます
セットアップ
メモリスロットをmemory-coreのままにします (または未設定のままにします)。
次に、プラグイン設定でcorpusSupplement: trueを設定するか、環境変数NMEM_CORPUS_SUPPLEMENT=true経由で設定します。
プラグインは重複排除を自動的に処理します。 Nowledge Memがメモリスロットの場合、想起を直接処理します。 memory-coreがメモリスロットでコーパス補足がオンの場合、代わりにmemory-coreのパイプラインに供給します。 同じコンテンツを2回取得することはありません。
OpenClawがNowledge Memプラグインエントリの下にトップレベルのdreamingオブジェクトを保存する場合、それは正常です。
OpenClawは現在、選択されたメモリスロット所有者にドリーミング設定を書き込みます。
プラグインはその設定を受け入れるため、memory-coreはNowledge Memと並んでドリーミングエンジンを実行し続けることができます。
どのように決定するか
| セットアップ | 最適な用途 |
|---|---|
| Nowledge Memをメモリスロットとして (デフォルト) | 10個のツールすべて、構造化されたメモリタイプ、スレッド来歴。1つのシステムがすべてを管理します。 |
| memory-core + コーパス補足 | memory-coreのMEMORY.mdワークフローを使用するか、ドリーミングを希望する場合。ツールをまたいだあなたの知識は引き続き供給されます。 |
キャプチャと蒸留はどちらの方法でも同じように機能します。 違いは、想起と長期統合をどちらのシステムが処理するかです。
コンテキストエンジン (v0.7.0+)
プラグインv0.7.0以降、Nowledge Memはプロンプトフックとしてだけでなく、OpenClawの完全な コンテキストエンジン として実行できます。 これにより、OpenClawのライフサイクルとのより深い統合が得られます:
- メモリ対応コンパクション: OpenClawが長い会話を圧縮するとき、ナレッジグラフにすでに保存されている主要な決定と学習は、要約で失われるのではなく、参照によって保持されます
- サブエージェントメモリ伝播: OpenClawが並列リサーチエージェントを生成すると、それらは自動的にあなたのメモリコンテキストを継承します
- セッションブートストラップ: コンテキストバンドルまたはワーキングメモリが最初のターンの前に事前に読み込まれるため、コンテキストが即座に準備されます
- ターンごとのキャプチャ: 会話はセッション終了時だけでなく、毎ターン後にキャプチャされます
有効化するには、OpenClaw設定にこれを追加します:
{
"plugins": {
"slots": {
"memory": "openclaw-nowledge-mem",
"contextEngine": "nowledge-mem"
}
}
}コンテキストエンジンを有効化しない場合、既存のフックベースのセットアップは以前とまったく同じように機能し続けます。
有効化する場合、コンテキストエンジンがプロンプトの組み立てとターンごとのキャプチャを処理し、ライフサイクルフックはスレッド同期のための静かな信頼性バックストップとして残ります。 この分割は意図的です: キャプチャを単一のランタイムパスに依存させることなく、コンテキスト注入をクリーンに保ちます。
上級ユーザー向け
OpenClawのMEMORY.mdワークスペースファイルは、ワークスペースコンテキスト用に引き続き機能します。
メモリツール呼び出しはNowledge Memによって処理されますが、両方は共存できます。
プラグインは、そのトランスポートパス全体で1つの共有接続設定を使用します。
ほとんどのメモリ操作は引き続きnmemを使用しますが、会話スレッド同期はMemサーバーと直接通信するため、大きなセッションは巨大なコマンドライン引数ではなく通常のリクエストボディで送信されます。
アドレスは一度設定するだけで、ローカルモードとリモートモードはユーザーの視点からは同じように機能し続けます。
関連
- コネクタの概要: ネイティブコネクタ、再利用可能なパッケージ、MCP、ブラウザキャプチャ
- Claude Code · Claude Desktop · Codex · Alma · Raycast · その他のチャットAI
リファレンス
- プラグインソース: nowledge-mem-openclaw-plugin
- OpenClawドキュメント: プラグインシステム
- 変更履歴: CHANGELOG.md
