项目简介
Sylphx Flow 是一个为AI代理提供持久化内存和协调能力的MCP服务器。它允许AI代理在不同会话中共享和访问信息,确保一致的代码生成并促进多代理协作。作为一个MCP服务器,它通过标准化的JSON-RPC协议提供多种工具,供LLM客户端调用。
主要功能点
- 持久化记忆: AI代理可以存储、检索、搜索和删除记忆条目,实现跨会话的数据共享。
- AI代理协调: 通过标准化的MCP协议,支持多个人工智能代理(如Cursor, Kilocode, RooCode, OpenCode等)进行协调与沟通。
- 记忆数据管理: 用户可以通过命令行界面或交互式TUI(文本用户界面)方便地管理AI代理的记忆数据,包括查看、搜索、编辑和清理。
- 扩展性: 除了核心记忆功能,Sylphx Flow 还可以集成和管理其他MCP工具,例如GPT图像生成、Perplexity搜索和Gemini Google搜索,为LLM提供更丰富的功能集。
安装步骤
- 环境准备: 确保您的系统已安装 Node.js (推荐 v18 或更高版本) 和 npm。
- 项目初始化: 在您的项目目录中,运行以下命令来初始化Sylphx Flow:
这个命令会自动安装Sylphx Flow CLI,配置必要的开发代理,并为您设置默认的MCP工具,包括Sylphx Flow 自身的内存管理服务器。npx github:sylphxltd/flow init
服务器配置
Sylphx Flow 自身作为一个MCP服务器运行时,通常通过 'stdio'(标准输入/输出)传输协议与MCP客户端进行通信。如果您正在使用支持MCP协议的客户端(例如OpenCode或其他兼容的IDE/CLI),您需要将以下配置信息添加到客户端的MCP服务器配置中,以便客户端能够连接并使用 Sylphx Flow 提供的工具。
示例 MCP 客户端配置片段(JSON格式):
{ // ... 其他配置 "mcpServers": { "sylphx_flow": { "type": "stdio", "command": "npx", "args": ["github:sylphxltd/flow", "mcp", "start"], "description": "Sylphx Flow MCP服务器,提供AI代理的持久化记忆和协调工具。" } } }
- 'mcpServers': 这是MCP客户端配置文件中用于定义所有MCP服务器的顶级字段。
- 'sylphx_flow': 这是此MCP服务器在客户端配置中的唯一标识符,也是AI代理调用其工具时使用的服务器名称。
- 'type': 指定了客户端与服务器通信所使用的传输协议类型,这里是 'stdio'。
- 'command': 启动 Sylphx Flow MCP 服务器所需要执行的命令行命令。
- 'args': 传递给 'command' 的参数列表。
- 'description': 对此MCP服务器功能的简要说明,方便用户理解其用途。
这些配置通常会保存在MCP客户端特定的配置文件中(例如OpenCode的'opencode.jsonc'或Claude Code的'.mcp.json')。一旦配置完成,MCP客户端就可以通过调用 'sylphx_flow' 服务器提供的工具(如 'memory_set', 'memory_get' 等)来与AI代理的共享记忆进行交互。
基本使用方法
-
手动启动MCP服务器 (通常由客户端自动启动): 在开发或测试环境中,您可以手动启动 Sylphx Flow MCP 服务器:
npx github:sylphxltd/flow mcp start该命令会启动服务器并监听标准输入/输出,提供内存管理工具。按 'Ctrl+C' 即可停止服务器。
-
通过命令行管理记忆数据: Sylphx Flow CLI 提供了一套命令,让您作为人类用户也能轻松管理AI代理的记忆:
- 查看所有记忆条目:
npx github:sylphxltd/flow memory list - 搜索记忆条目:
npx github:sylphxltd/flow memory search --pattern "您的搜索关键词" - 查看记忆统计信息:
npx github:sylphxltd/flow memory stats - 通过交互式TUI管理:
这将启动一个全屏的文本用户界面,让您以更直观的方式查看、编辑、搜索和删除记忆条目。npx github:sylphxltd/flow tui
- 查看所有记忆条目:
-
通过AI代理使用 (示例,具体调用方式取决于您的MCP客户端): 在支持MCP协议的AI代理中,您可以直接调用 'sylphx_flow' 服务器提供的 'memory_*' 工具。例如,一个AI代理可能会通过以下方式存储或检索项目状态:
# 假设这是您的AI代理工具定义片段 tool_code: - memory_set(key="project/status", value=json.dumps({"progress": "50%", "tasks": ["coding", "testing"]}), namespace="dev") - memory_get(key="project/status", namespace="dev")通过这种方式,多个AI代理可以访问和更新共享的记忆,实现更复杂的协作和状态管理。
信息
分类
AI与计算