Git for AI Memory
Hierarchical Memory with Git-Like Version Control
Memoir is a high-performance semantic memory system for AI agents that brings Git-like version control to AI memory management. It replaces opaque vector databases with transparent, versioned, cryptographically secure memory storage using hierarchical semantic paths.
Project page: memoir-ai.dev — full overview, demos, and roadmap.
AI memory is a Global Variable anti-pattern. Every production agent hits the same three walls: context contamination, token rent, and memory drift. Memoir brings version control to your agent's mind.
Your agent doesn't respect your git state.
Context contamination happens every time you git checkout. Without branch-aware memory, your agent tries to apply experimental refactor patterns to stable production hotfixes.
You're paying "token rent" on a flat file.
Using CLAUDE.md or MEMORY.md as a global store is a cache-killer. Every minor memory update invalidates your entire prefix cache, forcing you to pay full price to re-process your entire conversation.
Your agent's memory is code without version control.
Today's AI memory — CLAUDE.md, vector stores, scratchpads — is treated like an append-only blob. One bad session poisons every future retrieval. Without memoir blame or memoir checkout, there's no way to audit who taught the agent a rule or revert a hallucination without wiping the whole store.
- Git-like Versioning — Branch, commit, merge, and rollback memories with cryptographic integrity.
- Semantic Paths — Replace UUID keys with meaningful paths like
profile.professional.skills.python. - O(log n) Lookups — Fast hierarchical search instead of expensive vector operations.
- Memory Aggregation — Automatic consolidation of related memories at semantic locations.
- Clean Architecture — Proper separation of storage, classification, and search layers.
- Multiple Search Engines — Choose between fast keyword-based or intelligent LLM-powered search.
pip install memoir-aiThe distribution name on PyPI is
memoir-ai. The Python import isimport memoirand the CLI ismemoir.
Memoir ships as a plugin for several coding and personal-assistant agents. Expand the one you use:
Claude Code
Inside a Claude Code session, run:
/plugin marketplace add zhangfengcdt/memoir
/plugin install memoir@memoir
No manual pip install needed if you have uv on PATH — the plugin auto-resolves to uvx --from memoir-ai memoir when the bare memoir binary isn't installed. Don't have uv? Install it once with the standard one-liner:
curl -LsSf https://astral.sh/uv/install.sh | shThat's enough — the plugin handles the rest. It registers hooks for session start, user-prompt-submit, and stop, so your project gets automatic context injection and auto-captured memories. See the Claude Code plugin guide for the full slash-command and hook reference.
Codex
Memoir's Codex plugin is distributed from this repository's Codex marketplace. In Codex, run /plugins, add the memoir marketplace from zhangfengcdt/memoir, restart Codex if prompted, then choose Memoir Plugins and install memoir.
You can also register the marketplace from the CLI:
codex plugin marketplace add zhangfengcdt/memoirWhile developing from a local checkout, use codex plugin marketplace add /absolute/path/to/memoir instead. The repo marketplace lives at .agents/plugins/marketplace.json and points Codex at ./plugins/codex, relative to the repository root.
No manual pip install needed if you have uv on PATH — the Codex plugin resolves the Memoir CLI the same way the Claude Code plugin does: memoir on PATH first, then uvx --from memoir-ai==<pinned> memoir, then uv tool run --from memoir-ai==<pinned> memoir.
Enable Codex hooks with [features].hooks = true in ~/.codex/config.toml or pass --enable hooks for a smoke run. The Codex plugin ships lifecycle hooks; memory-recall, memoir-onboard, memoir-remember, memoir-status, and memoir-ui skills; Codex-specific transcript parsing; and local marketplace metadata. See the Codex plugin guide for setup, limitations, and the real Codex smoke-test flow.
Hermes
Memoir is a memory provider for Hermes, the Nous Research personal-assistant agent. Install the plugin into your Hermes home and activate it:
hermes plugins install zhangfengcdt/memoir/plugins/hermes # or: cp -r plugins/hermes ~/.hermes/plugins/memoir
hermes memory setup # choose "memoir"Hermes then auto-captures durable facts (people, schedule, preferences, standing instructions) each turn and exposes memoir_recall / memoir_remember / memoir_forget / memoir_sync / memoir_status tools. Capture/classification run on your host-selected model via direct provider APIs (never the claude CLI). See the Hermes plugin guide for install, configuration, model selection, and proxy routing.
OpenClaw (community)
Memoir is a memory plugin for OpenClaw, the personal-assistant gateway. It lives in its own repo, zhangfengcdt/openclaw-memoir. Install it into the memory slot, allow conversation access, and restart the gateway:
openclaw plugins install https://github.com/zhangfengcdt/openclaw-memoir # or: --link /path/to/openclaw-memoir
openclaw config set plugins.entries.memory-memoir.hooks.allowConversationAccess true
systemctl --user restart openclaw-gatewayOpenClaw then auto-captures durable facts each turn (remembered across your sessions by default) and exposes memoir_recall / memoir_remember / memoir_forget / memoir_status tools plus an in-chat /memoir command. Set a capture model + provider key in config — plugins.entries.memory-memoir.config.{model,apiKey} (OpenClaw keeps its own keys in a secret store; use a temperature=0-capable model like anthropic/claude-haiku-4-5). See the OpenClaw plugin guide for configuration, scoping, model selection, and tool-profile notes.
OpenCode (community)
opencode-memoir is a community-maintained plugin that brings Memoir's long-term memory workflows to OpenCode through its native plugin system. Follow the install instructions in that repository.
Any MCP host (Claude Desktop, Cursor, Cline, Windsurf, VS Code, Zed, …)
Memoir ships an MCP server (memoir-mcp) on the official Model Context Protocol SDK, so any MCP-compatible host gets git-versioned memory — including the memoir_branches / memoir_checkout / memoir_commits versioning tools no other memory server has. No install needed if you have uv; add to your host's mcpServers config:
{
"mcpServers": {
"memoir": {
"command": "uvx",
"args": ["--from", "memoir-ai[mcp]", "memoir-mcp"],
"env": { "MEMOIR_STORE": "~/.memoir/mcp" }
}
}
}Recall is LLM-free by default (keyless), with opt-in single-call or multi-level tiered LLM modes; the store auto-creates on first use. See the MCP server guide for per-host config (VS Code/Zed/Continue/LibreChat differ slightly), recall modes + LLM setup, remote HTTP for ChatGPT/Claude.ai connectors, and the one-click Claude Desktop .mcpb.
Memoir's CLI defaults to Anthropic claude-haiku-4-5 as of v0.1.6 — set your key first:
export ANTHROPIC_API_KEY="sk-..."Note that if you do not set any model api keys, it will try to use the claude -p command to authenticate via claude code's subscription.
Then create a store and round-trip a memory:
# 1. Create a memoir store
memoir new my-memoir-store
cd my-memoir-store
# 2. Store with an explicit path (offline, no LLM call)
memoir remember "Sarah prefers tabs and 2-space indents" -p preferences.coding.style
# 3. Store with auto-classification (LLM picks the path; needs API key)
memoir remember "I work in Pacific time"
# 4. Read back by path (offline)
memoir get preferences.coding.style
# 5. Semantic search (LLM-backed)
memoir recall "what does Sarah prefer?"
# 6. Watch a file by indexing it on the fly
memoir watch add ~/papers/transformer.pdf -n research
# 7. Search the indexed content
memoir search "transformer attention mechanism"
# 8. Open the visual explorer (auto-opens in your browser)
memoir uiCurious what the UI looks like before installing? Browse the UI Gallery.
Prefer a different model? memoir recall "..." --model gpt-4o-mini (needs OPENAI_API_KEY), or set MEMOIR_LLM_MODEL in your shell. Resolution order: --model flag → MEMOIR_LLM_MODEL → claude-haiku-4-5.
See the full Quickstart for the Python API and version-control workflow.
Full docs live at zhangfengcdt.github.io/memoir:
- Quickstart — five-minute tour of the core loop.
- CLI Reference — every command, flag, and exit code.
- UI — the visual explorer (Tree / Graph / Timeline / Places +
/stats). - Claude Code — plugin install, slash commands, hooks, lifecycle.
- Codex — plugin install, hooks, skills, transcript parsing, smoke-test evidence.
- Architecture — taxonomy, classifier, store, search.
- API Reference — Python SDK.
- Examples — context branching, memory debugging, reproducible testing.
Memoir is alpha and contributions are very welcome — especially from people building coding agents, since that's the audience we're optimizing for. Good first paths in:
- Pick an issue from the issue tracker or open one describing a gap.
- Fork the repo, branch off
main, and runmake cibefore opening a PR (lint, tests, docs build must be green). - Bug reports with a minimal reproducer and benchmark / taxonomy proposals for coding-agent use cases are particularly appreciated.
Apache License 2.0 — see LICENSE.
