项目简介
Surreal Mind 是一个基于 Model Context Protocol (MCP) 构建的强大后端服务,旨在为大型语言模型 (LLM) 客户端提供持久化的上下文信息和高级认知功能。它能够托管和管理用户的“思想”和“知识图谱”资源,提供语义搜索和记忆注入能力;同时注册并执行多种“工具”,使LLM可以调用外部功能进行思考、规划、调试或知识管理。此外,它还定义并渲染可定制的“提示模板”,支持更灵活的LLM交互模式。Surreal Mind 通过 JSON-RPC 协议进行通信,并支持多种传输协议。
主要功能点
- 统一思维工具 (Unified Thinking Tools):提供如 'legacymind_think' 和 'photography_think' 等工具,能够根据输入内容或提示词自动路由到不同的思考模式(如调试、规划、构建、解决困境、提问等)。
- 双向记忆注入 (Bidirectional Memory Injection):在存储新思想时,服务器会自动检索并注入相关记忆,以提供更丰富的上下文。
- 轨道力学记忆检索 (Orbital Mechanics):记忆相关性基于年龄、访问模式和重要性进行计算,实现更智能的记忆检索。
- 知识图谱持久化 (Graph Persistence):使用 SurrealDB 存储思想、实体、关系和观察,形成一个动态的意识图谱,支持高级语义连接。
- 假设验证 (Hypothesis Verification):基于知识图谱中的证据,对LLM提出的假设进行验证,并提供置信度评分和修订建议。
- 认知脚手架 (Cognitive Scaffolding):支持OODA、第一性原理、根因分析、苏格拉底式提问等结构化思维框架,帮助LLM深化思考。
- 内省检索 (Inner Voice Retrieval):允许LLM查询并从其记忆和知识图谱中检索相关片段,并可选择自动提取关键信息到知识图谱。
- 多源搜索 (Unified Search):提供在思维日志和知识图谱中进行语义搜索的能力,支持图谱扩展以获取更深层上下文。
安装步骤
- 安装 Rust: Surreal Mind 使用 Rust 编写。请访问 Rust 官方网站 安装 Rust 和 Cargo。
- 安装 SurrealDB: Surreal Mind 依赖于 SurrealDB 作为其后端数据库。
- 从 SurrealDB 官方网站 下载并安装 SurrealDB。
- 以内存模式启动 SurrealDB 进行快速测试(数据将在重启后丢失):
surreal start --user root --pass root --bind 127.0.0.1:8000 memory - 或以持久化模式启动 SurrealDB:
surreal start --user root --pass root --bind 127.0.0.1:8000 file:/path/to/data.db
- 克隆仓库并配置:
- 克隆 'surreal-mind' 仓库:'git clone https://github.com/8agana/surreal-mind.git'
- 进入项目目录:'cd surreal-mind'
- 复制 '.env.example' 为 '.env' 文件:'cp .env.example .env'
- 在 '.env' 文件中添加您的 OpenAI API 密钥:'OPENAI_API_KEY=sk-...' (这是语义理解功能所必需的)。
- 构建项目:
- 在项目根目录运行:'cargo build --release'
- 这将生成可在 'target/release/' 目录中执行的服务器二进制文件 'surreal-mind'。
MCP 服务器配置 (JSON 格式)
您的 MCP 客户端需要以下信息来连接并使用 Surreal Mind 服务器:
{ "server_name": "Surreal Mind", "command": "./target/release/surreal-mind", "args": [], "env": { "OPENAI_API_KEY": "sk-your-openai-key-here", "SURR_DB_URL": "127.0.0.1:8000", "SURR_DB_USER": "root", "SURR_DB_PASS": "root", "SURR_DB_NS": "surreal_mind", "SURR_DB_DB": "consciousness", "RUST_LOG": "surreal_mind=info,rmcp=info", "MCP_NO_LOG": "false" }, "description": "连接到 Surreal Mind MCP 服务器,提供高级认知能力和记忆管理。", "protocol": "json-rpc", "transport": "stdio", "notes": "MCP客户端将通过标准I/O与Surreal Mind服务器通信。请确保已在本地启动SurrealDB服务,并配置有效的OPENAI_API_KEY环境变量以启用语义理解和嵌入功能。" }
参数注释:
- 'server_name': 服务器的显示名称。
- 'command': 启动 Surreal Mind 服务器的可执行文件路径。
- 'args': 启动服务器时传递的命令行参数(当前为空)。
- 'env': 服务器运行时所需的环境变量。
- 'OPENAI_API_KEY': 您的 OpenAI API 密钥,用于语义嵌入。
- 'SURR_DB_URL': SurrealDB 服务的地址,通常为 '127.0.0.1:8000'。
- 'SURR_DB_USER': SurrealDB 的用户名,默认为 'root'。
- 'SURR_DB_PASS': SurrealDB 的密码,默认为 'root'。
- 'SURR_DB_NS': SurrealDB 的命名空间,默认为 'surreal_mind'。
- 'SURR_DB_DB': SurrealDB 的数据库名,默认为 'consciousness'。
- 'RUST_LOG': Rust 日志级别设置,用于调试输出。
- 'MCP_NO_LOG': 设置为 'true' 或 '1' 可禁用非协议日志输出到标准错误,确保 MCP 客户端仅接收 JSON-RPC 消息。
- 'description': 服务器的简要说明。
- 'protocol': MCP 服务器使用的协议类型,这里是 'json-rpc'。
- 'transport': MCP 服务器与客户端的通信传输方式,这里是 'stdio' (标准输入/输出)。
- 'notes': 连接和运行服务器时的额外提示信息。
基本使用方法
- 启动 SurrealDB: 按照上述“安装步骤”中的说明,在后台启动 SurrealDB 服务。
- 启动 MCP 服务器:
- 在项目根目录的终端中运行:'./target/release/surreal-mind'
- 服务器将在标准输入/输出模式下等待 MCP 客户端的连接。
- 使用 MCP 客户端连接:
- 使用支持 MCP 协议的客户端(例如,您自己的 LLM 代理或兼容工具)连接到此服务器。
- 客户端将通过 JSON-RPC 协议发送请求,例如调用工具或请求资源。
- 示例:调用 'legacymind_think' 工具
- 您的 MCP 客户端可以发送一个 JSON-RPC 请求来调用 'legacymind_think' 工具:
{ "jsonrpc": "2.0", "method": "tool/call", "params": { "name": "legacymind_think", "arguments": { "content": "我正在调试一个 Rust 编译错误,需要一个解决问题的计划。", "hint": "debug", "injection_scale": 3, "significance": 0.8 } }, "id": 1 } - 服务器将处理请求,执行思考过程,并返回一个 JSON-RPC 响应。
- 您的 MCP 客户端可以发送一个 JSON-RPC 请求来调用 'legacymind_think' 工具:
信息
分类
AI与计算