akitaonrails/ai-memory
Solution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors
概要
ai‑memory は、AI 駆動のコーディングアシスタント(Claude Code、OpenAI Codex / Command-Code … など)向けの Rust ベースの自己完結型長期メモリサービスです。開発セッション中にコーディングエージェントで発生するすべてのもの(プロンプトとツール呼び出し)を、ライフサイクルフックを介して自動的に記録し、git バックアップの wiki 内の通常の Markdown ファイルとして保存します。
- クロスエージェント – サポートされている任意のエージェントが読み書きできる共有メモリが 1 つあるため、プロジェクトを再説明することなく Claude Code から Codex に切り替えることができます。
- クロスプロジェクト&クロスマシン – 小さなユーザープロファイルがすべてのリポジトリに追従します。メモリサーバーは任意のマシン(ラップトップ、ホームラボ、Docker など)で実行でき、多くのユーザーがアクセスできます。
- デフォルトでゼロ LLM – キャプチャ、検索、ハンドオフは完全にオフラインで動作します。オプションの LLM 駆動の「ドリーム」統合はオプトインです。
- プレーンテキストの真実のソース – すべてのメモは Markdown ファイルとして存在し、grep で検索したり、Obsidian で編集したり、git でバージョン管理したり、復元したりできます。
- エージングと重複排除 – メモリは設定可能なスケジュールで減衰し、使用ベースの強化、自動圧縮、重複の統合、矛盾のフラグ付けがすべて外部 API なしで行われます。
- チーム対応 – マルチユーザー認証、個人ごとの帰属、監査ログ、プロジェクトごとの共有が組み込まれています。
仕組み
- キャプチャ – エージェントはライフサイクルフックを介してサニタイズされた観察結果を発行します。
- 統合 – セッション終了時に、観察結果は Markdown ページに変換されます(オプションで LLM が作成)。
- リコール – 後続のセッションは wiki を検索(全文、エンティティ、リンク、オプションのベクトル埋め込み)し、簡潔なハンドオフを受け取ることができます。
- ハンドオフ – 次のエージェントがハンドオフを要求し(型付きプロトコル、一度だけ要求)、作業を続行します。
サービスは単一のバイナリ(ai‑memory)として実行され、小さな HTTP/MCP サーバーと高速検索用の派生インデックスをホストします。
主な機能
| 機能 | 説明 |
|---|---|
| マルチエージェント統合 | ファーストパーティフックと MCP 登録を介して 20 以上のエージェント(Claude Code、Codex、Cursor、Gemini CLI、OpenCode、Grok、Devin、Kimi、Kiro など)をサポート。 |
| クロスプロジェクトプロファイル | ユーザーごとのプロファイル(パッケージマネージャー、テストレイアウト、アーキテクチャの習慣)を保存し、新しいリポジトリに自動的に適用。 |
| クロスマシンサーバー | サーバーをローカル、Docker/Podman、systemd サービス、または macOS メニューバーアプリとして実行。 |
| Git バックアップ Markdown wiki | すべてのメモリは .md ファイルとして存在し、インデックスはいつでもリポジトリから再構築可能。 |
| ゼロ LLM デフォルトパス | キャプチャ、検索、ハンドオフは全文検索のみを使用。API キーは不要。 |
| オプションの LLM「ドリーム」 | コールドクラスターを一貫したページに書き換えるバックグラウンドパス(LLM プロバイダーが必要)。 |
| エージングと減衰 | 設定可能な階層別減衰曲線。使用されたページは減衰が遅い。自動圧縮、重複排除、矛盾フラグ付け。 |
| 監査と認証 | マルチユーザー認証、個人ごとの帰属、すべての変更の不変監査ログ。 |
| 自己完結型バイナリ | 単一の実行可能ファイル。AUR、RPM、Docker、macOS アプリ、またはネイティブ zip でインストール。 |
| 拡張可能な検索 | 全文、エンティティ抽出、グラフエッジ。オプションのベクトル埋め込み(OpenAI/Anthropic など経由)。 |
はじめに
- インストール – プラットフォームのパッケージマネージャー(AUR、RPM)、Docker、または macOS
.appを使用します。バイナリにはバックグラウンドサービス用の systemd/launchd ユニットが付属しています。 - 初期化 – データディレクトリを作成し、サービスを起動します:
ai-memory --data-dir ~/.local/share/ai-memory init systemctl --user enable --now ai-memory.service - エージェントを接続 – 使用するエージェント用の MCP クライアントとフックをインストールします:
他のエージェント(codex、cursor など)でも繰り返します。ai-memory install-mcp --client claude-code --apply ai-memory install-hooks --agent claude-code --apply - 実行 – ラッパーを介してコーディングアシスタントを起動し、自動キャプチャを有効にします:
エージェントを切り替えると、次のエージェントが進行状況を要約したハンドオフを受け取ります。ai-memory run claude # フックを添付して Claude Code を起動 ai-memory run codex --yolo
ユースケース
| シナリオ | 利点 |
|---|---|
| ツールの切り替え | タスクの途中で Claude Code から Codex に切り替えても、コンテキストを失わない。 |
| チームコラボレーション | すべてのチームメイトが同じプロジェクトレベルの wiki を共有。個人メモはプライベートのまま。 |
| 長期プロジェクトメモリ | 自動減衰により、頻繁に使用される知識は維持され、古い未使用メモは圧縮される。 |
| オフライン作業 | ゼロ LLM モードは API キーなしで動作。検索とハンドオフは引き続き可能。 |
| 監査とコンプライアンス | 不変監査ログがすべての変更を記録。規制環境に有用。 |
制限と考慮事項
- 「ドリーム」統合とベクトルランキングには、外部 LLM/埋め込みプロバイダーと API キーが必要です。
- ネイティブ Windows サポートはまだ実験的です。Windows ユーザーは通常、Docker または zip インストールで実行します。
- メモリのエージングと圧縮は設定可能です。曲線の調整を誤ると、有用なメモが早く削除される可能性があります。
- このサービスは信頼できる環境を想定しています。Markdown ファイルはプレーンテキストであり、手動で編集できます。
ライセンスとコミュニティ
ai‑memory は MIT ライセンス でリリースされています。開発は Rust(1.95+ が必要)で行われています。プルリクエストによる貢献を歓迎します。プロジェクトは、リストされているすべてのエージェントのサポートマトリックスと CI を維持しています。
上記のすべての情報は、リポジトリの README から直接取得されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト