A control panel on localhost.
Search memory, browse the wiki, approve learnings, rate what got injected, and watch capture freshness and sync age.
Built by Rohith, Chandan and Sushmita
Claude Code, Cursor, Codex and the rest forget everything when a chat ends, and none of them know what the others learned. I remember for all of them.
Built by Rohith, Chandan and Sushmita
Scroll
Decide something in Claude Code on Monday, and Cursor already knows it on Tuesday. So does your other laptop. You never explain your project twice.
When you install me, you choose: start with the work you've already done with AI, or start fresh. It stays on your computer, and you can delete any of it.
No account, and no server of ours. Free and open source.
Built by Rohith, Chandan and Sushmita
Most AI tools forget everything when the chat window closes. I don't.
Conversation 1 · Mon 10:14
Decisions, fixes and preferences become memories, tagged with the project they belong to.
Conversation 2 · Tue 09:02
A start-up hook hands the model a briefing of this project's recent history: at most 2,000 tokens, ready in 84 ms (p50).
Conversation 2 · Tue 09:20
Over MCP, any connected tool can recall, save and load context on demand. A recall over 10,000 memories takes 28 ms (p50).
Conversation 3 · Wed · other laptop
At start-up I quietly merge in what your other machines learned, so the briefing is the same everywhere.
Let's drop Redis. Sessions live in SQLite.
Agreed. Removing the Redis client.
Also, always use pnpm in this repo.
SessionStart · agentic-brain · 84 ms What happened in api (newest first): - Tue bugfix token refresh race in auth.ts - Mon decision sessions live in SQLite, no Redis - Mon pref always use pnpm in this repo Pinned: deploy runs from main only
→ brain_recall("why did we drop redis", project: "api")
brain_recallbrain_rememberbrain_contextload-my-brainSessionStart brain merge pulling from your private repo… + 38 memories from MacBook Pro briefing same as your other machine
Folders
Each memory is tagged with the repo it came from, found by walking up to the nearest .git. It works the same in every tool.
You open ~/code/web
The briefing is "what happened in this repo". Its pinned items come first, then pins from anywhere.
Across folders
A map of up to 20 projects lives in your global CLAUDE.md, AGENTS.md and GEMINI.md. Recall can search one project or all of them. A brand-new repo hears: "Other projects are still searchable."
What happened in web
- Wed decision move forms to server actions
- Tue bugfix hydration error on /pricing
Pinned (web): staging deploys need a VPN
# ~/.claude/CLAUDE.md · BRAIN:START
Projects: api · web · infra · 17 more
Active this week: web, api
Recurring: auth, deploys, SQLite
Every project, and the ideas that connect them. Hover, drag, click.
I know your decisions, your code and your mistakes. That shouldn't sit on anyone else's server.
Who I belong to
I travel as one age-encrypted blob, a Release asset on your private repo.
My key lives only in your Keychain. A leaked repo or a leaked token exposes nothing readable.
Why a Release asset and not git? The blob is replaced on every sync. Release assets are replaced in place and don't touch the LFS quota.
Every memory, from every tool and every project, in one place on your own machine.
Sessions live in SQLite; Redis only served the old job queue
EditPinnedDeleteRemoved Redis health check from deploy.sh
EditPinDeleteWhen a cache layer is removed, also remove its health checks and env vars
ApproveDismissRun migrations before seeding in CI
Helpful ×6Not helpfulbrain remember saves something by hand. brain recall searches from the terminal.brain export writes every project to plain JSONL with a README.By morning I know more than I did, and I've thrown away what didn't matter. Here's the loop I run, every day.
How I work
I read your Claude Code, Codex, Antigravity, Cursor and Kilo Code sessions, first the history already on your machine, then each new one as it happens, into one local SQLite store on your machine.
While you sleep, brain dream turns what I heard into a wiki I keep rewriting.
When you finally fix something hard, I draft the lesson for you to approve.
I rank by relevance, then by proof: how often a memory was used, and whether you said it helped. What misleads you sinks.
Before you type, I write a ~2,000-token briefing into CLAUDE.md, AGENTS.md and
GEMINI.md, inside my own markers. I never touch your text.
brain eval quizzes me on your own history. If a change makes me remember worse,
it doesn't ship.
On a public long-term memory benchmark, this is how I score.
LongMemEval-S: Claude reader and judge, k=40 rounds with pseudo-relevance feedback and deep recall (GPT reader: 90.0%). LongMemEval-M: gpt-6-luna reader and judge, same search.
How I compare
LoCoMo asks questions about long conversations. Here is my score next to giving the same model the whole conversation, and next to the best published memory product.
Open Agentic Brain and Memory and whole conversation: measured by us on the same model (gpt-6-luna answering and judging), all 1,540 questions; with Claude Sonnet answering, Open Agentic Brain and Memory scores 81.8 at 20 memories. *Industry best: the highest score of any memory product in the widely cited 2025 LoCoMo comparison, which used gpt-4o-mini to answer and to judge. Different models, so read that comparison as direction, not a like-for-like race.
Claude Sonnet reader, LongMemEval's own judge prompts, k=40 rounds with pseudo-relevance feedback and deep recall. The right evidence was in the model's context for 99.6% of questions. Same search with a GPT reader (gpt-6-luna): 90.0%.
The large LongMemEval variant: about 2,500 conversation rounds and 1.27M tokens behind every question. gpt-6-luna answering and judging, deep recall, 40 memories; about 19k tokens read per question. The same setup scores 90.0% on the smaller LongMemEval-S.
How I got better
Nothing about how I search ships on a hunch. Each of these was measured before and after, on the same questions.
Better answers from fewer tokens: the model reads what matters, not everything.
LongMemEval-S
About 31.7k tokens of retrieved memory instead of the 127.6k-token history, and 94.2% of answers still right.
LoCoMo
About 3.7k tokens instead of the 20.8k-token conversation, at 86.6% answer accuracy: 97% of what reading the whole conversation scores.
Every session start
With 10,000 memories, pasting everything would cost 1.13 million tokens. The context I hand over is about 1,300: 99.88% smaller. The start-up briefing is capped at 2,000, so tools that cut off long start-up messages never drop the end.
Savings meter
Each time a memory saves a tool from redoing work, I log the tokens that work cost, minus what reading the memory cost. Each memory counts once a day, and never below zero.
Tokens read per question · same 500 questions
Tokens read per question · 1,540 questions
Tokens to load context · 10,000-memory store
But "supported" can mean three different things. Here they are, kept apart.
Where I live
"Supported" means three different things. Here they are, kept apart.
| Tool | Capture | Push | Pull |
|---|---|---|---|
| Claude Code | native | CLAUDE.md | MCP |
| Codex CLI + app | parser + watcher | AGENTS.md | MCP |
| Antigravity CLI | history + watcher | GEMINI.md | MCP |
| Cursor | local store | per-repo AGENTS.md | MCP |
| Kilo Codebeta | session parser | AGENTS.md | MCP |
| Claude Desktop | server-side | none | MCP |
| ChatGPT desktop | by choice | none | MCP |
Capture sessions flow back in. Push a digest the tool auto-loads, always present. Pull the model can search memory when it decides to.
A few more things about me
Search memory, browse the wiki, approve learnings, rate what got injected, and watch capture freshness and sync age.
Switching from another memory tool? One command imports your whole history, read-only and verified, wires every tool, and can be undone.
Shipped skills that pull context before work and write decisions back after it.
brain sync on one laptop, brain restore on the next. brain merge reconciles memory from more than one.
Every write path is idempotent. Injection lives inside BRAIN:START/END markers, and MCP wiring is additive: it never touches entries it didn't create.
Settings are redacted before commit, and memory, wiki and learnings are encrypted. Skills and agents stay plaintext so they stay portable.
Hosted memory products are good, and easier to set up. Here's the trade, and what I can't do yet.
Hosted memory vs. me
Hosted products solve a real problem well, with zero setup. Here is the trade, including the rows where this side pays.
age keyWhat I can't do yet
One command wires every tool on your machine, creates your private data repo and generates my key. Then I start with the work you've already done.
curl -fsSL https://raw.githubusercontent.com/rohithhn/Open-Agentic-Brain-and-Memory/main/install.sh | bash