This project implements a memory management system for AI agents that allows them to store, retrieve, and organize information in a structured way. The system uses Neo4j as the graph database for semantic relationships and integrates with MemMachine API plugin for enhanced memory operations.
- Built with TypeScript using Vite React framework
- Styled with Tailwind CSS
- Provides UI for managing AI agent memories
- Real-time visualization of memory graphs
- Python-based REST API
- Neo4j graph database integration
- MemMachine API plugin integration
- Memory management services
-
Memory Storage
- Structured storage of agent memories
- Semantic relationships between memories
- Timestamped entries for temporal organization
-
Memory Retrieval
- Query-based memory search
- Semantic similarity matching
- Context-aware retrieval mechanisms
-
Memory Organization
- Graph-based memory structure
- Relationship mapping between concepts
- Memory categorization and tagging
-
Integration with MemMachine
- API plugin for enhanced memory operations
- Seamless integration with existing memory systems
- Extended functionality through plugin architecture
- TypeScript 5.x
- React 18+
- Vite 5+
- Tailwind CSS 3+
- React Router 6+
- Python 3.9+
- FastAPI 0.100+
- Neo4j Driver for Python
- MemMachine API Plugin
what-is-memory/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ ├── services/ # API service clients
│ │ └── types/ # TypeScript type definitions
│ ├── public/
│ └── vite.config.ts # Vite configuration
├── backend/ # Python backend services
│ ├── app/ # Main application modules
│ │ ├── api/ # API endpoints
│ │ ├── models/ # Data models
│ │ ├── services/ # Business logic
│ │ └── database/ # Database integration
│ ├── requirements.txt # Python dependencies
│ └── main.py # Application entry point
├── docs/ # Documentation
└── README.md # This file
- Initialize Vite React frontend with TypeScript and Tailwind CSS
- Set up Python backend with FastAPI
- Configure Neo4j database connection
- Integrate MemMachine API plugin
- Implement memory storage services
- Create data models for memories
- Build graph structure for semantic relationships
- Develop basic CRUD operations
- Implement query-based search functionality
- Add semantic similarity matching
- Create context-aware retrieval system
- Build memory visualization tools
- Complete MemMachine API plugin integration
- Add advanced memory organization features
- Implement user interface for memory management
- Add testing and documentation
(:Memory {
id: string,
content: string,
timestamp: datetime,
type: string,
tags: [string],
source: string
})- (:Memory)-[:RELATED_TO]->(:Memory)
- (:Memory)-[:MENTIONS]->(:Entity)
- (:Memory)-[:ABOUT]->(:Topic)
POST /memories- Create new memoryGET /memories- List memoriesGET /memories/{id}- Get specific memoryPUT /memories/{id}- Update memoryDELETE /memories/{id}- Delete memory
POST /memories/search- Search memories by queryPOST /memories/similar- Find similar memoriesGET /memories/related/{id}- Get related memories
- Memory consolidation and pruning
- Advanced semantic analysis using NLP
- Multi-agent memory sharing
- Memory versioning and history tracking
- Integration with external knowledge bases
- AI agent training using stored memories
cd frontend
npm install
npm run devcd backend
pip install -r requirements.txt
python main.py- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a pull request
MIT License
