MemoryMesh
一个使用模型上下文协议(MCP)为AI模型提供结构化内存持久化的知识图谱服务器。v0.2.8
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 服务器仓库 中的知识图谱内存服务器开发。