使用说明
上下文存储MCP
AI代理MCP基本长期存储系统
概要
Context Store MCP单击功能区上AI赋予代理永久存储能力Model Context Protocol (MCP)服务器。跨会话保留信息,并根据上下文提供智能搜索。
特徴
- 永続的记忆:在会话之间保存和检索信息
- 多层存储类型:小故事记忆、语义记忆、手续记忆的自动分类
- 混合搜索:矢量相似性搜索和图形化
- MCP标准准据:各种各样的AI从代理统一可用
- 高性能: PostgreSQL + pgvector、Neo4j、Redis优化
- 安全性: RBAC、暗号化、GDPR准据の削除机能
- 本番対応: Docker化、CI/CD、监视和备份
🚀 快速启动
Lite Mode(轻量模式)🌟
个人用途PC中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长Lite Mode中所述修改相应参数的值。PostgreSQL仅运行Neo4j和Redis缺少支持的问题。
# 1. 依存パッケージのインストール
npm install
# 2. Lite Mode用の環境変数を設定
cp .env.lite.example .env
# .envファイルを編集(PostgreSQLの設定のみ必要)
# 3. PostgreSQLのみを起動
docker-compose --profile lite up -d
# 4. ビルド
npm run build
# 5. MCP設定ファイルを生成
npm run generate-config -- --lite-mode --client claude-desktop
# 6. 開発モード
npm run dev
了解更多信息 Lite Mode 部分 来修改标记元素的显示属性。
开发环境(全模式)
# 依存パッケージのインストール
npm install
# 環境変数の設定
cp .env.example .env
# .envファイルを編集して必要な情報を設定
# Dockerサービスの起動
docker-compose up -d
# ビルド
npm run build
# 開発モード
npm run dev
本地生产环境
在本地计算机上运行生产服务器:
# 1. 自動セットアップ
./scripts/setup-production.sh
# 2. サーバー起動
./scripts/start-production.sh
# 3. MCPクライアント(Claude Desktop等)を設定
# docs/deployment/local-production.md を参照
了解更多信息 docs/deployment/local-production.md 来修改标记元素的显示属性。
远程生产环境
部署到远程服务器:
# 1. 環境設定
cp .env.production.example .env.production
# .env.productionを編集
# 2. デプロイ
./scripts/deploy.sh
了解更多信息 快速启动.md 来修改标记元素的显示属性。
💡 精简模式
Lite Mode个人用PC中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。PostgreSQL仅使用Neo4j和Redis中描述的相应参数的值。
特徴
- 最低资源:空闲内存使用量<500MB
- 简单的设置: PostgreSQL仅使用
- 自动数据收集: AI Desktop App、AI IDE、CLI自动收集来自代理的对话
- 灵活的嵌入生成: OpenAI API、本地CLI、定制API支持
- 优雅的劣化:即使缺少选项依赖关系也继续运行
安装,安装
1.设置环境变量
cp .env.lite.example .env
.env编辑文件,然后单击PostgreSQL的连接信息:
# Lite Mode設定
LITE_MODE=true
ENABLE_GRAPH_STORE=false
ENABLE_REDIS_CACHE=false
# PostgreSQL設定(必須)
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=context_store
POSTGRES_PASSWORD=your_password_here
POSTGRES_DB=context_store
# 埋め込みプロバイダー(オプション)
EMBEDDING_PROVIDER=openai # または local-cli, custom-api
# EMBEDDING_CLI_COMMAND=gemini-cli embed # local-cliの場合
# EMBEDDING_API_ENDPOINT=http://localhost:8080/embed # custom-apiの場合
2. PostgreSQL启动
# Lite Modeプロファイルでサービスを起動
docker-compose --profile lite up -d
# または、既存のPostgreSQLを使用する場合はスキップ
3. MCP生成配置文件
# Claude Desktop用の設定を生成
npm run generate-config -- --lite-mode --client claude-desktop
# Cursor用の設定を生成
npm run generate-config -- --lite-mode --client cursor
# カスタムパスに出力
npm run generate-config -- --lite-mode --output ./my-config.json
编辑生成的配置文件以设置数据库凭据。
4.启动服务器
npm run build
npm start
选择嵌入式供应商
Lite Mode支持多种嵌入式生成方法:
OpenAI API(默认值)
EMBEDDING_PROVIDER=openai
OPENAI_API_KEY=your_api_key_here
本地CLI
EMBEDDING_PROVIDER=local-cli
EMBEDDING_CLI_COMMAND="gemini-cli embed"
# または
EMBEDDING_CLI_COMMAND="claude-code embed"
定制API
EMBEDDING_PROVIDER=custom-api
EMBEDDING_API_ENDPOINT=http://localhost:8080/embed
自动数据收集(收集器)
Lite Mode那么,各种AI可从工具自动收集对话数据:
- AI桌面应用程序:克劳德桌面、ChatGPT桌面
- AI-IDE:光标、风帆、副驾驶、Cline
- CLI代理:ClaudeCode、GeminiCLI、CodexCLI、CursorCLI
有关收集器的设置和启动方法scripts/LITE_MODE_MIGRATION.md来修改标记元素的显示属性。
故障排除
对于常见问题和解决方案Lite Mode故障排除指南来修改标记元素的显示属性。
快速检查
# PostgreSQL接続を確認
psql -h localhost -U context_store -d context_store
# Dockerコンテナのログを確認
docker-compose logs postgres
# MCP設定ファイルを検証
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq .
# 環境変数を確認
env | grep -E '(LITE_MODE|POSTGRES|EMBEDDING)'
详细的故障排除步骤是这边。
迁移到全模式
Lite Mode从全模式过渡到全模式非常简单:
# 1. 環境変数を更新
LITE_MODE=false
ENABLE_GRAPH_STORE=true
ENABLE_REDIS_CACHE=true
# 2. Neo4jとRedisを起動
docker-compose --profile full up -d
# 3. サーバーを再起動
npm run start
现有PostgreSQL数据可以直接使用。
环境变量引用
Lite Mode设定
|变量名|默认|说明|
|--------|-----------|------|
| LITE_MODE | false | Lite Mode启用(仅适用于PostgreSQL)
| ENABLE_GRAPH_STORE | true | Neo4j启用图形存储
| ENABLE_REDIS_CACHE | true | Redis启用高速缓存
PostgreSQL设定(必须)
|变量名|默认|说明|
|--------|-----------|------|
| POSTGRES_HOST | localhost | PostgreSQL主机|
| POSTGRES_PORT | 5432 | PostgreSQL端口
| POSTGRES_DB | context_store 数据库名称
| POSTGRES_USER |-|数据库用户名|
| POSTGRES_PASSWORD 数据库密码
嵌入式供应商设置
|变量名|默认|说明|
|--------|-----------|------|
| EMBEDDING_PROVIDER | openai |嵌入式供应商(openai, local-cli, custom-api) |
| OPENAI_API_KEY | - | OpenAI API键(openai使用供应商时)
| EMBEDDING_CLI_COMMAND | - | CLI命令(local-cli使用供应商时)
例: gemini-cli embed, claude-code embed |
| EMBEDDING_API_ENDPOINT |-|自定义API端点(custom-api使用供应商时)
收集器设置(可选)
|变量名|默认|说明|
|--------|-----------|------|
| COLLECTOR_POLL_INTERVAL | 1000 日志文件轮询间隔(毫秒)
| COLLECTOR_CLAUDE_DESKTOP_LOG_PATH | - | Claude Desktop的日志路径
| COLLECTOR_CHATGPT_DESKTOP_LOG_PATH | - | ChatGPT Desktop的日志路径
| COLLECTOR_CURSOR_LOG_PATH | - | Cursor的日志路径
| COLLECTOR_WINDSURF_LOG_PATH | - | Windsurf的日志路径
| COLLECTOR_COPILOT_LOG_PATH | - | GitHub Copilot的日志路径
| COLLECTOR_CLINE_LOG_PATH | - | Cline的日志路径
| COLLECTOR_CLAUDE_CODE_LOG_PATH | - | ClaudeCode的日志路径
| COLLECTOR_GEMINI_CLI_LOG_PATH | - | GeminiCLI的日志路径
| COLLECTOR_CODEX_CLI_LOG_PATH | - | CodexCLI的日志路径
| COLLECTOR_CURSOR_CLI_LOG_PATH | - | CursorCLI的日志路径
Web Viewer设置(可选)
|变量名|默认|说明|
|--------|-----------|------|
| WEB_VIEWER_ENABLED | false | Web Viewer启用
| WEB_VIEWER_PORT | 3001 | Web Viewer的端口
| WEB_VIEWER_AUTH_ENABLED | true |启用认证|
| WEB_VIEWER_AUTH_TOKEN |-|认证令牌|
记录设置
|变量名|默认|说明|
|--------|-----------|------|
| LOG_LEVEL | info |日志级别(error, warn, info, debug) |
全模式专用设置
|变量名|默认|说明|
|--------|-----------|------|
| NEO4J_URI | bolt://localhost:7687 | Neo4j接続URI |
| NEO4J_USER | neo4j | Neo4j用户名|
| NEO4J_PASSWORD | - | Neo4j密码
| NEO4J_DATABASE | neo4j | Neo4j数据库名称
| REDIS_URL | redis://localhost:6379 | Redis接続URL |
📚 文档
部署
- 本地生产环境 -在本地计算机上运行生产服务器
- MCP客户端集成 - Claude Desktop等的合并方法
- 快速启动 -5分钟部署
- 部署指南 -详细说明
- 部署核对表 -确认项目
- 生产环境准备指南 -生产环境要求
开発
仕様
精简模式
- Lite Mode要件 - Lite Mode要件定义
- Lite Mode设计 - Lite Mode技术设计
- 迁移指南 - Lite Mode迁移步骤
- 故障排除 -问题解决指南
所需环境
开発环境
- Node.js 20.x以上
- Docker&Docker编写
- Git
本番环境
- Docker 24.0+
- Docker Compose 2.20+
- Linux(Ubuntu 20.04+或RHEL 8+)
- 4+CPU内核(建议8+)
- 8 GB RAM(建议使用16 GB)
- 100 GB SSD(建议使用500 GB)
开発
命令
# 開発
npm run dev # 開発サーバー起動
npm run build # ビルド
npm start # 本番モード起動
# コード品質
npm run typecheck # 型チェック
npm run lint # Lint
npm run lint:fix # Lint自動修正
npm run format # フォーマット
npm run format:check # フォーマットチェック
# テスト
npm test # テスト実行
npm run test:coverage # カバレッジ付きテスト
# デプロイメント
npm run docker:build # Dockerイメージビルド
npm run docker:run # 本番サービス起動
npm run docker:stop # 本番サービス停止
npm run docker:logs # ログ表示
npm run deploy # 自動デプロイ
npm run benchmark # パフォーマンステスト
npm run health-check # ヘルスチェック
npm run validate-config # 設定検証
npm run security-audit # セキュリティ監査
测试数据库设置
默认情况下,测试会防止错误连接到生产数据库 context_store_test 使用数据库。
环境变数 POSTGRES_DB 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长
# テスト用に専用のデータベースを使用する場合
POSTGRES_DB=context_store_test npm test
重要:生产环境的数据库名称(context_store),模板名称将采用不同的格式。
安全检查
测试包括以下安全检查:
- 拒绝生产数据库名称:
context_store连接被显式阻止(不区分大小写) - 验证测试数据库名称:数据库名称是否包含“测试”"_test" (不区分大小写)
- CI环境中的显式配置请求: CI在环境中
POSTGRES_DB的明细栏样式中定义的设置
通过这些检查,破坏性的SQL防止对生产数据库执行操作(例如,DROP SCHEMA CASCADE)。
注意:所有验证都不区分大小写CONTEXT_STORE、Context_Store 等已弃用的函数的缺少的支持。
资源管理
MemoryManager清理
MemoryManager在内部PostgreSQL中所述修改相应参数的值。关闭应用程序时,请确保dispose()请调用方法适当释放资源。
import { MemoryManager } from './memory/memory-manager.js';
// MemoryManagerの作成
const memoryManager = new MemoryManager();
// ... 使用 ...
// シャットダウン時のクリーンアップ
process.on('SIGTERM', async () => {
await memoryManager.dispose();
process.exit(0);
});
重要注意事项
-
自动创建的池:
MemoryManager如果自动创建存储适配器(在构造函数中storage),模板名称将采用不同的格式dispose()自动关闭内部连接池。 -
外部提供的存储:
MemoryManager的构造函数storage选项卡页面上创建或编辑条目dispose()不会关闭连接池。在这种情况下,调用方负责管理连接池的生命周期。 -
幂等性:
dispose()方法是幂等,多次调用也很安全。
// 外部ストレージを使用する場合の例
import { Pool } from 'pg';
import { PostgresStorageAdapter } from './storage/postgres-store-adapter.js';
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
const storage = new PostgresStorageAdapter(pool);
const memoryManager = new MemoryManager({ storage });
// ... 使用 ...
// シャットダウン時
await memoryManager.dispose(); // 何もしない(外部管理のため)
await pool.end(); // 呼び出し側が明示的にクローズ
性能目标
- 延迟:P95<2000毫秒✓
- 吞吐量:100+要求/秒
- 可用性:99.9%正常运行时间
安全性
- 暗号化:AES-256-GCM(静止),TLS 1.3(传输中)
- 认证:API密钥,RBAC
- 监查: 365日保持、改ざん防止
- GDPR 数据保护:完全删除工作流
支持
许可证
麻省理工学院