Symptom: TS OSS `memory.search()` returns entity rows (fragment text
like "a fan of", "recommending thriller movies and") mixed in with
real memories. The broken rows have `hash: undefined` and
`createdAt: undefined` because they came from the entity store, not
the memory pipeline.
Root cause: `MemoryVectorStore` uses a single `vectors` SQLite table
and ignores `collectionName` internally. The entity store is created
as a parallel instance with `collectionName: "${name}_entities"` in
`memory/index.ts:193`, but both default to the same `dbPath`
(`~/.mem0/vector_store.db`) when the caller doesn't set one. Both
writers append to the same `vectors` table, so a search that reads
that table returns rows from both collections.
The existing mitigation at `memory/index.ts:199` (dbPath.replace) only
fires when `dbPath` is set explicitly. The default (unset) case fell
through with no isolation.
Fix: `getDefaultVectorStoreDbPath(collectionName?)` now derives the
default filename from the collection name
(`vector_store_${name}.db`). `MemoryVectorStore` passes
`config.collectionName` into the helper. Memory vs entity stores now
land in separate files automatically, even when the caller doesn't set
`dbPath`. Explicit `dbPath` users are unaffected — the existing
suffix-swap in `memory/index.ts` still handles them.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Mem0 - The Memory Layer for Your AI Apps
Mem0 is a self-improving memory layer for LLM applications, enabling personalized AI experiences that save costs and delight users. We offer both cloud and open-source solutions to cater to different needs.
See the complete OSS Docs. See the complete Platform API Reference.
1. Installation
For the open-source version, you can install the Mem0 package using npm:
npm i mem0ai
2. API Key Setup
For the cloud offering, sign in to Mem0 Platform to obtain your API Key.
3. Client Features
Cloud Offering
The cloud version provides a comprehensive set of features, including:
- Memory Operations: Perform CRUD operations on memories.
- Search Capabilities: Search for relevant memories using advanced filters.
- Memory History: Track changes to memories over time.
- Error Handling: Robust error handling for API-related issues.
- Async/Await Support: All methods return promises for easy integration.
Open-Source Offering
The open-source version includes the following top features:
- Memory Management: Add, update, delete, and retrieve memories.
- Vector Store Integration: Supports various vector store providers for efficient memory retrieval.
- LLM Support: Integrates with multiple LLM providers for generating responses.
- Customizable Configuration: Easily configure memory settings and providers.
- SQLite Storage: Use SQLite for memory history management.
4. Memory Operations
Mem0 provides a simple and customizable interface for performing memory operations. You can create long-term and short-term memories, search for relevant memories, and manage memory history.
5. Error Handling
The MemoryClient throws errors for any API-related issues. You can catch and handle these errors effectively.
6. Using with async/await
All methods of the MemoryClient return promises, allowing for seamless integration with async/await syntax.
7. Testing the Client
To test the MemoryClient in a Node.js environment, you can create a simple script to verify the functionality of memory operations.
Getting Help
If you have any questions or need assistance, please reach out to us:
- Email: founders@mem0.ai
- Join our discord community
- GitHub Issues: Report bugs or request features