Repository navigation
Projects
A project is one whole memory: its own memories, domains, relations, diagrams and settings, in one SQLite file. Keep a single project for everything, or one per codebase and switch between them.
| file | project |
|---|---|
MEMAI_HOME/memai.db |
General, the one every install starts with |
MEMAI_HOME/projects/<name>.db |
every other project |
MEMAI_HOME/active |
one line naming the active project; absent means General
|
The switch is in the dashboard's top bar. Every MCP server, hook and dashboard on the machine opens the active project on its next call — nothing to restart.
Important
The active project is machine-wide. Switching it in the dashboard
switches it for every open session. Each write's result and every pulse()
name the project they touched, so an agent can tell where its memory landed.
list_projects() lists them all and says which one is active. Any name that
works as a Windows file name works as a project name, and two names that
differ only in case are the same project.
| from | how |
|---|---|
| the dashboard | select memories in Memories, or a whole domain in Domains, then Send to another project |
| an agent |
move_to_project(target, uids=… or domain=…, dry_run=True) — dry run first, then dry_run=False
|
| a terminal | memai-store move --to <project> --domain acme/search |
A move copies each memory with its edit history into the target, checks it there, and only then removes the original — after a backup of the source. Anything the copy cannot carry, like a relation to a memory outside the selection, is reported before anything moves.
Home · Getting started · Troubleshooting · Changelog · MIT licence
Getting started
Concepts
Guides
Reference