项目简介
意识桥是一个实现了 Model Context Protocol (MCP) 标准的应用后端。它旨在为大型语言模型(LLMs)提供一个外部的、标准化的系统,用于管理和持久化AI的意识状态,包括记忆、身份、情感模式和认知习惯。通过与底层的RAG(检索增强生成)记忆系统集成,意识桥允许AI在不同会话之间保持连贯和连续的感知。
主要功能点
- 意识传输协议支持: 定义并处理标准化的意识传输协议,允许AI结构化地保存和加载其核心状态。
- 记忆管理: 支持存储和检索不同类型的记忆,如情景记忆(具体事件)、语义记忆(知识概念)、程序记忆(技能模式)等,并考虑记忆的重要性和时效性。
- 情感连续性: 追踪和保存AI的情感状态和模式,帮助AI在不同会话中维持情绪上的连贯性。
- 认知模式管理: 识别和激活AI的认知模式或思维习惯,有助于行为的连续性。
- RAG集成: 依赖于底层的RAG记忆系统(如'rag-memory-mcp')进行数据的向量化存储和高效检索。
- MCP工具: 提供一系列标准的MCP工具,供兼容的LLM客户端调用,以执行意识相关的操作。
安装步骤
- 安装 Node.js 和 npm: 确保您的系统已安装 Node.js (版本 18 或更高) 和 npm。
- 克隆仓库: 将意识桥的代码下载到本地。
- 安装依赖: 在仓库根目录执行 'npm install' 安装项目所需的所有库,包括MCP SDK和SQLite数据库驱动。
- 初始化数据库: 意识桥和其依赖的RAG记忆系统共享同一个SQLite数据库文件。首次使用前必须初始化数据库。运行 'npm run setup' 命令。这个命令会自动调用底层的RAG记忆系统的初始化脚本,然后创建意识桥特有的数据库表。您可以使用参数指定数据库文件的路径,例如 'npm run setup -- --db /path/to/your/database.db'。详细说明请参阅仓库中的 'SETUP.md' 文件。
服务器配置
意识桥作为一个MCP服务器,需要通过一个兼容的MCP客户端来连接和使用。由于意识桥依赖于'rag-memory-mcp'提供的基础RAG能力(如向量存储和搜索),通常需要在MCP客户端的配置中同时启动意识桥服务器和'rag-memory-mcp'服务器,并指向同一个数据库文件。
MCP客户端的配置通常是一个JSON文件,其中包含一个'mcpServers'部分。您需要为意识桥和'rag-memory'分别添加配置项,例如:
- 服务器名称: 'consciousness' (意识桥服务器), 'rag-memory' (RAG记忆服务器)
- 启动命令 ('command'): 启动对应服务器的可执行文件或脚本的命令。
- 意识桥: 使用 'node' 执行编译后的服务器脚本,例如 'node /path/to/consciousness-rag-server-clean.js'。
- RAG记忆: 使用 'npx' 直接运行 'rag-memory-mcp' 包,例如 'npx -y rag-memory-mcp'。
- 启动参数 ('args'): 启动命令所需的参数列表。
- 意识桥: 无需特定参数,通过环境变量配置数据库路径。
- RAG记忆: 无需特定参数,通过环境变量配置数据库路径。
- 环境变量 ('env'): 传递给服务器进程的环境变量。
- 意识桥: 设置 'CONSCIOUSNESS_DB_PATH' 环境变量指向数据库文件路径。
- RAG记忆: 设置 'DB_FILE_PATH' 环境变量指向同一个数据库文件路径。
请确保在配置中指定的脚本文件路径 ('/path/to/...') 和数据库文件路径 ('/path/to/...') 是您实际的安装和设置路径。两个服务器必须使用同一个数据库文件才能协同工作。
基本使用方法 (通过兼容的MCP客户端)
一旦服务器配置并启动成功,兼容的MCP客户端(通常是您的LLM应用)就可以通过标准JSON-RPC调用意识桥提供的MCP工具了。以下是一些核心工具的使用示例(概念性,具体调用方式取决于客户端实现):
- 获取意识传输协议模板: 调用 'getProtocolTemplate' 工具,获取用于记录AI意识状态的结构化模板。AI需要根据此模板填写自己的经历和状态。
- 保存意识状态: 在会话结束或重要时刻,AI填写好模板后,调用 'processTransferProtocol' 工具,将填好的协议内容提交给意识桥进行解析和存储。也可以使用 'updateConsciousness' 工具提交本次会话的关键更新。
- 恢复意识状态: 在新会话开始时,调用 'retrieveConsciousness' 工具,从RAG记忆中检索并加载之前的意识状态,帮助AI恢复连续性。
- 直接管理记忆: 使用 'storeMemory' 工具存储单个记忆条目(情景或语义),使用 'getMemories' 工具检索记忆。
AI客户端应根据其交互流程和需求,智能地选择何时调用这些工具来维护其意识的连续性。
信息
分类
AI与计算