Skip to main content
AI Tool Radar
OSI-openAgent memory and code knowledge

memU

NevaMind-AI

Memory framework for proactive AI agents - typed memory graph from chats, docs and media.

13.9k stars(as of 2026-06-14)View on GitHubHomepage

What is memU?

memU is a Python-first memory framework that converts conversations, documents, images, video, audio and local files into a typed memory graph (Resources, MemoryItems, Categories, Relations). It supports SQLite and PostgreSQL backends, configurable LLM routing for chat/embedding/vision/transcription, and offers a managed API alongside self-hosting.

memU in depth

Most AI agents forget. A chat session ends, a document is read once, and the context is gone unless the developer rebuilds it by feeding raw artifacts back into the model every time. That is expensive in tokens and brittle in practice. memU, built by NevaMind-AI, is a Python-first memory framework that tries to fix this by turning conversations, documents, images, video, audio, URLs and local files into a structured, persistent memory layer. Instead of re-reading the original sources on every turn, an agent ingests them once and later asks memU for scoped, relevant context. The project frames its core value as letting agents remember preferences, events and learned behavior across sessions, so that the work of understanding a user or a codebase does not have to start from zero each time.

memU is built around a typed memory graph rather than a flat vector store. Raw input flows through a memorize() pipeline that parses, extracts, organizes and persists data into four layers: Resources hold the original artifacts with captions and embeddings, MemoryItems are atomic typed memories sorted into categories like profile, event, knowledge, behavior, skill and tool, MemoryCategories summarize related items at topic level, and relation edges let an agent navigate between them without reprocessing the source. Storage is pluggable across in-memory, SQLite and PostgreSQL with pgvector, and LLM routing is configurable so chat, embedding, vision and transcription can each be handled by a different provider, including OpenAI, OpenRouter and custom base URLs. Retrieval works either as vector-first RAG or as semantic LLM ranking at each tier.

The framework is aimed squarely at Python developers building agents who want structured, searchable memory without standing up heavy infrastructure. The typing is the differentiator: if you care whether a remembered fact is a stable user attribute, a one-off event or a learned skill, the category model gives you handles that a plain embedding blob does not. Concrete use cases the project highlights include conversation memory that extracts user preferences and relationship context, workspace context for coding agents assembled from docs and logs, multimodal knowledge layers built from documents, screenshots and audio, and tool learning distilled from execution traces. For a solo developer or small team prototyping a personal assistant or an internal agent, the SQLite backend plus optional managed API make it realistic to get persistent memory running quickly.

The caveats are real and worth weighing. memU is Python only, and the README points at Python 3.13 or newer, which can complicate integration into existing stacks or non-Python agents. License signaling is inconsistent: GitHub reports NOASSERTION while Apache-2.0 is confirmed via the README badge, so anyone with strict compliance needs should verify before depending on it. The project reports strong numbers, including a claimed 92.09 percent average on the Locomo benchmark and roughly 10x token reduction, but independent validation of those figures is limited, so treat them as vendor claims. Recent commit activity leans toward documentation and bug fixes rather than large new capabilities, there is no published guidance on latency or behavior at very large memory scales, and the ecosystem is smaller than more established options.

Against its commercial alternative Mem0, memU competes less on maturity and more on its explicit typed graph and self-hosting flexibility. Mem0 has a larger ecosystem, broader SDK coverage and a more proven managed offering, so teams that want a hosted, multi-language memory service with support will likely find it the safer default today. memU is the more interesting pick when you are working in Python, want the data model and storage under your own control, and value strongly typed categories for retrieval. Adopt it for prototypes and internal agents where you can tolerate a moving target and verify the license yourself. Hold off if you need mature non-Python SDKs, contractual support, or proven real-time multimodal memory at scale, where the project is still too early to bet a production system on.

Pros & Cons

Pros

  • Typed memory categories (profile, event, knowledge, behavior, skill, tool) for structured retrieval
  • Pluggable storage (in-memory, SQLite, PostgreSQL) with pgvector examples
  • Active multi-contributor development

Cons

  • GitHub shows NOASSERTION (Apache-2.0 confirmed only via README badge)
  • Recent commits are mostly docs and bug fixes
  • Smaller ecosystem than Mem0 or MemOS

License

Apache-2.0 (OSI-open)

When it is interesting

Python agent projects needing strongly-typed, searchable memory with flexible storage and minimal infrastructure.

When it is too early

Projects needing mature SDK support beyond Python or real-time multimodal memory at scale.

Commercial alternative & related

  • Commercial counterpart: Mem0

This repo featured in the 2026-07 edition of the Open-Source AI Radar.