akitaonrails / ai-memory
git clone https://github.com/akitaonrails/ai-memory.git
v3.1.2 · today
🔥 on GitHub Trending today
Solution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors
+902
stars, 24h · #11
+2.0k
stars, 7 days · #40
+4.0k
stars, 30 days · #87
12k
★ total · +20% this week
844
forks · 7 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseMIT
Created2026-05-21 (5mo ago)
Last pushtoday
Watchers58
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #2 daily in rust · +902 ★
- 2026-10-20 — #12 monthly in rust · +3,957 ★
- 2026-10-20 — #2 weekly in rust · +1,976 ★
Links
README excerpt
> Long-term memory for AI coding agents. Quit Claude Code mid-task, > start OpenAI Codex in the same directory, continue without > re-explaining the architecture, the failed approaches, or the open > questions. **Website: aimemory.sh** ## Why ai-memory Your coding agent probably has a memory feature already. Claude Code takes its own notes, Cursor remembers some things, and every platform is adding more. They all have the same limits: the notes live on one machine, belong to one agent, and drop out of view when you switch tools or hand the work to a teammate. ai-memory removes those limits. - **It follows you across agents.** More than twenty harnesses (Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Grok, Devin, Kimi, Kiro, and others) feed one shared memory. Quit Claude Code mid-task, open Codex in the same directory, and the next agent picks up a handoff that says where you left off, what failed, and what is still open. Handoffs are a typed protocol: each one has an owner and is claimed exactly once. - **It can carry the session, not just a summary.** Start agents with `ai-memory run`: quit Claude Code, run `ai-memory run codex`, and Codex gets the shared workstream plus a private, temporary local projection of Claude's visible native history for exact details the bounded startup packet omitted. The remote server receives only the harness and session identity, never the local transcript path or body. Direct harness launches behave exactly as before. - **It follows you across projects.** A small profile of how you usually work (your package manager, test layout, architecture habits) reaches every new repository at session start, so you stop re-explaining yourself. It sits below each repository's rules file as a default. It is on by default for a single user, and on a shared server it is opt-in and private per person. See `docs/cross-project-profile.md`. - **It follows you across machines.** Memory lives in a server you run, on the same laptop, a homelab box, or anywhere else, so the project you left on the desktop is the project you resume on the laptop, with the same knowledge and the same open questions. - **It works for a team.** Point everyone at one server, and what one person's sessions learn, everyone's agents can retrieve. Knowledge is shared per project; personal handoffs stay personal. Multi-user auth, per-person attribution, and an audit log are built in and are not a paid tier. - **Your memory is plain markdown.** The source of truth is a git-backed wiki of ordinary `.md` files: `grep` it, open it in Obsidian, edit it by hand, `rsync` it. The database is a derived index that can always be rebuilt from the files. There is no vector store to maintain and no content locked in a binary blob. - **It captures the work itself, silently.** Lifecycle hooks record what happened (prompts, tool calls, session boundaries), sanitize it at a typed privacy boundary before anything is stored, and the server consolidates