AI上下文持久化系统

一个用于AI助手的记忆管理和上下文持久化系统,支持Neo4j图数据库存储和MCP服务器集成。

  • by corbyjamesibm
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 corbyjamesibm/persistent-context-mcp

使用说明

@corbyjames/持久上下文mcp

用于Claude Desktop和其他人工智能助手的具有模型上下文协议(MCP)服务器的AI内存管理和上下文持久化系统。

🌟 特性

  • 持久上下文存储:使用Neo4j图形数据库存储和检索对话上下文
  • MCP服务器集成:通过模型上下文协议与Claude Desktop完全兼容
  • Web用户界面:用于管理上下文和可视化关系的交互式仪表板
  • 多存储支持:Neo4j用于图形关系,文件系统用于备份
  • 人工智能集成:可选的OpenAI/Anthropic API支持语义搜索
  • Docker/Podman支持:容器化部署选项
  • CLI工具:全局命令行界面,便于管理

🚀 快速开始

安装

# Install globally
npm install -g @corbyjames/persistent-context-mcp

# Or using npx (no installation required)
npx @corbyjames/persistent-context-mcp init

初始化配置

# Interactive setup
persistent-context init

# With Claude Desktop integration
persistent-context init --claude

# With Docker configuration
persistent-context init --docker

启动服务

# Start Neo4j database
persistent-context neo4j start

# Start MCP server
persistent-context start

# Start with UI
persistent-context start --ui

# Or run as daemon
persistent-context start --daemon

🔧 Claude桌面集成

自动设置

persistent-context claude-setup

这将自动配置Claude Desktop以使用MCP服务器。

手动配置

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "persistent-context": {
      "command": "persistent-context",
      "args": ["start"],
      "env": {
        "PORT": "3000"
      }
    }
  }
}

备注:配置后重新启动Claude Desktop。

🐳 Docker/Podman部署

使用Docker

# Generate docker-compose.yml
persistent-context container docker

# Start services
docker-compose up -d

# View logs
docker-compose logs -f

使用Podman

# Generate podman-compose.yml
persistent-context container podman

# Start services
podman-compose up -d

# View logs
podman-compose logs -f

预构建Docker镜像

docker run -d \
  --name persistent-context \
  -p 3000:3000 \
  -p 5173:5173 \
  -e NEO4J_URI=bolt://neo4j:7687 \
  -e NEO4J_USER=neo4j \
  -e NEO4J_PASSWORD=password \
  corbyjames/persistent-context-mcp:latest

📁 配置

环境变量

创建一个 .env 项目目录中的文件:

# Neo4j Configuration
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password

# Server Configuration
PORT=3000
NODE_ENV=production
LOG_LEVEL=info

# Data Storage
DATA_DIR=~/.persistent-context
BACKUP_DIR=~/.persistent-context/backups

# Optional: AI Integration
OPENAI_API_KEY=your-api-key

# Security - Store in secure vault for production
SECRETS_PATH=~/.persistent-context/secrets

秘密管理

对于生产部署,我们建议使用以下方式存储机密:

  • AWS机密管理器

    aws secretsmanager create-secret \
      --name persistent-context/neo4j \
      --secret-string '{"password":"secure-password"}'
    
  • Azure密钥库

    az keyvault secret set \
      --vault-name mykeyvault \
      --name neo4j-password \
      --value "secure-password"
    
  • HashiCorp 金库

    vault kv put secret/persistent-context \
      neo4j_password="secure-password"
    
  • Kubernetes的秘密

    kubectl create secret generic persistent-context \
      --from-literal=neo4j-password=secure-password
    

🖥️ CLI命令

核心命令

# Initialize configuration
persistent-context init [options]
  --claude    Setup for Claude Desktop
  --docker    Generate Docker config
  --podman    Generate Podman config

# Start MCP server
persistent-context start [options]
  -d, --daemon    Run as daemon
  --ui            Also start the UI

# Start web UI
persistent-context ui [options]
  -p, --port    UI port (default: 5173)

# Manage Neo4j
persistent-context neo4j <action>
  start    Start Neo4j container
  stop     Stop Neo4j container
  status   Check Neo4j status

# Setup Claude Desktop
persistent-context claude-setup

# Generate container config
persistent-context container <runtime>
  docker    Generate docker-compose.yml
  podman    Generate podman-compose.yml

短别名

您还可以使用短别名 pcmcp:

pcmcp init
pcmcp start
pcmcp ui

🏗️ 建筑

┌─────────────────┐     ┌──────────────┐     ┌─────────────┐
│  Claude Desktop │────▶│  MCP Server  │────▶│    Neo4j    │
└─────────────────┘     └──────────────┘     └─────────────┘
                               │
                               ▼
                        ┌──────────────┐
                        │   Web UI     │
                        └──────────────┘

组件

  • MCP服务器:为AI助手实现模型上下文协议
  • Neo4j数据库:将上下文存储为知识图
  • Web用户界面:基于React的可视化仪表板
  • CLI工具:管理命令行界面

🔌 MCP工具可用

与Claude Desktop集成后,可以使用以下工具:

保存上下文

将新上下文保存到持久存储。

{
  title: string;
  content: string;
  tags?: string[];
  metadata?: Record<string, any>;
}

搜索文本

使用语义或关键字搜索来搜索上下文。

{
  query: string;
  limit?: number;
  tags?: string[];
  dateRange?: {
    start: string;
    end: string;
  };
}

生成模板

为特定用例生成上下文模板。

{
  type: 'technical' | 'business' | 'analysis' | 'planning';
  domain?: string;
  includeExamples?: boolean;
}

📊 Web UI功能

访问web UI http://localhost:5173 (跑步时 --ui 标志):

  • 仪表盘:存储上下文和统计信息概述
  • 上下文浏览器:搜索和浏览所有上下文
  • 图形可视化:交互式知识图
  • 模板:预构建的上下文模板
  • 分析:使用模式和见解
  • 设置:配置管理

🔒 安全考虑

  1. 默认凭据:立即更改默认Neo4j密码
  2. 网络安全:在生产环境中使用TLS/SSL
  3. 访问控制:实现web UI的身份验证
  4. 数据加密:为Neo4j启用静态加密
  5. 秘密管理:在生产中使用适当的秘密金库

🧪 测试

# Run all tests
npm test

# Unit tests only
npm run test:unit

# Integration tests
npm run test:integration

# E2E tests
npm run test:e2e

# Test coverage
npm run test:coverage

📦 从源头构建

# Clone repository
git clone https://github.com/corbyjames/persistent-context-mcp.git
cd persistent-context-mcp

# Install dependencies
npm install

# Build project
npm run build

# Run locally
npm start

🤝 贡献

欢迎投稿!请阅读我们的 贡献指南 了解详情。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

🗺️ Roadmap

  • []支持多用户身份验证
  • []云部署模板(AWS、Azure、GCP)
  • []其他AI模型集成
  • []导出/导入功能
  • []上下文版本控制和历史记录
  • []协同上下文编辑
  • []移动应用支持

由以下材料制成❤️ 科尔比·詹姆斯