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是一个纯Go库,让你可以为AI代理存储和检索“记忆”。它将基于向量的相似性搜索、全文搜索和符合标准的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命令以及自动回忆钩子,为IDE提供存储在~/.cortexdb/cortexdb.db的全局大脑。
  • 可选的cortexdb-live模块增加了UI功能:计划回忆预览、显示大脑健康状态的状态行,以及在不活动一段时间后自动将对话片段捕获到持久记忆中。

配置(环境变量)

变量 用途
CORTEXDB_PATH 本地SQLite文件的路径(默认:~/.cortexdb/cortexdb.db)。
CORTEXDB_REMOTE 代替本地文件使用的远程cortexdb-grpc服务器的URL。
CORTEXDB_GRPC_TOKEN 用于向远程服务器进行身份验证的Bearer令牌。
CORTEXDB_EMBED_BASE_URL OpenAI兼容嵌入服务的基础URL;如果未设置,CortexDB将回退到词汇(关键字)模式。
CORTEXDB_EMBED_MODEL / CORTEXDB_EMBED_DIM 自定义嵌入的模型名称和向量维度。
CORTEXDB_SLOW_MS 记录慢速服务器调用的阈值(毫秒)。
CORTEXDB_TRACE / CORTEXDB_TRACE_FILE 启用完整请求跟踪,可选地将JSON Lines写入文件。

文档与社区

许可证 – MIT,允许自由使用、修改和分发。


简而言之,CortexDB是一个轻量级、可嵌入的AI记忆存储,将向量相似性、全文和RDF图功能融合到单个便携式数据库中,并为流行的LLM驱动开发工具提供了现成的集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目