本项目是 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 项目。

  1. 克隆仓库: 'git clone https://github.com/esinecan/skynet-agent.git' 'cd skynet-agent'
  2. 安装依赖: 'npm install'
  3. 配置环境: 复制示例配置文件 '.env.example' 为 '.env.local',并填入必要的 API Key(如 Google AI API Key 用于 embedding,以及您选择的 LLM 提供商 API Key)。 'cp .env.example .env.local' 编辑 '.env.local' 文件。
  4. 启动 ChromaDB (记忆库依赖): 使用 Docker 启动 ChromaDB 向量数据库。 'docker-compose up -d'
  5. 启动应用: 启动 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与计算