知识图谱存储系统

为AI代理设计的持久化、可索引的知识图谱存储系统,适用于多上下文平台。

  • by BrikerMan
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 BrikerMan/graph-memory-mcp

使用说明

bm图形存储器mcp

为MCP兼容平台设计的AI代理持久索引知识图。

这个项目名为Brikerman Graph Memory(bm Graph Memory),为AI模型提供了一个持久的存储层。它允许人工智能构建和查询由实体、关系和观察组成的知识图。该系统围绕一个核心“索引”数据库设计,确保人工智能始终可以访问其最关键的信息。


核心概念

这 main 数据库:系统的核心索引

整个系统围绕 main 数据库。它不仅仅是一个通用存储器;它具有特定而关键的功能。

  • 角色:The main 数据库充当 核心索引和路由表 对于您的整个存储系统。
  • 目录:它应该只包含两种类型的信息:
    1. 路由信息:存在的所有其他上下文的清单(例如。, work, personal).这有助于人工智能知道它可以查询哪些其他专门的记忆。
    2. 关键数据人工智能必须始终了解的极少量绝对必要的高级信息。
  • 持续可见性: 这 全部内容 的 main 数据库会自动附加到以下结果中 每 搜索操作。 无论您是在全球范围内搜索还是在特定上下文中搜索,您都可以获得完整的 main 数据库恢复,确保人工智能永远不会忘记其核心索引。

语境:特殊记忆

为了使信息保持有序,您可以使用 contexts.上下文是特定主题的单独内存文件。

  • 例子: work, personal, project-alpha.
  • 主要用途:将详细的、特定于主题的信息存储在命名上下文中。这使得 main 数据库干净,专注于其核心索引作用。

存储位置

系统根据以下内容确定存储和检索文件的位置 MEMORY_FOLDER 环境变量:

  • 如果 MEMORY_FOLDER 设置后,所有内存文件都将存储在该位置。
  • 如果 MEMORY_FOLDER 未设置,系统默认为 ~/.bm 在用户的主目录中。

这 bm_gm 安全系统

一致的命名约定确保了清晰性和安全性。 bm_gm 代表 Brikerman图形存储器.

  • .bm 目录:将文件夹标识为Brikerman Memory存储位置。
  • bm_gm_ 工具前缀:将AI的所有内存功能组合在一起。
  • _bm_gm 安全标志:每个内存文件的第一行是 {"type":"_bm_gm","source":"brikerman-graph-memory-mcp"}。系统将拒绝写入任何不以此标记开头的文件,以防止数据损坏。

可用的AI工具(bm_gm_*)

AI使用以下工具与其内存进行交互。

核心工具

  • memory_create_entities:将新实体(如人、地点或概念)添加到知识图中。
  • memory_create_relations:在两个现有实体之间创建标记链接。
  • memory_add_observations:向现有实体添加一条新的文本信息。
  • memory_search_nodes:使用关键字搜索信息。 结果将始终包括 main 数据库。
  • memory_read_graph:转储一个或多个数据库的全部内容。 结果将始终包括 main 数据库。

管理和删除工具

  • memory_list_databases:显示所有可用内存数据库(上下文)。
  • memory_delete_entities:从图形中删除实体。
  • memory_delete_relations:删除实体之间的特定关系。
  • memory_delete_observations:从实体中删除特定观察值。

公共参数

  • context (string):要定位的命名数据库(例如。, work).如果没有提供,该操作的目标是 main 数据库。

文件组织示例

MEMORY_FOLDER目录:

/path/to/memory/folder/
├── memory.jsonl           # The 'main' Database (Core Index)
├── memory-work.jsonl      # Work Context
└── memory-personal.jsonl  # Personal Context