# caviraoss/openmemory

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/caviraoss-openmemory).**

3,350 stars · 386 forks · TypeScript · apache-2.0

## Links

- GitHub: https://github.com/CaviraOSS/OpenMemory
- Homepage: https://openmemory.cavira.app
- awesome-repositories: https://awesome-repositories.com/repository/caviraoss-openmemory.md

## Topics

`ai` `ai-agents` `ai-infrastructure` `ai-memory` `artificial-intelligence` `cognitive-architecture` `embeddings` `gemini` `llm` `long-term-memory` `memory` `memory-engine` `memory-retrieval` `ollama` `one-line` `openai` `openmemory` `rag` `supermemory` `vector-database`

## Description

OpenMemory is an embeddable memory engine for LLM agents that stores, retrieves, and manages conversational context and agent state using semantic indexing and temporal facts. It functions as a semantic memory store backed by vector indexing, where memories are organized by meaning rather than by exact key, and includes a tiered decay engine that gradually reduces the salience of unused memories while compressing cold vectors and fingerprinting dormant entries to conserve storage. The system also maintains a temporal fact database that records factual statements with subject-predicate-object structure and explicit validity windows for time-aware knowledge queries.

The engine differentiates itself through several integrated memory management capabilities. It applies emotional salience boosting to prioritize emotionally charged content, generates reflection-based summaries by periodically clustering related memories and synthesizing condensed summaries, and supports fingerprint compression for cold storage that can restore dormant memories to full representation on access. A stateful agent loop orchestrates a cycle of observation, recall, planning, tool execution, and storage to maintain persistent conversational context, while standalone embedding mode allows the memory engine to run as an embedded library within a host application without requiring a separate backend server.

The system provides full CRUD operations for memory records, semantic search with filtering by user, sector, or minimum salience, and temporal analysis including entity timelines and state transition tracking. It supports document and webpage ingestion to extract and store content as memories, user summary generation and retrieval, and memory compression that condenses verbose content while preserving core meaning. Deployment options include Railway, Render, and Vercel standalone modes, with monitoring capabilities for decay processing and engine state inspection.

## Tags

### Artificial Intelligence & ML

