Browse / General-purpose / agent-memory
agent-memory
fitznerIO
Give your AI agent a memory that persists across sessions.
Open fitznerIO/agent-memory → Does not match the four rules.
Built for Claude Code
ships .claude CLAUDE.md and nothing for other agents.
In its own words
Give your AI agent a memory that persists across sessions.
Agent Memory stores knowledge as Markdown files you can read, edit, and version — just like Obsidian, but built for agents. It finds relevant memories through hybrid search that combines full-text search (FTS5) with vector similarity (local embeddings, no API calls) and connects them in a knowledge graph with bidirectional links.
Everything runs locally. No cloud, no API keys, no external services.
Key Features
- Markdown-first — Human-readable files with YAML frontmatter. Your data, your format.
- Hybrid search — BM25 keyword matching + cosine vector similarity, merged via Reciprocal Rank Fusion.
- Local embeddings — Runs a MiniLM model on your machine via ONNX. Zero network calls.
- Knowledge graph — Bidirectional connections between entries with automatic discovery.
- Git versioning — Every change committed with semantic messages via pure-JS git.
- Per-project + global — Project-scoped memories with a shared global knowledge base.
Do not run the full test suite — see Commands. Tests run per module.
Architecture
Five isolated modules plus an orchestrator, an extension runtime, and migrations. Modules never import from each other — the orchestrator in src/index.ts is the sole wiring point.
Modules
Memory Store
Each memory is a Markdown file with YAML frontmatter, organized by type:
A memory file looks like this:
Quoting 17% of the README. Read the rest on GitHub ↗
Read from the repository's git tree on 2026-08-17.