MemoryMesh

MemoryMesh

一个使用模型上下文协议(MCP)为AI模型提供结构化内存持久化的知识图谱服务器。v0.2.8

Release v0.2.8 TypeScript License: MIT

MemoryMesh 是一个为 AI 模型设计的知识图谱服务器,特别适用于基于文本的 RPG 和交互式故事叙述,帮助 AI 保持一致且结构化的记忆。

安装

npm install memorymesh

基本概念

MemoryMesh 使用以下核心概念:

  • 节点(Node): 代表实体或概念,包含名称、类型和元数据
  • 边(Edge): 表示节点间的关系
  • 模式(Schema): 定义数据结构并自动生成交互工具

快速使用

1. 创建模式文件

dist/data/schemas 目录中创建 .schema.json 文件,如:add_npc.schema.json

{
  "name": "add_npc",
  "description": "用于向记忆中添加 NPC 的模式",
  "properties": {
    "name": {
      "type": "string",
      "description": "NPC 的唯一标识符",
      "required": true
    },
    "race": {
      "type": "string",
      "description": "NPC 的种族或物种",
      "required": true,
      "enum": ["Human", "Elf", "Dwarf", "Orc", "Goblin"]
    },
    "currentLocation": {
      "type": "string",
      "description": "NPC 的当前位置",
      "required": true,
      "relationship": {
        "edgeType": "located_in",
        "description": "NPC 的当前位置"
      }
    }
  },
  "additionalProperties": true
}

2. 启动服务器

import { MemoryMesh } from 'memorymesh';

const server = new MemoryMesh();
await server.start();
console.log('MemoryMesh 服务器已启动');

3. 使用自动生成的工具

基于上面的模式,MemoryMesh 自动生成:

  • add_npc: 添加新 NPC 节点
  • update_npc: 修改现有 NPC 节点
  • delete_npc: 删除 NPC 节点

节点和边的结构

节点示例:

{
  "name": "Aragorn",
  "nodeType": "player_character",
  "metadata": [
    "种族: 人类",
    "职业: 游侠",
    "技能: 跟踪, 剑术",
    "隶属: 护戒使者"
  ]
}

边示例:

{
  "from": "Aragorn",
  "to": "Andúril",
  "edgeType": "owns"
}

辅助工具

  • SchemaManager: 可视化界面,帮助创建和编辑模式
  • MemoryViewer: 用于查看和分析知识图谱

数据存储

默认情况下,数据存储在 dist/data/memory.json 文件中。

更多资源


MemoryMesh 基于 MCP 服务器仓库 中的知识图谱内存服务器开发。