Build a user-owned, cross-platform memory layer for AI agents that seamlessly unifies personal data across applications.
This project explores building an interoperable memory layer that consolidates a user's memories in a single place so different AI agents can leverage richer context and produce better results. The design is inspired by existing systems such as Mem0, Zep, and LangMem.
Memories are primarily created and updated through two complementary methods:
- Foreground (Real-Time Extension): A browser extension observes user interactions on approved websites and updates relevant information immediately.
- Background (Periodic Sync): Memories are periodically refreshed using APIs for user-specified applications.
Different types of memories are persisted in specialized stores:
- Semantic & Contextual Memories: Stored in Azure Cosmos DB and retrieved via vector search.
- Episodic & Procedural Memories: Incrementally updated in a knowledge graph using Graphiti and Neo4j.
Both stores are queried when contextualization is required, and their results can be merged or ranked for downstream agent workflows.
Current AI assistants lack persistent, structured, and user-controlled long-term context. A unified, portable memory layer can:
- Reduce redundant prompting and repeated user input.
- Enable personalization across heterogeneous agents and tools.
- Improve retrieval quality by combining semantic embeddings with graph-linked episodic structure.
- Support explainability and traceability of agent behavior.
Browser extension that captures user interactions and conversations in real-time across supported platforms.
manifest.json: Extension configuration and permissionsbackground.js: Service worker for extension lifecycle managementpopup.html/js: Extension popup interface for user controlssrc/teams/content.js: Microsoft Teams content script for memory retrieval and suggested repliessrc/chatgpt/content.js: ChatGPT content script for conversation capturesrc/services/auth.service.js: Authentication service for secure API communication
RESTful API server providing memory storage, retrieval, and processing capabilities.
memories/: Core memory management Django appmodels.py: Memory and summary data modelsviews.py: API endpoints for memory CRUD operations and retrievalazure_openai.py: Azure OpenAI integration for embeddings and LLM callscosmos_db.py: Azure Cosmos DB connection and vector searchgraphiti_client.py: Graphiti knowledge graph integration
authentication/: User authentication and authorizationrequirements.txt: Python dependenciesmanage.py: Django management script
Native Teams application for enhanced integration and bot capabilities.
src/: TypeScript source code for Teams app logicappPackage/: Teams app manifest and assetsinfra/: Azure infrastructure as code (Bicep templates)
- Python 3.8+
- Node.js 16+
- Azure Cosmos DB account
- Azure OpenAI service
- Chrome browser for extension development
-
Clone the repository
git clone https://github.com/srwshkrshnn/AgenticMem.git cd AgenticMem -
Set up the backend server
cd server pip install -r requirements.txt python manage.py migrate python manage.py runserver -
Install the Chrome extension
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select the
/extensionfolder
- Open Chrome and navigate to
-
Configure environment variables
- Copy
.env.exampleto.envin the server directory - Add your Azure Cosmos DB and OpenAI credentials
- Copy
- Extension Usage: Install the Chrome extension and visit supported platforms (Teams, ChatGPT)
- Memory Retrieval: The extension automatically suggests contextual replies based on conversation history
- API Access: Use the REST API endpoints for programmatic memory management