gitmyhub

mimir

Python ★ 5 updated 2d ago

Local-first AI agent memory, your agent's brain is an Obsidian vault you can open, read, and edit

A local, file based memory system for AI agents that stores what they know as readable markdown notes in an Obsidian vault.

PythonDuckDBQdrantRedisMCPsetup: easycomplexity 3/5

Mimir gives an AI agent a memory that lives as a folder of plain markdown files instead of hiding inside a database you cannot inspect. You can open that folder in Obsidian, a popular note taking app, read what the agent remembers, and even edit a fact by hand. The next time the agent thinks, it sees your correction, since there is no separate syncing step to run.

The problem the README describes is one every AI agent framework faces: conversations start from nothing each time. Stuffing the entire history back into the prompt burns through the token budget, summarizing throws details away permanently, and plain vector search cannot tell a memory from yesterday apart from one from six months ago. Mimir aims to solve this without requiring any cloud account, Docker setup, or API key to get started.

Under the hood, Mimir writes memories in a format it calls OKF, short for Open Knowledge Format, combining structured header data with markdown text and links between related facts. It uses up to four storage layers, though only one, a local DuckDB database file, is required. The others, an Obsidian vault of readable notes, an embedded Qdrant database for semantic search, and an optional Redis server for recent conversation caching, each add capability but are not required, and the system keeps working with reduced features if any are missing. A conversation is captured as raw turns, then summarized into notes and facts when a session ends, and later recalled through a mix of keyword and semantic search plus scoring based on relevance, recency, access frequency, and how closely connected it is within the notes.

Getting started only takes cloning the repository, installing it with pip, and running a local web server, which works with no configuration file needed. It can also be connected directly to Claude Code or any other MCP compatible AI tool, meaning it works as one of the external tools an AI assistant can call. The README is candid that this is an early stage project, tested with eighty three automated tests but not yet used widely by others, and it lists known gaps such as a regex based approach for finding names instead of a proper language model, and no published accuracy benchmarks yet. It is released under the MIT license.

Where it fits