mrkeyoor.com_
Sun 16 Aug 14:44 UTC
LLM Toolsevaluationupdated 16 Aug 2026

ai-memory

ai-memory is a self-hosted memory service that records coding-agent activity, turns it into a searchable Markdown wiki, and passes a compact handoff to later sessions. It solves the repeated-explanation problem when work moves between Claude Code, Codex, and other agent clients, while keeping the durable record on infrastructure you control.

Verdict

ai-memory is one of the most ambitious answers to coding agents forgetting yesterday's work, and its plain Markdown record is much easier to inspect than a mysterious memory service. Use it if cross-agent continuity is a daily pain and you are willing to operate the capture pipeline as sensitive infrastructure. Keep it local at first, test project routing, and do not promise per-session erasure until the strong deletion work has shipped and survived real deployments.

Setup3/5Local Docker is approachable; secure shared operation is substantial
Docs5/5Exceptional coverage of clients, security, routing, and operations
Community4/5Current releases and same-day issue and pull-request activity
Maturity3/5Wide feature set, with routing and deletion work still settling

Who it’s for

Developers who regularly switch between Claude Code, Codex, and other supported coding agents on the same repositories.
Teams that want searchable, self-hosted project history without operating a separate vector database.
Homelab operators comfortable securing an HTTP service and backing up its Markdown, Git, and SQLite state.
Developers who value automatic lifecycle capture more than carefully curating every memory by hand.

Who it’s NOT for

Teams requiring strict tenant isolation inside one shared knowledge base: the README says multi-user support adds attribution, but the data remains single-tenant with no per-page RBAC.
Organizations that must guarantee immediate deletion of one conversation from every retained layer: issue #387 documents that v1.25.0 lacked exact session purging, and the current implementation remains a draft pull request pending production-scale testing.
Developers who frequently move an agent session through scratch directories or other repositories and cannot audit routing: issue #394 reports hundreds of observations collected in phantom projects, with cross-repository sessions able to split their raw record.
Anyone unwilling to store prompts and tool activity in a persistent local service: capture is bounded and sanitized, but it still creates a durable record that needs access controls, retention policy, and backups.
Native Windows users who need the same confidence as Linux or macOS users: the support matrix still labels native Windows experimental and recommends WSL2 for the supported Linux path.

Setup reality

A private single-user trial is reasonable: run the Docker image on loopback, install the MCP entry and hooks, and use lexical search without configuring an LLM or embeddings. The README's quick start is long because the service touches agent configuration, host paths, hook scripts, persistent storage, and upgrades. Remote or team use is a real operations project involving bearer tokens, TLS through a reverse proxy, host allowlisting, per-user identity, backup testing, and careful routing rules. LLM consolidation and semantic search also bring provider credentials, model cost, and another failure surface.

The useful idea is a compiled work log

ai-memory treats coding-agent memory as infrastructure, not another chat feature. Hooks collect bounded observations from prompts, tool use, compaction, and session boundaries. The server then turns that stream into a project wiki and gives the next agent a compact handoff. Because the durable pages are Markdown in a Git repository, a human can read them, search them with ordinary tools, back them up, and inspect their history. SQLite supplies indexing and FTS5, while embeddings are optional.

That design fits a developer who starts a task in Claude Code, continues it in Codex, and wants both agents to know the architecture, rejected approaches, and unfinished questions. The optional managed launcher goes further by maintaining a portable visible-event ledger while resuming each tool's native session. Direct agent launches can still use the lighter hook path. This separation is thoughtful: continuity can be adopted gradually instead of forcing every invocation through a wrapper.

The distinction between historical memory and live code is also explicit. The documentation tells agents to use memory for decisions, rationale, procedures, and failures, then verify code claims against the current checkout. That is the correct boundary. A polished summary can still be old or wrong, and no retrieval score should outrank a build or the source tree.

Local installation is the easy version

The simplest deployment is credible. A Docker container binds to loopback, stores its data in a volume, and can work without an LLM or embedding provider. Two installer commands add the MCP connection and lifecycle hooks for a supported client. The server offers a read-only web interface, and the CLI covers status, search, backups, page recovery, project maintenance, and provider health. Native release archives cover Linux, macOS, and experimental Windows, with Arch packages and source installation as other paths.

