MemoryCore は、TencentDB Agent Memory の中核サーバーです。AIエージェントの会話をL0からL3まで4段階で処理し、SQLiteとローカルファイルに長期記憶として保存します。OpenClawやHermesなどのエージェント基盤とはHTTP Gateway経由で接続し、記憶処理自体はサーバー側に一元化されます。
index.tsはOpenClaw向けの薄いアダプタで、auto-captureとauto-recallのフックを登録し、実処理はsrc/core/tdai-core.tsに委譲します。capture.tsが会話メッセージを抽出・サニタイズしてL0として記録し、l1-extractorがL1の原子的記憶を生成、scene-extractorがL2シーンを作り、persona-generatorがL3プロフィールを合成します。復元時はformat.tsがL1メモリ・L3ペルソナ・シーン索引をプロンプト用のprependContextとappendSystemContextに整形し、ツール呼び出しは1ターンあたり最大3回に制限されます。Gatewayは既定で127.0.0.1:8420で待ち受け、埋め込みプロバイダが無い場合はBM25検索にフォールバックします。
- STEP 01
MemoryCoreディレクトリでnpm installとnpm run buildを実行すると、依存解決とビルドの時間がかかることを体感します。
- STEP 02
TDAI_LLM_API_KEYなどの環境変数を設定してnode --import tsx src/gateway/server.tsを起動すると、127.0.0.1:8420でGatewayが立ち上がります。
- STEP 03
curl http://127.0.0.1:8420/healthで疎通確認をすると、サーバーが生きているかがすぐ分かります。
- STEP 04
install-openclaw-plugin.shを実行してOpenClaw側にプラグインを組み込むと、既存のGatewayに接続するクライアントアダプタが追加されます。
- STEP 05
v2形式の既存データがある場合、v2-to-v3-migrate.pyをdry-runしてから本番実行する手順を踏む必要があり、事前バックアップが前提になっています。
- STEP 06
Dockerでビルドする場合、Dockerfile内でpackage.jsonのpeerDependenciesを削除するパッチが自動適用される様子がビルドログで確認できます。
手元には、SQLiteとローカルファイルにL0会話・L1記憶・L2シーン・L3プロフィールを保持するGatewayサーバーが残ります。HTTP APIとTypeScript・Pythonの各SDKを通じて、OpenClawやHermes、または独自のエージェント実装から記憶の書き込みと復元ができる状態になります。
説明文には「外部APIへの依存ゼロ」とありますが、実際にはOpenAI互換のLLM API資格情報が必須で、記憶抽出やプロフィール生成にはLLM呼び出しが発生します。
Dockerfileのコメントによると、openclawやnode-llama-cppのpeerDependenciesが@jimp/config-typescriptの壊れたworkspace参照を引き込むため、イメージ側でpackage.jsonを書き換える対処をしています。依存関係の脆さがうかがえます。
package.jsonのバージョンは1.0.0-beta.1・2.0.0-beta.1などベータ表記で、安定版としての実績はまだ確認できません。
v1.x・v0.x系からのアップグレードでは、Gateway起動前にPythonの移行スクリプトを手動実行する必要があり、データ形式の互換性は自動では担保されません。
OpenClawやHermesのようなエージェント基盤で、外部のマネージド型ベクトルDBを使わずに単一ノードでローカル完結の長期記憶を持たせたいチームに向いています。index.ts・capture.ts・format.tsといった実コードでL0からL3の処理フローとプロンプト注入の仕組みが具体的に確認でき、Dockerfileのコメントには依存関係の既知の問題への対処まで記載されているため、README上の説明だけでなく実装の作り込みも裏付けられています。ただしLLM資格情報が必須である点とベータ版である点は、導入前に踏まえておく必要があります。