Skip to content

Latest commit

 

History

59 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

membraid

One memory shared by every AI agent you use, on every machine, stored as plain text in a git repo you own.

The problem

Claude Code, OpenCode, Grok, Hermes: none of them talk to each other. Tell one agent how you like things done and the next one has never heard of it. Switch machines and you start over. Come back to a project on Thursday and nobody remembers where Monday left off.

membraid is one brain behind all of them.

Where it sits

The agent-memory shelf splits by what each tool assumes, and that is the honest line between membraid and its neighbours:

  • Engram assumes a repository. Memory lives next to the code, keyed per project, and a coding session starts with that project's summary.
  • Honcho assumes a product. Memory is a model of each end user, built by an LLM from the conversations that user had with the product's assistant.
  • membraid assumes one human running everything. A single vault across every harness, every project and every machine, in files the human owns, with no LLM in the loop.

That difference also names membraid's weak spot. Honcho and Engram deliver memory without the agent asking - a distilled context, a session summary - while membraid's own retrieval waits for the agent to search. The gap is delivery, not storage: getting what matters in front of the model at session start is the work that decides whether the vault earns its place.

What it does

  • One answer per subject. A memory written with a key (deploy.target) replaces the previous answer instead of piling up beside it. The old one stays in history with the agent that wrote it.
  • Where you left off. Unfinished work is recorded as a task, shown until an agent marks it done.
  • Sessions start informed. A short digest (open tasks, recent facts for this project) is put in front of the model before your first message.
  • Every machine, via your own git remote. The vault is a git repo. membraid pushes after writes and pulls when a session starts. Each machine appends to its own log file, so machines never conflict over memory.
  • A bar widget for Omarchy: where you left off, your memories and projects, knowledge locations, how memory is being used, and settings, including setting up a harness.
  • Knowledge locations: point agents at folders, git repos or web pages (membraid source add), with who can reach each; membraid records where knowledge is, never what is in it.

Supported harnesses

Harness MCP tools Digest at session start Agent skill
Claude Code yes yes yes
OpenCode yes yes yes
Codex yes yes (a SessionStart hook you trust once with /hooks) yes
Copilot CLI yes yes (a sessionStart hook, which also carries the server instructions) yes
Crush yes yes (in the MCP server instructions) yes
Cursor CLI yes yes (a sessionStart hook; not yet tested in a live session) yes
Gemini CLI yes yes (in the MCP server instructions, in folders you trust) yes
Grok yes yes, from a terminal (a grok shell function; bash and zsh) yes
Hermes yes yes yes
Pi through a Pi extension (Pi has no MCP) yes yes
Anything else any MCP stdio client: membraid mcp --source NAME
Scripts, cron the membraid CLI

Install

On Linux or macOS:

curl -fsSL https://github.com/shockalotti/membraid/releases/latest/download/install.sh | sh
membraid install

The script downloads the build for your machine from the latest release, checks it against the release's checksums, and puts it in ~/.local/bin. MEMBRAID_LITE=1 picks the lite build, about 8 MB smaller, which searches by meaning through Ollama only. On Windows, download membraid-windows-amd64.exe from the release. With Go 1.27 or newer, go install github.com/shockalotti/membraid/cmd/membraid@latest works too.

Later, membraid update replaces the binary with the newest release, checked the same way (membraid update --check only looks).

install detects your harnesses, asks which to set up, shows exactly what it will change, and does it. It is safe to run again.

To share memory across machines, give the vault a private git remote:

cd ~/.membraid/vault
git remote add origin git@github.com:<you>/membraid-vault.git
git push -u origin main

Never store secrets. Memory syncs to a git remote. Agents are told not to record passwords, tokens or keys; do not ask them to.

Thirty seconds with the CLI

membraid write "deploys to Railway" --kind project_param --key deploy.target
membraid write "deploys to Fly.io" --kind project_param --key deploy.target
membraid get deploy.target        # project_param  deploys to Fly.io  [id 7c1e...]
membraid history deploy.target    # both answers, newest first
membraid search "deploy"
membraid status                   # open tasks and recent memory
membraid context                  # the digest an agent starts with

Scope follows the git project you are in; --scope shared makes a memory visible everywhere.

Status

Early. Used daily by its author across two Linux machines and four harnesses.

  • Linux is tested. Windows builds but is untested.
  • Search is keyword full-text by default. Semantic search is optional and local: EmbeddingGemma through Ollama, or a model built into membraid.
  • Ranking by use is in: memories agents report relying on rise, and ones nobody uses fade (how). So are sweep and distillation.

Docs

  • Getting started: install, scopes, sync, what an agent actually sees
  • v1 scope: what is built, what is next, and why
  • Spec: the full design reference

License

Apache-2.0.

About

Shared memory across AI agent harnesses, machines and time

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages