How pramila180/memori works
Memori is a multi-language agent-memory product: Python and TypeScript SDKs, a shared Rust core, database adapters, and agent integrations. The main workflow attributes an LLM interaction, captures conversation or execution activity, augments it into structured memories, persists it, and retrieves relevant context for later requests. Separate branches cover BYODB and database provisioning, cloud/API access, and agent-specific integrations. Source evidence is sampled and incomplete; edges for documented but unsampled capabilities rely on README statements, and uncertain implementation links are omitted.
Main entry points: pipeline.rs Recall pipeline · __init__.py Python SDK · engine.ts TypeScript SDK · _manager.py Memory augmentation
Components 21
SDKs and orchestration
- Python SDK
memori/__init__.py - TypeScript SDK
memori-ts/src/core/engine.ts - LLM hooks
memori/llm/pipelines/conversation_injection.py - Native engine bridge
core/bindings/node/src/engine.rs
Memory lifecycle
- Conversation capture
memori/memory/_manager.py - Memory augmentation
memori/memory/augmentation/_manager.py - Augmentation pipeline
core/src/augmentation/pipeline.rs - Embedding generation
core/src/embeddings/api.rs
Storage and retrieval
- Recall pipeline
core/src/retrieval/pipeline.rs - Fact search
core/src/search/api.rs - Storage manager
core/src/storage/manager.rs - SQL drivers
core/src/storage/drivers/mod.rs - Python storage adapters
memori/storage/_registry.py - TypeScript storage
memori-ts/src/storage/manager.ts - BYODB database
Cloud and provisioning
- Memori Cloud API
- 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
- Application or agent
Connections 29
- Application or agent → Python SDK: registers LLM
README.md - Application or agent → TypeScript SDK: registers LLM
README.md - Python SDK → LLM hooks: integrates LLM
- LLM hooks → Conversation capture: captures turns
- Conversation capture → Memory augmentation: submits activity
memori/memory/_manager.py - Memory augmentation → Memori Cloud API: requests augmentation
- Memory augmentation → BYODB database: queues writes
- Native engine bridge → Augmentation pipeline: invokes pipeline
- Augmentation pipeline → Memori Cloud API: calls API
core/src/augmentation/pipeline.rs - Augmentation pipeline → Storage manager: writes batch
core/src/augmentation/pipeline.rs - Recall pipeline → Storage manager: fetches candidates
core/src/retrieval/pipeline.rs - Recall pipeline → Fact search: ranks facts
core/src/retrieval/pipeline.rs - Recall pipeline → Embedding generation: uses query vectors
- Storage manager → SQL drivers: dispatches by dialect
core/src/storage/manager.rs - SQL drivers → BYODB database: queries
- Python SDK → Python storage adapters: exposes BYODB
- Python storage adapters → BYODB database: adapts connections
- TypeScript SDK → Native engine bridge: loads native engine
memori-ts/src/core/engine.ts - TypeScript SDK → TypeScript storage: configures storage
memori-ts/src/core/engine.ts - TypeScript storage → BYODB database: adapts connections
- Application or agent → OpenClaw plugin: installs plugin
README.md - OpenClaw plugin → Memori Cloud API: captures and recalls
README.md - Application or agent → Hermes provider: configures provider
README.md - Hermes provider → Memori Cloud API: captures and recalls
README.md - Application or agent → Claude Code MCP: connects agent
README.md - Claude Code MCP → Memori Cloud API: accesses memory
README.md - Application or agent → Database provisioning: requests database
memori/provisioning/_manager.py - Database provisioning → Memori Cloud API: provisions service
- Database provisioning → BYODB database: configures connection