liliang-cn/cortexdb
AI memory and a knowledge graph in one SQLite file. Pure Go: vectors, RAG, agent memory, RDF/SPARQL, Cypher, 80+ MCP tools. Works without an embedding model.
CortexDB – 単一のSQLiteファイルにAI拡張メモリとナレッジグラフを統合
概要 – CortexDBは、AIエージェントの「メモリ」を保存・取得できる純Go製ライブラリです。ベクトルベースの類似検索、全文検索、標準準拠のRDFナレッジグラフを、単一のSQLite(またはPostgreSQL)データベースに統合します。外部サービスや埋め込みモデルは不要で、必要に応じてプラグインを追加できます。
重要性 – 現代のLLMベースのエージェントには、セッションやマシンを超えて存続する事実、コンテキスト、関係性を保持する場所が必要です。CortexDBは、高速でローカル、自己完結型の「脳」を提供し、軽量なgRPCサーバーを介して共有できるため、別々のベクトルストアやグラフデータベースを管理することなく、RAGパイプライン、スコープ付きのエージェントメモリ、共同ナレッジベースを簡単に構築できます。
インストール方法
- Goライブラリ:
go get github.com/liliang-cn/cortexdb/v2 - CLIサーバー(共有脳):
go install github.com/liliang-cn/cortexdb/v2/cmd/cortexdb-grpc@latest - 言語バインディング:
cargo add cortexdb-client,pip install cortexdb-client,npm install cortexdb-client - Claude Code、Codex、DeepSeek Harness用のプラグインも提供されています。
基本的な使用方法(Go)
db, _ := cortexdb.Open(cortexdb.DefaultConfig("brain.db"))
defer db.Close()
brain := db.KnowledgeMemory()
_, _ = brain.Remember(ctx, cortexdb.KnowledgeMemoryRememberRequest{Content: "Alice prefers tabs.", Scope: "user"})
rec, _ := brain.Recall(ctx, cortexdb.KnowledgeMemoryRecallRequest{Query: "what does Alice prefer?"})
fmt.Println(rec.ContextPack.Text) // → "Alice prefers tabs."
この例では、事実を保存し、自然言語クエリで後から取得する方法を示しています。
主な機能
- ベクトルインデックス – HNSW、IVF、フラット、バイナリコード; FTS5全文検索によるハイブリッド検索。
- RDF 1.2グラフ – SPARQL 1.1/1.2、RDFS + OWL 2 RL推論、SHACL検証; 読み取り専用のCypherサポートも含む。
- RAGとスコープ付きメモリ – メモリをスコープ(例:ユーザーまたはセッションごと)で管理し、ソース引用付きの「コンテキストパック」として返します。
- ライブ3Dグラフビューア –
serve_graph_3dは、デスクトップまたはスマートフォンでナレッジグラフを可視化します。 - 変更フィード – すべての書き込みが順序どおりに記録され、正確に一度だけのリプレイを保証します。
- プラグイン可能な埋め込み – デフォルトでは語彙モードで動作します。
CORTEXDB_EMBED_BASE_URLを設定して、任意のOpenAI互換の埋め込みエンドポイントを指定できます。 - ポータブルストレージ – デフォルトはSQLite。PostgreSQL + pgvectorもサポート。
- 共有脳サーバー –
cortexdb-grpcを実行すると、複数のエージェントやマシンが同じ脳にgRPCを介してアクセスでき、オプションでトークン認証も可能です。
AIアシスタントとの統合
- Claude CodeおよびCodexプラグインは、
/rememberと/recallコマンドと自動リコールフックを提供し、~/.cortexdb/cortexdb.dbに保存されたグローバルな脳をIDEに提供します。 - オプションの
cortexdb-liveモッドはUI機能を追加します: 計画されたリコールプレビュー、脳の健全性を示すステータスライン、非アクティブ期間後に会話スニペットを永続メモリに自動キャプチャします。
設定(環境変数)
| 変数 | 目的 |
|---|---|
CORTEXDB_PATH |
ローカルSQLiteファイルのパス(デフォルト: ~/.cortexdb/cortexdb.db)。 |
CORTEXDB_REMOTE |
ローカルファイルの代わりに使用するリモートcortexdb-grpcサーバーのURL。 |
CORTEXDB_GRPC_TOKEN |
リモートサーバーへの認証用ベアラートークン。 |
CORTEXDB_EMBED_BASE_URL |
OpenAI互換の埋め込みサービスのベースURL; 未設定の場合、CortexDBは語彙(キーワード)モードにフォールバックします。 |
CORTEXDB_EMBED_MODEL / CORTEXDB_EMBED_DIM |
カスタム埋め込み用のモデル名とベクトル次元数。 |
CORTEXDB_SLOW_MS |
遅いサーバー呼び出しをログに記録するためのしきい値(ms)。 |
CORTEXDB_TRACE / CORTEXDB_TRACE_FILE |
完全なリクエストトレースを有効にし、オプションでJSON Linesをファイルに書き込みます。 |
ドキュメントとコミュニティ
- 公式サイト: https://liliang-cn.github.io/cortexdb/
- 完全な機能ガイド:
docs/GUIDE.md - サンプルコード:
examples/README.md - 変更ログと中国語のREADMEも提供されています。
ライセンス – MIT。自由な使用、変更、再配布が許可されています。
要約すると、CortexDBは、ベクトル類似性、全文検索、RDFグラフ機能を単一のポータブルデータベースに融合した軽量で組み込み可能なAIメモリストアであり、人気のLLMベースの開発ツール向けの既製の統合を備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト