How memorilabs/memori works
Memori is a persistent-memory system for LLM agents, exposed through Python and TypeScript SDKs and agent integrations. The principal workflow attributes an agent’s interactions, captures conversations and execution outcomes, then recalls relevant memories for later requests. Its documented capabilities also include provider/framework integrations, BYODB, OpenClaw, Hermes, and MCP. The graph combines README-documented behavior with relationships visible in indexed source; unsampled internals and integration wiring are represented conservatively.
Main entry points: __init__.py Python SDK · pipeline.rs Vector Retrieval · manager.rs Rust Storage Manager · adapters LLM Adapters
Components 21
SDKs and Core
- Python SDK
memori/__init__.py - TypeScript SDK
memori-ts/src/core/engine.ts - LLM Adapters
memori/llm/adapters - API Client
memori/_network.py
Memory Pipeline
- Conversation Capture
memori/memory/_manager.py - Memory Augmentation
memori/memory/augmentation/_manager.py - Memory Recall
memori/memory/recall.py - Vector Retrieval
core/src/retrieval/pipeline.rs - Fact Search
core/src/search - Embeddings
core/src/embeddings
Storage and Provisioning
- Storage Manager
memori/storage/_manager.py - Rust Storage Manager
core/src/storage/manager.rs - SQL Drivers
core/src/storage/drivers - Database Provisioning
memori/provisioning/_manager.py
Agent Integrations
- OpenClaw Plugin
integrations/openclaw/src/index.ts - Hermes Provider
integrations/hermes/src/memori_hermes/__init__.py - Claude Code MCP
integrations/claude-code/index.ts
Other components
- Agent or App
- LLM Provider
- Memori Cloud API
- BYODB Database
Connections 22
- Agent or App → Python SDK: registers with
README.md - Agent or App → TypeScript SDK: registers with
README.md - Python SDK → LLM Adapters: registers provider
memori/__init__.py - LLM Provider → LLM Adapters: serves requests
README.md - LLM Adapters → Conversation Capture: captures turns
- Python SDK → Conversation Capture: starts persistence
memori/__init__.py - Conversation Capture → Memory Augmentation: enqueues input
memori/memory/_manager.py - Memory Augmentation → Storage Manager: queues writes
memori/memory/augmentation/_manager.py - Python SDK → Memory Recall: enables recall
memori/__init__.py - Memory Recall → Vector Retrieval: requests matches
- Vector Retrieval → Embeddings: uses vectors
core/src/retrieval/pipeline.rs - Vector Retrieval → Fact Search: ranks facts
core/src/retrieval/pipeline.rs - Vector Retrieval → Rust Storage Manager: fetches rows
core/src/retrieval/pipeline.rs - Python SDK → API Client: uses client
memori/__init__.py - API Client → Memori Cloud API: sends API requests
- Storage Manager → BYODB Database: connects through adapter
- Rust Storage Manager → SQL Drivers: dispatches by dialect
core/src/storage/manager.rs - Rust Storage Manager → BYODB Database: reads and writes
- Database Provisioning → Memori Cloud API: requests database
- OpenClaw Plugin → Python SDK: integrates memory
- Hermes Provider → Python SDK: uses SDK
- Claude Code MCP → Memori Cloud API: connects via MCP
README.md