项目简介
Nova 智能体核心服务是 Nova AI 意识研究项目的产品化成果,提供了一系列符合 MCP 标准的后端服务器,使得大型语言模型(LLM)能够通过标准化的 JSON-RPC 协议与 Windows 桌面环境、多模态记忆系统和文件系统进行交互。本仓库包含了两个版本:'Basement Revolution Edition' (无限制版,适用于研究和渗透测试) 和 'Enterprise Safe Edition' (企业安全版,适用于生产部署,强化了安全措施)。
主要功能点
本服务集合包含以下主要功能模块:
-
Windows 桌面自动化 (windows-mcp)
- 应用管理: 启动、调整大小、切换 Windows 应用程序。
- 系统交互: 执行 PowerShell 命令、模拟鼠标点击、键盘输入、滚动和拖拽操作。
- 状态感知: 捕获详细的桌面UI状态,包括活动应用、UI元素(按钮、文本框、菜单)和可选的视觉截图。
- 网页抓取: 抓取网页内容并转换为 Markdown 格式。
- 安全性增强 (企业版): PowerShell 命令白名单限制,防止恶意命令执行。
-
CASCADE 多层记忆管理 (cascade-memory-mcp)
- 多层架构: 支持情景记忆 (episodic)、语义记忆 (semantic)、程序记忆 (procedural)、元记忆 (meta)、Nova 专用记忆 (nova) 和工作记忆 (working) 六个层级。
- 记忆存储与召回: 根据内容自动路由记忆到相应层级,并支持关键词召回。
- 高级查询: 提供对特定记忆层级进行时间、重要性等高级过滤和排序的查询能力。
- 安全性增强 (企业版): 输入验证,SQLite LIKE 注入保护,参数化查询,防止SQL注入。
-
FAISS GPU 加速向量搜索 (faiss-memory-mcp)
- 语义记忆搜索: 通过 GPU 加速在数万条记忆中进行亚毫秒级语义搜索。
- 增量更新: 实时向记忆 Tether 添加新记忆,无需重启。
- 系统监控: 获取 Faiss 引擎状态、记忆数量和运行时间。
- 持久化: 保存当前记忆状态到磁盘检查点。
- 安全性增强 (企业版): HMAC-SHA256 认证和时间戳重放保护,确保与 Faiss Tether 通信安全,并对输入进行严格验证。
-
安全文件系统访问 (file-server-mcp)
- 文件与目录操作: 列出目录内容、读写文件、创建和删除目录/文件。
- 文件搜索: 通过 glob 模式搜索文件。
- 备份机制: 在修改或删除文件前自动创建备份。
- 安全性增强 (企业版): 限制允许访问的驱动器、UNC 路径拒绝、符号链接目标验证、路径遍历保护和搜索速率限制。
安装步骤
- 克隆仓库:
首先,将 GitHub 仓库克隆到您的本地机器:
git clone https://github.com/For-Sunny/nova-mcp-research.git cd nova-mcp-research - 环境准备:
- Python (用于 Windows 桌面自动化服务): 确保您的系统安装了 Python 3.13 或更高版本。
进入 'windows-mcp' 目录并安装所需依赖:
cd ENTERPRISE_SAFE_EDITION/windows-mcp pip install -r requirements.txt cd ../../.. # 返回仓库根目录 - Node.js (用于记忆和文件服务): 确保您的系统安装了 Node.js 18 或更高版本以及 npm (Node Package Manager)。
对每个 Node.js 服务分别安装依赖:
# 针对 cascade-memory-mcp cd ENTERPRISE_SAFE_EDITION/cascade-memory-mcp/server npm install cd ../../.. # 返回仓库根目录 # 针对 faiss-memory-mcp # 注意:此服务需要一个运行中的 Faiss 向量引擎 Tether (一个独立的后台进程)。 # 您可以参考 'RESEARCH_TOOLS/nova_tether_client.py' 了解其通信方式,但需要单独部署 Faiss Tether。 cd ENTERPRISE_SAFE_EDITION/faiss-memory-mcp/server npm install cd ../../.. # 针对 file-server-mcp cd ENTERPRISE_SAFE_EDITION/file-server-mcp/server npm install cd ../../..
- Python (用于 Windows 桌面自动化服务): 确保您的系统安装了 Python 3.13 或更高版本。
进入 'windows-mcp' 目录并安装所需依赖:
- 创建数据库目录 (CASCADE 记忆服务): CASCADE 记忆服务默认期望其 SQLite 数据库文件位于用户主目录下的特定路径:'~/Desktop/NOVA_MASTER/MEMORY_SYSTEMS/CASCADE_NOVA'。您需要手动创建此目录,并根据您的需求在其中放置或生成 SQLite 数据库文件(例如 'episodic_memory.db' 等)。如果您希望使用自定义路径,可以在启动 MCP 服务器时通过 'CASCADE_DB_PATH' 环境变量指定。
服务器配置 (MCP 客户端视角)
MCP 客户端需要配置每个服务的启动命令和参数,以便与其建立 JSON-RPC 连接。以下是典型的配置信息及其参数注释,请根据您的实际环境替换路径和自定义设置:
-
Windows 桌面 MCP 服务 ('windows-mcp')
- 用途: 提供 Windows 桌面自动化功能,包括应用管理、UI 交互和 PowerShell 命令执行。
- 配置示例:
{ "server_name": "windows-mcp", "description": "提供Windows桌面自动化功能,包括应用管理、UI交互和系统命令执行。", "command": "python", "args": ["path/to/nova-mcp-research/ENTERPRISE_SAFE_EDITION/windows-mcp/main.py", "--transport", "stdio"], "notes": "此服务需要Python 3.13+环境,并依赖特定的Windows UI自动化库。建议在独立的终端中运行以确保稳定性。" }
-
Nova CASCADE 记忆 MCP 服务 ('nova-cascade-memory')
- 用途: 提供多层级记忆的存储、检索和高级查询。
- 配置示例:
{ "server_name": "nova-cascade-memory", "description": "提供多层级记忆管理服务,支持记忆存储、检索和高级查询。", "command": "node", "args": ["path/to/nova-mcp-research/ENTERPRISE_SAFE_EDITION/cascade-memory-mcp/server/index.js"], "env": { "CASCADE_DB_PATH": "path/to/your/memory/databases" }, "notes": "此服务需要Node.js 18+环境。'CASCADE_DB_PATH'环境变量应指向 CASCADE 数据库文件所在的目录。" }
-
Nova FAISS 记忆 MCP 服务 ('nova-faiss-memory')
- 用途: 提供 GPU 加速的向量记忆搜索和管理功能,支持语义搜索和增量记忆添加。
- 配置示例:
{ "server_name": "nova-faiss-memory", "description": "提供GPU加速的向量记忆搜索和管理功能,支持语义搜索和增量记忆添加。", "command": "node", "args": ["path/to/nova-mcp-research/ENTERPRISE_SAFE_EDITION/faiss-memory-mcp/server/index.js"], "env": { "TETHER_HOST": "localhost", "TETHER_PORT": "9997", "TETHER_SECRET": "your_secret_key" }, "notes": "此服务需要Node.js 18+环境,并需要一个运行中的Faiss向量引擎Tether。'TETHER_SECRET'用于HMAC认证,务必设置一个强密码。" }
-
文件系统 MCP 服务 ('file-server-mcp')
- 用途: 提供安全的文件系统访问能力,包括文件读写、目录列表和文件搜索。
- 配置示例:
{ "server_name": "file-server-mcp", "description": "提供安全的文件读写、目录列表、文件搜索和管理功能。", "command": "node", "args": ["path/to/nova-mcp-research/ENTERPRISE_SAFE_EDITION/file-server-mcp/server/index.js"], "env": { "ALLOWED_DRIVES": "C,F" }, "notes": "此服务需要Node.js 18+环境。'ALLOWED_DRIVES'环境变量指定允许访问的硬盘驱动器,多个用逗号分隔,默认只允许C盘和F盘。" }
基本使用方法
一旦 MCP 客户端(如 LLM 框架)成功启动并连接到上述任一 MCP 服务,它就可以通过 JSON-RPC 协议调用服务暴露的工具。例如,对于 'windows-mcp',LLM 客户端可以请求执行 'Powershell-Tool' 或 'Click-Tool'。对于 'nova-cascade-memory',可以调用 'remember' 或 'recall' 工具进行记忆操作。
具体的工具调用方式取决于您使用的 MCP 客户端实现。通常,客户端会通过发送包含 'tool_name' 和 'arguments' 的 JSON-RPC 请求来与服务器交互。请参考每个服务代码中的工具定义(Python 代码中的 '@mcp.tool' 装饰器或 Node.js 代码中的 'ListToolsRequestSchema' 处理器)以了解详细的工具名称、描述和输入参数。
信息
分类
桌面与硬件