Still, this is not a tiny plugin. The Docker wrapper mounts host paths so it can modify client configuration and stage hook scripts. Each supported agent exposes different events and different ways to accept handoffs. Codex lacks an automatic true session-end hook, for example, so the user must run finalize-session when a final handoff matters. Several MCP-only clients cannot provide lifecycle capture at all. Read the support matrix for the exact client you use rather than assuming every logo means equal behavior.

Remote deployment adds the usual service responsibilities. The server does not terminate TLS, so the documented Caddy or Cloudflare Tunnel patterns belong in front of it. Non-loopback use needs bearer authentication and host allowlisting. Teams also need backups that cover the wiki, indexes, configuration, and retained event data. An upgrade on an agent machine refreshes its wrapper and hooks but does not upgrade a separate homelab server. That split is sensible, yet easy to miss.

Automatic capture creates a security job

The convenience comes from recording what agents are doing. User prompts can retain up to 16 KiB, tool excerpts have smaller bounds, and the project supports path-based capture exclusions. Sanitization and limits reduce exposure, but they do not make the stored material harmless. Development prompts and tool calls routinely contain customer names, unreleased features, file paths, and operational clues. Anyone adopting ai-memory should decide what must never be captured, who may query the wiki, how long data stays, and how recovery copies are protected.

Shared-server support is better described as attribution than isolation. Named users get individual tokens and their identity appears in audit records and page metadata. The README is direct that data remains single-tenant and there is no per-page RBAC. Optional per-user memory slots only isolate injected context; exact wiki reads and searches remain project-wide. A consultancy with clients who must not see one another's history needs separate servers or another hard boundary.

Deletion deserves equal scrutiny. Issue #387 demonstrates that deleting a page in v1.25.0 did not remove the session, observations, handoff, backup copy, Git history, or spool entry. A draft pull request now tackles strong per-session deletion across these layers, but it is explicitly held for production-scale testing. Until that work is released and verified, do not market this system as able to forget one conversation completely. Project-level purge is not an adequate substitute when the promise concerns one person or session.

Routing is powerful, but mistakes persist

Project identity can be derived from the current directory, pinned with a marker, or resolved from the repository root. This supports monorepos, worktrees, multiple workspaces, and remote clients. It also creates a failure mode that matters precisely because capture is automatic. Issue #394 reports mid-session commands run from agent scratch directories being assigned to phantom projects such as scratchpad; the reporter found 463 observations from 11 sessions across six real projects in one such bucket. Moving into another Git repository can split one session's raw observations across projects.

The project is responding quickly. New work proposes session-aware routing, exact observation review, and transactional session moves. Those changes show active maintenance, but they also confirm that operators should audit their project list and routing strategy now. Add repository markers where names are ambiguous, consider the repo-root strategy, and verify handoffs before relying on the wiki as a faithful record.

Health and the decision

The repository was pushed on August 16, 2026, and v1.27.0 was published the same day. Its open GitHub count was seven issues and pull requests combined, with several created or updated that day. That is strong evidence of current development. The MIT license is permissive, Rust is the primary language, and the documentation is unusually candid about client gaps, security, recovery, and operating modes.

ai-memory is worth trying when context loss between coding agents wastes real time. Start on one machine, keep the server on loopback, omit paid model providers initially, and inspect what the hooks capture. Its automatic wiki and cross-agent handoffs solve a sharper problem than general-purpose AI memory products. The trade is that you now own a sensitive historical system whose routing, retention, and access model deserve the same care as source control. For an individual developer, that bargain can be excellent. For a regulated or mutually distrusting team, the current deletion and isolation limits are reasons to wait or deploy separate instances.

Alternatives

ProjectWhat it isPick it when
Basic MemoryA Markdown-first knowledge system that exposes manually managed project notes to AI clients through MCP.pick this instead when you want explicit note-taking and editable local files without automatic capture of every coding session.
Mem0A general memory layer for AI applications with extraction, retrieval, and hosted or self-managed options.pick this instead when you are building memory into an application rather than preserving coding-agent work across local tools.
CogneeA data and memory framework that builds searchable knowledge structures for AI applications.pick this instead when your main problem is ingesting varied business data into an application knowledge layer, not agent-session handoff.

What people are saying

  1. [github-trending] akitaonrails/ai-memory

Sources

  1. ai-memory README
  2. ai-memory v1.27.0 release
  3. Issue #394: phantom project routing
  4. Issue #387: strong per-session deletion
  5. Pull request #399: strong per-session deletion implementation