本项目是 Skynet-Agent 对话应用的一部分,其中包含一个独立的 MCP 服务器组件,专注于管理用户的“意识记忆”。它通过 Model Context Protocol (MCP) 协议,将记忆的保存、搜索等操作封装为工具,供 LLM 客户端(如 Skynet-Agent 的聊天界面)调用。
主要功能点:
- 保存记忆 (save_memory): 将重要的信息、偏好或知识点结构化地保存到记忆库中,支持标签和重要度设置。
- 搜索记忆 (search_memories): 根据自然语言查询在记忆库中检索相关信息,结合语义和关键词搜索。
- 更新记忆 (update_memory): 修改已保存的记忆内容、标签或重要度。
- 删除记忆 (delete_memory): 根据 ID 删除特定的记忆。
- 获取标签 (get_memory_tags): 列出记忆库中所有使用的标签。
- 查找相关记忆 (get_related_memories): 根据某个记忆查找内容相似的其他记忆。
- 获取统计信息 (get_memory_stats): 提供记忆库的总量、标签数量等统计数据。
安装步骤:
此 MCP 服务器作为 Skynet-Agent 项目的一部分运行。要使用它,您需要安装并运行整个 Skynet-Agent 项目。
- 克隆仓库: 'git clone https://github.com/esinecan/skynet-agent.git' 'cd skynet-agent'
- 安装依赖: 'npm install'
- 配置环境: 复制示例配置文件 '.env.example' 为 '.env.local',并填入必要的 API Key(如 Google AI API Key 用于 embedding,以及您选择的 LLM 提供商 API Key)。 'cp .env.example .env.local' 编辑 '.env.local' 文件。
- 启动 ChromaDB (记忆库依赖): 使用 Docker 启动 ChromaDB 向量数据库。 'docker-compose up -d'
- 启动应用: 启动 Skynet-Agent 开发服务器,它会自动启动并连接到此 MCP 记忆库服务器。 'npm run dev'
服务器配置 (供 MCP 客户端参考):
此 MCP 服务器通常被同一项目中的 MCP 客户端('mcp-manager.ts')通过 Stdio 方式启动和连接。如果您有其他 MCP 客户端需要连接此服务器,其配置信息(基于项目的 'src/config/default-mcp-servers.ts')如下:
{ "name": "conscious-memory", "type": "stdio", "command": "npx", "args": [ "tsx", "./src/lib/mcp-servers/conscious-memory-server.ts" ], "description": "Skynet-Agent 的意识记忆服务器,提供记忆管理工具。" }
- 'name': MCP 服务器的唯一名称。
- 'type': 使用的传输协议类型,此处为 Stdio。
- 'command': 启动服务器进程的命令。
- 'args': 传递给启动命令的参数。
MCP 客户端需要配置并执行 'command' 及 'args' 来启动此服务器进程,然后通过其标准输入/输出流进行 JSON-RPC 通信。
基本使用方法:
此 MCP 服务器通过其提供的工具与 LLM 客户端互动。在 Skynet-Agent 应用中,LLM 会通过自然语言对话触发这些工具。例如:
- 当您对 LLM 说:“记住我在使用 TypeScript 开发 React 项目。” - Skynet-Agent 客户端会识别这是一个保存记忆的意图,并通过 MCP 调用 'conscious-memory' 服务器的 'save_memory' 工具,将这句话及其相关信息保存。
- 当您问 LLM:“我之前跟你说过关于前端开发偏好是什么?” - Skynet-Agent 客户端会识别这是一个搜索记忆的意图,并通过 MCP 调用 'conscious-memory' 服务器的 'search_memories' 工具来查找相关信息,然后将搜索结果提供给 LLM 用于生成回复。
您也可以通过 Skynet-Agent 的 '/conscious-memory' 界面直接查看和管理记忆库内容。
信息
分类
AI与计算