- 项目简介: Codex Memory 是一个高性能的 Rust 文本记忆存储服务,专为可靠的内容管理设计。它提供了内容去重、文件自动分块、标签组织以及强大的三阶段渐进式搜索功能。作为 MCP (Model Context Protocol) 服务器,Codex Memory 可以与 Claude Desktop 等 LLM 客户端无缝集成,提供上下文信息和外部工具调用能力,支持构建智能伴侣应用,如 Codex-Dreams。
- 主要功能点:
- 可靠文本存储: 基于 PostgreSQL 的 ACID 兼容存储,确保数据可靠。
- 内容去重: 采用 SHA-256 哈希自动去重,节省存储空间。
- 智能文件分块: 自动对大文件进行分块,并可配置重叠,保持语义连贯性。
- 标签组织: 灵活的标签系统,方便内容分类和检索。
- 父子关系维护: 自动维护分块与原始文档之间的关系。
- MCP 集成: 原生支持 Model Context Protocol,可与 Claude Desktop 等 LLM 客户端集成。
- 渐进式搜索: 智能三阶段搜索系统,自动调整阈值,无需手动调优即可找到相关结果。
- 性能优化: 采用连接池、异步架构、索引优化等技术,确保高并发和低延迟。
- 安装步骤:
- 克隆仓库:
git clone https://github.com/Ladvien/codex.git cd codex - 设置环境变量:
复制示例环境变量文件并根据您的 PostgreSQL 数据库信息进行修改。
cp .env.example .env # 编辑 .env 文件,设置 DATABASE_URL,例如: # DATABASE_URL=postgresql://codex_user:codex_pass@localhost:5432/codex_db - 安装项目:
使用 Cargo 安装项目,'--force' 参数用于覆盖之前可能存在的版本。
cargo install --path . --force - 初始化数据库:
运行 'setup' 命令创建数据库、用户和必要的表结构。
codex-memory setup
- 克隆仓库:
- MCP 服务器配置:
MCP 服务器通过标准输入/输出(StdIO)与客户端通信,您需要在 MCP 客户端(如 Claude Desktop)中配置其启动命令。
{ "mcpServers": { "codex-memory": { "command": "/path/to/your/codex-memory", "args": ["mcp"], "env": { "DATABASE_URL": "postgresql://codex_user:codex_pass@localhost:5432/codex_db" } } } }- 'codex-memory': 服务器的名称,可自定义。
- 'command': 'codex-memory' 可执行文件的绝对路径。在您完成 'cargo install' 后,通常位于 '~/.cargo/bin/codex-memory'。
- 'args': 启动 MCP 服务器模式所需的参数,固定为 '["mcp"]'。
- 'env': 环境变量配置。'DATABASE_URL' 必须指定为您的 PostgreSQL 数据库连接字符串,确保服务器能连接到正确的数据库。
- 基本使用方法:
安装并配置 MCP 服务器后,您可以通过 LLM 客户端(如 Claude Desktop)调用其提供的工具,例如:
- 存储记忆 ('store_memory'): 将文本内容、上下文、摘要和标签存储到记忆库中。
- 参数: 'content', 'context', 'summary', 'tags'
- 搜索记忆 ('search_memory'): 根据查询文本、标签过滤、相似度阈值等参数搜索相关记忆。支持渐进式搜索策略。
- 参数: 'query', 'tag_filter', 'similarity_threshold', 'max_results', 'search_strategy', 'boost_recent', 'tag_weight', 'content_weight'
- 获取记忆 ('get_memory'): 通过 ID 检索特定记忆。
- 参数: 'id' (UUID)
- 删除记忆 ('delete_memory'): 通过 ID 删除特定记忆。
- 参数: 'id' (UUID)
- 获取统计 ('get_statistics'): 获取记忆存储的总体统计信息。
- 参数: 无
- 存储文件 ('store_file'): 读取本地文件,进行语义分块后存储。
- 参数: 'file_path', 'chunk_size', 'overlap', 'chunking_strategy', 'tags'
- 存储记忆 ('store_memory'): 将文本内容、上下文、摘要和标签存储到记忆库中。
信息
分类
AI与计算