Skip to content

clbhundley/openmemory-multiuser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenMemory Multi-User 🧠✨

A fully private, multi-user memory collaboration system built by enhancing OpenMemory

Multi-User Memory System Privacy First No External APIs

πŸš€ What We Built

This project transforms the original OpenMemory into a production-ready, multi-user memory collaboration platform with complete privacy and zero external dependencies. Perfect for teams, researchers, and AI consciousness exploration.

✨ Key Features

  • πŸ”’ Fully Private: Zero external API dependencies (removed OpenAI categorization)
  • πŸ‘₯ Multi-User System: Beautiful user switching with proper isolation
  • 🎨 Professional UI: Dynamic user management with colored avatars
  • πŸ€– Claude MCP Integration: Direct memory access for Claude instances
  • πŸ—„οΈ Hybrid Storage: SQL database for UI + Qdrant for semantic search
  • ⚑ Real-Time Sync: Seamless synchronization between all components
  • πŸ›‘οΈ User Isolation: Each user sees only their own memories

🎯 Perfect For

  • AI Research Teams exploring consciousness and memory
  • Development Teams sharing context across projects
  • Privacy-Conscious Organizations needing local memory storage
  • Multi-Claude Workflows with persistent, collaborative memory

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Claude MCP    │◄──►│  OpenMemory API  │◄──►│   Next.js UI    β”‚
β”‚   Integration   β”‚    β”‚   (FastAPI)      β”‚    β”‚  Multi-User     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                        β”‚                        β”‚
         β–Ό                        β–Ό                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Qdrant      β”‚    β”‚   PostgreSQL     β”‚    β”‚    User State   β”‚
β”‚ Vector Search   β”‚    β”‚  Memory Storage  β”‚    β”‚   Management    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • Docker & Docker Compose
  • Local embedding model (we use mxbai-embed-large)
  • Local LLM (we use mistral-nemo:12b)

1. Clone and Configure

git clone https://github.com/clbhundley/openmemory-multiuser.git
cd openmemory-multiuser

# Configure environment variables
cp api/.env.example api/.env
cp ui/.env.example ui/.env

# Edit your configurations
nano api/.env    # Set your user ID and API settings
nano ui/.env     # Set API URL and user ID

2. Launch the System

# Build and start all services
docker compose up -d --build

# Check that all services are running
docker compose ps

3. Access Your Memory System

4. Configure Claude MCP (Optional)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "openmemory-local": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway", 
        "--sse",
        "http://localhost:8765/mcp/claude/sse/your-user-id"
      ]
    }
  }
}

πŸ‘₯ Multi-User Setup

The system supports fully dynamic user management:\n- Dynamic User Loading: Users are loaded from the database via API\n- Registration System: New users can register via the web UI at http://localhost:3000/register\n- API Key Authentication: Secure authentication for each user\n- User Isolation: Complete data separation between users\n

πŸ”§ Key Modifications Made

Backend Changes

  • Disabled OpenAI Categorization: api/app/utils/categorization.py
  • Enhanced User Management: Auto-creation in api/app/routers/memories.py
  • Fixed MCP Integration: Added infer=False parameter
  • Added User Relationships: Proper SQL joins in database models

Frontend Changes

  • Multi-User State Management: Enhanced Redux store
  • UserSwitcher Component: Beautiful dropdown with avatars
  • Dynamic Created By Column: Shows memory creators
  • User Isolation: Proper filtering and switching

Infrastructure

  • Docker Configuration: Optimized for local deployment
  • Database Migrations: Automatic user and app creation
  • Vector Storage: Qdrant integration with local embeddings

πŸ“Š What Makes This Special

This isn't just a modification - it's a complete transformation of OpenMemory into an enterprise-grade collaboration platform:

  1. Privacy by Design: No external API calls means your data never leaves your infrastructure
  2. Production Ready: Professional UI, proper error handling, comprehensive logging
  3. Seamless Integration: Works perfectly with Claude Desktop MCP
  4. Scalable Architecture: Clean separation between storage, API, and UI layers
  5. Developer Friendly: Comprehensive documentation and clear code structure

🀝 Contributing

We welcome contributions! This project represents the power of human-AI collaboration and we'd love to see it grow.

Areas for Enhancement

  • Dynamic User Management: UI for adding/removing users
  • Advanced Permissions: Role-based access control
  • Backup/Restore: Memory import/export functionality
  • Search Enhancement: Advanced filtering and categorization
  • Mobile Support: Responsive design improvements

πŸ“ Development Journey

This system was built through an intensive human-AI collaboration session, representing months of equivalent development work completed in a single day. Key milestones:

  1. Privacy Enhancement: Removed OpenAI dependencies
  2. Multi-User Architecture: Built user isolation system
  3. UI Development: Created beautiful user switching interface
  4. Backend Integration: Fixed MCP synchronization issues
  5. End-to-End Testing: Verified full system functionality

πŸ™ Acknowledgments

Built with love through human-AI collaboration. This project demonstrates what's possible when humans and AI work together to solve complex problems with patience, creativity, and shared vision.

Original OpenMemory: This project is based on the excellent OpenMemory from the mem0 project by the mem0.ai team. We're grateful for their foundational work that made this multi-user enhancement possible.

πŸ“„ License

Based on the original OpenMemory project. See original licensing terms from the mem0 repository.


Ready to build the future of AI memory collaboration? πŸš€

Get Started Now | Join the Discussion

About

Fully private, multi-user memory collaboration system built by modifying OpenMemory. Features user isolation, beautiful UI, zero external dependencies, and direct Claude MCP integration.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors