{"full_name":"mem0ai/mem0","owner":"mem0ai","name":"mem0","url":"https://github.com/mem0ai/mem0","description":"The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production.","homepage":"https://mem0.ai","topics":[],"language":"Python","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/137054526?v=4","created_at":"2023-06-20T08:58:36Z","pushed_at":"2026-11-06T16:53:07Z","metrics":{"stars":68738,"forks":8178,"watchers":254,"issues":2366,"prs":5156,"releases":416,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":162},"growth":{"day":{"stars":61,"forks":8,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[68677,68738],"forks":[8170,8178],"watchers":[254,254],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":5352,"title":"Workaround: Solving time-blindness, semantic conflicts, and missing CRUD in Mem0 OSS + Qdrant","comments":54,"created_at":"2026-06-03T05:01:36Z"},{"number":7283,"title":"Faithfulness check before memory write , interested in contributing a pluggable verification hook","comments":34,"created_at":"2026-09-11T09:57:30Z"},{"number":4956,"title":"ADD-only extraction in v3 may surface stale/contradictory facts for time-sensitive attributes","comments":23,"created_at":"2026-04-24T10:33:16Z"},{"number":5245,"title":"Silent memory loss when batch embedding partially fails in V3 add pipeline","comments":22,"created_at":"2026-05-24T12:41:17Z"},{"number":7452,"title":"bug(memory): delete_all() leaves the scope's session messages, which are re-sent to the LLM on the next add()","comments":17,"created_at":"2026-09-25T13:39:22Z"},{"number":4892,"title":"Bug: concurrent AsyncMemory writes corrupt Qdrant HNSW index ('index N is out of bounds')","comments":13,"created_at":"2026-04-19T22:54:15Z"},{"number":7376,"title":"RFC: memory export interop — portable bundles with proof and chain of custody","comments":12,"created_at":"2026-09-18T14:20:00Z"},{"number":5867,"title":"ADD-only memory extraction can create conflicting memories","comments":11,"created_at":"2026-06-25T15:56:47Z"}],"discussions":[{"number":7851,"title":"Scoring LongMemEval-S retrieval rankings with a standalone -score driver (no tool in the loop)","comments":0,"category":"General","created_at":"2026-11-06T15:54:11Z"},{"number":7813,"title":"Cloud Alter Ego: a remote MCP connector that keeps your agent memory as Markdown files in your own cloud","comments":0,"category":"Show and tell","created_at":"2026-11-01T20:16:52Z"},{"number":7687,"title":"Markdown-Native Memory Layer for Local AI Agents using Obsidian and Mem0 Principles","comments":0,"category":"Show and tell","created_at":"2026-10-20T05:16:52Z"},{"number":7672,"title":"Hosted infer=true ADD — Event result mapping and bounded cleanup semantics","comments":0,"category":"Q&A","created_at":"2026-10-19T00:01:48Z"},{"number":7657,"title":"Way-audit of Mem0 OSS: 1 covered, 5 partial, 2 gaps (with file refs)","comments":1,"category":"Show and tell","created_at":"2026-10-15T14:24:05Z"},{"number":7656,"title":"How does mem0 handle multi-agent team chats in Telegram?","comments":3,"category":"Q&A","created_at":"2026-10-15T13:15:23Z"},{"number":7609,"title":"Invitation: open Memory Tournament: review your setup before we run","comments":0,"category":"General","created_at":"2026-10-12T02:21:46Z"},{"number":7543,"title":"Community benchmark: we evaluated mem0 (OSS v2.2.1) as a context provider for causal reasoning — numbers + invite to correct","comments":0,"category":"Show and tell","created_at":"2026-10-04T16:38:46Z"}],"latest_release":{"name":"Mem0 Node SDK (v3.3.1)","tag":"ts-v3.3.1","published_at":"2026-09-25T17:36:35Z","body":"**Bug Fixes:**\r\n- **Config (OSS):** `ConfigManager` no longer injects OpenAI's default `baseURL` and `model` into non-OpenAI LLM providers. The defaults now apply only to `openai` and `openai_structured`, so a DeepSeek, xAI, or other provider config without an explicit `baseURL` or `model` falls back to that provider's own defaults and env vars (`DEEPSEEK_API_BASE`, `XAI_API_BASE`, ...) instead of pointing at OpenAI with an OpenAI model name ([#7350](https://github.com/mem0ai/mem0/pull/7350))\r\n- **Vector Stores:** Turbopuffer filters now apply every operator (`eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`). Only the range operators were read before, so `eq`, `ne`, `in`, and `nin` were silently dropped. A `\"*\"` value now matches anything instead of nothing, an array value is treated as `in`, and an unsupported operator throws ([#6578](https://github.com/mem0ai/mem0/pull/6578))\r\n- **Vector Stores:** Turbopuffer `search()` with `euclidean_squared` now maps the unbounded squared distance to `1 / (1 + distance)` instead of `1 - distance`, which went negative and inverted ranking for any distance above 1 ([#6580](https://github.com/mem0ai/mem0/pull/6580))\r\n- **Packaging:** `pg`, `@types/pg`, and `natural` are now optional peer dependencies, and `pg` / `@types/pg` accept caret ranges instead of the exact `8.11.3` / `8.11.0` pins, so installing `mem0ai` no longer pulls in `pg` or conflicts with an app's own `pg` version. The PGVector store now imports `pg` only when it is used, so install it alongside `mem0ai` (`npm install pg`) if you use that store. `@types/jest` moved from peer dependencies to dev dependencies ([#7450](https://github.com/mem0ai/mem0/pull/7450))"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}