- [Agent Memory Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-memory-engines.md) — Provides an embeddable memory engine that stores, retrieves, and manages conversational context and agent state using semantic indexing and temporal facts.
- [Agent Memory Storage](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-memory-storage.md) — Persists content with tags, metadata, user identity, and importance scores for later retrieval. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Agentic Execution Loops](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-reasoning-loops/critic-agent-loops/agentic-execution-loops.md) — Orchestrates a cycle of observing input, recalling past experiences, planning actions, executing tools, and storing results for persistent context. ([source](https://openmemory.cavira.app/docs/examples/agents))
- [Stateful](https://awesome-repositories.com/f/artificial-intelligence-ml/chatbot-builders/stateful.md) — Provides a stateful chatbot builder that persists user context and conversation history across sessions using a dedicated memory store. ([source](https://openmemory.cavira.app/docs/examples/python-chatbot))
- [Temporal Fact Management](https://awesome-repositories.com/f/artificial-intelligence-ml/fact-based-knowledge-representation/temporal-fact-management.md) — Records and queries factual statements with subject-predicate-object structure and validity periods.
- [Per-User Memory Isolation](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-provenance-tracking/user-personalization-traces/editable-user-persona-memory/per-user-memory-isolation.md) — Lists all memory entries scoped to a specific user identifier for retrieval. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Memory Relevance Controls](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-relevance-controls.md) — Retrieves the most contextually relevant memories by comparing semantic similarity against stored vectors. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Memory Decay Policies](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-relevance-controls/memory-decay-policies.md) — Gradually reduces memory salience over time unless reinforced by subsequent queries. ([source](https://openmemory.cavira.app/docs/sdks/javascript))
- [Stateful Agent Orchestrators](https://awesome-repositories.com/f/artificial-intelligence-ml/stateful-agent-orchestrators.md) — Coordinates a cycle of observation, recall, planning, tool execution, and storage to maintain persistent conversational context.
- [Memory Compression](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-compression.md) — Automatically condenses verbose memory content while preserving its core semantic meaning. ([source](https://openmemory.cavira.app/docs/sdks/javascript))
- [Fingerprinted Memory Regenerators](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-relevance-controls/memory-decay-policies/fingerprinted-memory-regenerators.md) — Restores fingerprinted memories to full representation when accessed, enabling efficient cold storage with on-demand regeneration. ([source](https://openmemory.cavira.app/docs/concepts/decay))
- [Memory Reinforcement Mechanisms](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-relevance-controls/memory-decay-policies/memory-reinforcement-mechanisms.md) — Manually increases the salience score of a specific memory to boost its relevance in future queries. ([source](https://openmemory.cavira.app/docs/api/routes))

### Data & Databases

- [Agent State Persistence](https://awesome-repositories.com/f/data-databases/agent-state-persistence.md) — Provides a persistence layer that indexes agent state snapshots semantically for retrieval by meaning.
- [Semantic Indexing for Agent State](https://awesome-repositories.com/f/data-databases/agent-state-persistence/semantic-indexing-for-agent-state.md) — Indexes agent state snapshots semantically for retrieval by meaning rather than by key. ([source](https://openmemory.cavira.app/docs/advanced/langgraph))
- [Temporal Fact Creation](https://awesome-repositories.com/f/data-databases/data-deduplication-tools/message-deduplication/fact-deduplication/temporal-fact-creation.md) — Records factual statements with subject-predicate-object structure and validity periods. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Temporal Fact Stores](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/document-unstructured-extraction/fact-extraction-pipelines/temporal-fact-stores.md) — Records factual statements with subject-predicate-object structure and explicit validity windows for time-aware knowledge queries.
- [Temporal Knowledge Graphs](https://awesome-repositories.com/f/data-databases/entity-relationships/temporal-knowledge-graphs.md) — Records factual statements with subject-predicate-object triples and explicit validity windows for time-aware knowledge queries.
- [Semantic Search](https://awesome-repositories.com/f/data-databases/semantic-search.md) — Retrieves relevant memories by comparing semantic similarity against stored vectors with filtering.
- [Memory Search Engines](https://awesome-repositories.com/f/data-databases/semantic-search/memory-search-engines.md) — Finds relevant stored content by semantic query, optionally filtered by sector, user, or minimum salience. ([source](https://openmemory.cavira.app/docs/sdks/javascript))
- [Salience-Based Decay Engines](https://awesome-repositories.com/f/data-databases/tiered-caching-systems/multi-tier-memory-systems/salience-based-decay-engines.md) — Applies graduated salience reduction rules across recency tiers, compressing cold vectors and fingerprinting dormant entries to conserve storage.
- [Vector Indexing](https://awesome-repositories.com/f/data-databases/vector-indexing.md) — Stores memory content as high-dimensional vectors for similarity-based retrieval rather than exact keyword matching.
- [Memory Record Creators](https://awesome-repositories.com/f/data-databases/vector-memory-stores/memory-optimized-storage/memory-record-creators.md) — Stores new memory records with user-defined content, metadata, and salience settings for later retrieval. ([source](https://openmemory.cavira.app/docs/api/add-memory))
- [Memory Record Deleters](https://awesome-repositories.com/f/data-databases/vector-memory-stores/memory-record-deleters.md) — Removes memory records along with their vector embeddings and associated waypoints from the store. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Semantic Memory Stores](https://awesome-repositories.com/f/data-databases/vector-memory-stores/semantic-memory-stores.md) — Ships a vector-backed storage system that indexes memories by meaning and supports salience-based decay, compression, and reinforcement.
- [Temporal Fact Invalidation](https://awesome-repositories.com/f/data-databases/data-deduplication-tools/message-deduplication/fact-deduplication/temporal-fact-invalidation.md) — Closes the validity period of a factual statement, marking it as no longer current. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Temporal Fact Update](https://awesome-repositories.com/f/data-databases/data-deduplication-tools/message-deduplication/fact-deduplication/temporal-fact-update.md) — Modifies the confidence score or metadata of an existing factual statement. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Temporal State Tracking](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-operations/sql-query-execution/history-tracking/variable-state-tracking/temporal-state-tracking.md) — Maps each state change to a timeline, creating a temporal graph of how agent memory evolves. ([source](https://openmemory.cavira.app/docs/advanced/langgraph))
- [Temporal Knowledge Analyzers](https://awesome-repositories.com/f/data-databases/entity-relationships/temporal-knowledge-graphs/temporal-knowledge-analyzers.md) — Provides entity timelines, pattern searches, date comparisons, graph statistics, and identifies the most volatile facts. ([source](https://openmemory.cavira.app/docs/api/routes))
- [Importance-Ranked Retrievers](https://awesome-repositories.com/f/data-databases/indexing-and-search/recall-optimization/conversation-memory-retrieval/importance-ranked-retrievers.md) — Ranks memories by importance so that the most relevant ones are surfaced first during recall. ([source](https://openmemory.cavira.app/docs/concepts/salience))
- [Query-Based Memory Reinforcers](https://awesome-repositories.com/f/data-databases/indexing-and-search/recall-optimization/conversation-memory-retrieval/natural-language-memory-queries/query-based-memory-reinforcers.md) — Boosts the salience of memories matched during a query to prevent useful information from fading away. ([source](https://openmemory.cavira.app/docs/concepts/decay))
- [Temporal Fact Queries](https://awesome-repositories.com/f/data-databases/temporal-query-operators/temporal-fact-queries.md) — Retrieves stored factual statements filtered by subject, predicate, object, or a specific point in time. ([source](https://openmemory.cavira.app/docs/api/routes))

### Networking & Communication

- [Conversational Chatbots](https://awesome-repositories.com/f/networking-communication/slack-integrations/conversational-chatbots.md) — Builds chatbots that retain user context and conversation history across sessions using persistent memory.

### Software Engineering & Architecture

- [Memory Record Updaters](https://awesome-repositories.com/f/software-engineering-architecture/file-based-project-storage/project-memory-banks/memory-knowledge-updates/memory-record-updaters.md) — Modifies the content or metadata of previously stored memories while preserving their vector representations. ([source](https://openmemory.cavira.app/docs/api/routes))

### User Interface & Experience

- [Memory Listers](https://awesome-repositories.com/f/user-interface-experience/context-scoping/memory-scoping/user-scoped-memory/memory-listers.md) — Returns paginated collections of memories, optionally filtered by sector or user identifier. ([source](https://openmemory.cavira.app/docs/api/routes))
- [User Memory Deleters](https://awesome-repositories.com/f/user-interface-experience/context-scoping/memory-scoping/user-scoped-memory/user-memory-deleters.md) — Removes every memory entry associated with a given user identifier from the store. ([source](https://openmemory.cavira.app/docs/api/routes))

### DevOps & Infrastructure

- [Webpage Ingestion](https://awesome-repositories.com/f/devops-infrastructure/file-uploaders/cli-document-ingestion/webpage-ingestion.md) — Uploads files or scrapes URLs to extract and store content as searchable memories.

### Education & Learning Resources

- [Current Fact Retrieval](https://awesome-repositories.com/f/education-learning-resources/active-recall-exercises/fact-retrieval-systems/current-fact-retrieval.md) — Returns the most recent version of a factual statement for a given subject and predicate pair. ([source](https://openmemory.cavira.app/docs/api/routes))

### Graphics & Multimedia

- [Memory Salience Boosters](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/audio-emotion-classifiers/emotional-modulation/memory-salience-boosters.md) — Implements emotional salience boosting that adjusts memory importance scores based on detected sentiment intensity.

### Programming Languages & Runtimes

- [Embedded Memory Engines](https://awesome-repositories.com/f/programming-languages-runtimes/library-embedding/embedded-memory-engines.md) — Runs the memory engine as an embedded library within a host application, eliminating the need for a separate backend server.

### Security & Cryptography

- [Memory Fingerprint Compressors](https://awesome-repositories.com/f/security-cryptography/device-fingerprinting/fingerprint-caching/memory-fingerprint-compressors.md) — Ships fingerprint compression for cold storage that replaces dormant memory vectors with compact fingerprints restorable on access.

### Web Development

- [Memory Cluster Summarizers](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/summary-generators/memory-cluster-summarizers.md) — Periodically clusters related memories and synthesizes condensed summaries through automated semantic reflection.
- [Emotional Salience Boosters](https://awesome-repositories.com/f/web-development/search-result-management/search-result-item-definitions/search-result-promoters/relevance-score-boosting/emotional-salience-boosters.md) — Increases the importance of memories that carry strong positive or negative sentiment scores to prioritize emotionally charged content. ([source](https://openmemory.cavira.app/docs/concepts/salience))
