Most memory tools accumulate until retrieval degrades; here every edge decays exponentially and only replayed connections survive, so the graph stays shaped by what you keep coming back to. The contradiction handling is the other unusual bit — a concept landing near an existing `contradicts` edge gets a salience boost specifically so it isn't quietly decayed away before anyone looks at it.
A memory server modelled on how sleep shapes human memory. It extracts concepts from conversations into a knowledge graph with typed edges, scores each one for how much it should survive, and runs offline cycles that strengthen important connections, propose new associations, and surface conflicts. The author calls it a working prototype rather than production software.
- `memory_store` ingests conversation text and extracts concepts and relationships; `memory_retrieve` queries the graph and returns ranked results with their connection context
- `memory_dream` runs a full cycle — NREM replay strengthens high-salience edges and prunes weak ones, REM random walks propose links between nodes that are semantically close but unconnected, a waking gate re-tests those at a stricter threshold, and a threat pass flags `contradicts` edges
- `memory_dream_report` returns a readable narrative of the last cycle
- `memory_goals` manages declared research goals, which then bias what gets consolidated
- `memory_status` gives node and edge counts; `memory_stats_detailed` breaks down appraisal per node, top edges, contradictions and dream-created edges
- `memory_tune` adjusts parameters at runtime, such as `dream.rem_jump_probability`
- A 3D force-directed viewer over the graph, served locally, with nodes sized by consolidation score and edges coloured by relationship type
Python 3.11 or newer and an Anthropic API key — concept extraction is done by a model, so put `ANTHROPIC_API_KEY` in a `.env` file. Clone the repository and run `uv sync`, then point your client at the virtualenv's Python running `-m mind`, with `PYTHONPATH` set to `src` and `cwd` set to the project. The graph persists at `~/.neuroplastic-memory/graph.json`, goals at `goals.json` and the last dream report alongside them, so memory is shared across every conversation unless you scope it to a project.
One command plus a key — uvx mind, then supply credentials
